3

Consider this case:

We manage a very very long hiking trail across many states. It's divided in 20 sections. To get the digital maps, section coordinator contacts, section emergency alerts, section online updates, right to access private land, people have to signup and select as many sections as they want during the signup process. For each section there will be specific email sent and online content available (1 page per section to start with, maybe a blog + forum + chat per section in the future). Some hikers might decide they need them all. Some only need a couple of the sections.

Hikers are then subscribed to the selected sections for 1 year, renewable. There is a specific cost associated per section. They pay for the total + a national annual membership fee.

Can we use CiviCRM for this purpose? It's mostly online digital subscription which is close to the concept of membership, IMHO. But I'm not clear on the data mapping and which entities to rely on.

Is each of the 20 section a different membership type? Or a different price in a price set? or a different priceset?

Should we use CiviRule to add contact to groups based on the membership types they selected (or priceset element?) Creating 20 membership types seems overkill, isn't it? Do I have to then create 20 organisations in CiviCRM to map the 20 sections?

I've used CiviCRM in the past for traditional NGO, so I'm keen to also reuse all the other features too. I have development background and will hire Drupal devs to help out.

  • 1
    Recommendation you find Drupal devs who "get" civicrm – petednz - fuzion Nov 15 '17 at 19:01
1

Very cool!

I think this has webform civicrm written all over it;

First thoughts:

20 Membership types -> 20 checkboxes on one webform + annual fee; inject specific waivers based on Membership type selection(s)

All on one multi-page form!

Use Membership Role Sync to map Memberships to Drupal Roles so you can use Drupal access/permissiom to give hikers access to maps for specific sections from their /user account;

Those are just first thoughts - you can totally get very far native Drupal/CiviCRM on this.

  • can I use webform to get user to register with email and password? The website will be a member access only (private). So the homepage would have the login prompt and a link to the signup page. The signup page will collect user details, member profile, annual membership + section memberships? I read this "Can't be (easily) embedded on the user/register or account pages" on docs.civicrm.org/sysadmin/en/latest/integration/drupal/webform. That is why I worry about webform. Alternative: docs.civicrm.org/user/en/latest/membership/… but can't make it work – VinceMD Nov 21 '17 at 9:44
  • For all our sites that give you privileges - we use the native Drupal account /user/register form; key advantages are: all your favourite and native Drupal SPAM protection options (like Honeypot or reCAPTCHA module e.g.) will work; you can build out an approval workflow; where you can decide on auto-register or admin-eyes approval; – KarinG - Semper IT Nov 21 '17 at 15:33
  • 1
    Drupal user account generation will verify email addresses by asking the users to click on a link emailed to them to set their passwd; Once they have done that -> auto-assign them a role 'authenticated user' -> make a menu item for your webform_civicrm form -> assign permissions to 'authenticated user' able to view and submit the form - you will be able to control who accesses your signup page (Profile, Membership selections, Annual fees) - and you will have a lot less SPAM to worry about; – KarinG - Semper IT Nov 21 '17 at 15:35
  • 1
    So from a user's perspective: register for an account -> they provide username + email addresses -> they get a link to set their passwd -> they get a welcome message -> they are able to view your webform_civicrm signup page. – KarinG - Semper IT Nov 21 '17 at 15:36
0

An alternative approach which could be CMS agnostic could be to make each 'section' just a field, make a smart group for each field. and then see if CiviRules can be used either on the Field or on the Group to trigger an email. No membership involved

  • I think I'd like to rely on membership because of the membership status, email for renewal and all the CiviCRM automation that comes with something that has a start date and end date. – VinceMD Nov 16 '17 at 10:33
  • And the automatically sync Membership w/ Drupal role to control access/permissions for maps/assets – KarinG - Semper IT Nov 16 '17 at 14:44
  • Yep think i read the Question too quickly. I might just remove this answer. I really did not see the Q had CiviRules already in it, so seems I failed to add anything useful. – petednz - fuzion Nov 16 '17 at 18:02
  • on second thought. When someone wants all 20 sections (happens with long distance trekker), they will get 20 membership renewal, 20 things to manage. Whereas if there was a national membership + section field, then it's one membership to manage but user has got to select sections in forms of options. I'm what I'm wondering if CiviCRM can we still process the payment (say $30 for memberhsip + $10*20 sections = $230). And when they renew a year later, they can be charged automatically the same amount (membership + section) or change the fields/options and get a different amount. Possible? – VinceMD Nov 16 '17 at 20:48
  • if All is a common option, then sell that as a separate Membership type. But I agree, for anyone buying multiple 'sections', having multiple Membership to renew is a pain. So back to a price set (and some JS to correlate this to a custom Membership field with your 20 options - that way they get to change it each year. You can then build Smart Groups off that Custom Field, and hence use the Group -> Roles synch if that matters in terms of the 'access' to documents? – petednz - fuzion Nov 16 '17 at 21:56
0

"Do I have to then create 20 organisations in CiviCRM to map the 20 sections?" No. All Membership Types can belong to the one Organisation.

0

Can we use CiviCRM for this purpose? It's mostly online digital subscription which is close to the concept of membership, IMHO. But I'm not clear on the data mapping and which entities to rely on.

Yes - Membership is a good entity to use in this case. People have used it in the past for subscriptions to magazines amongst other things.

Is each of the 20 section a different membership type? Or a different price in a price set? or a different priceset?

It is hard to recommend a specific model without knowing more about the workflows that you want to support. Sounds like you are doing this already but my advice would be base your decision on what best supports these workflows. What combination of entities allows you to make a smooth sign up form, and allows you to do the reporting you want.

Some basic prototyping and testing to see if you can get the results you need would make sense (like you are doing with Karin in the comments below :). Feel free to open new questions with on more specific topics.

Should we use CiviRule to add contact to groups based on the membership types they selected (or priceset element?)

Only if it supports your desired workflow.

Creating 20 membership types seems overkill, isn't it?

Not necessarily.

Do I have to then create 20 organisations in CiviCRM to map the 20 sections?

No.

I've used CiviCRM in the past for traditional NGO, so I'm keen to also reuse all the other features too. I have development background and will hire Drupal devs to help out.

Any reason why you wouldn't want to hire CiviCRM devs?!

  • I will hire CiviCRM devs if required. I guess the more I can do out of the box myself, via configuration, the better. Once I'm stuck I'll hire a developer. I think it's good to prototype first and select the best model – VinceMD Nov 28 '17 at 8:03
  • Sounds good. Just to be clear, my last point was about hiring CiviCRM devs instead of Drupal devs, rather than hiring devs in general. – michaelmcandrew Nov 29 '17 at 17:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.