We are creating a directory of programs and we thought that using CiviMember would be the best way to approach it. Mainly because many of the programs are housed at other organizations/departments and we would want them to submit to the directory. We decided that the programs would register their programs as organizational members.

One website that uses Civi and is an example of what we are trying to accomplish (partly) is https://www.escr-net.org/members - Instead of Region and Workgroup, we would have something like Category and Age Group, or something along those lines, using custom fields. Similar to the ESCR directory, as a visitor to our site, you would be able to search and click to learn more about the different members.

We also thought membership would be a good approach as we can set expiration dates and have programs update their information when they renew their membership.

Is membership the right approach for what we want to do or is their a better option. Maybe CiviVolunteer?

Using Drupal 7 and Civi 5

Clarification on Programs This is a University Office that is seeking to list all the public programs that other university offices and departments offer.

We also want each department to submit a public program profile, that we will request to be updated yearly. Some of that info will be public, the rest will be private.

Side note: We know we are going to have to work with a consultant to get this working the way we want it, but we wanted to see what the possibilities were, esp since we have seen other CiviCRM orgs do similar.

  • 1
    Can you edit your question to include what CMS you are using? Depending on the CMS solution options may be different.
    – KilakwaBT
    May 17, 2018 at 21:28
  • Could you explain a bit what a program is? I read "Programs register their programs" and that sentence confused me so much that I find it hard to answer your question. May 18, 2018 at 6:35
  • Updated to clarify programs and CMS CRM versions
    – themak
    May 18, 2018 at 22:12

2 Answers 2


I would say that programs should either be:

  • A contact subtype.
  • A custom entity (defined by an extension).
  • Not stored in Civi, but in the CMS (assuming Drupal or Backdrop) - and use Entity Reference to connect it to Civi.

Memberships/Volunteers seem like we're stretching the paradigm a little thin.


Agree with Jon G that if you do need to handle it in CiviCRM a contact subtype makes most sense (assuming you do not want to develop, if you do a custom entity in an extension might make just as much sense). And then possibly CiviCase to handle the actual steps in a program (if there are any)

  • I'm not sure this adds anything which isn't covered by Jon G's answer - it strikes me as more of a comment on Jon's answer rather than an answer itself. May 18, 2018 at 16:35
  • 1
    I am truly sorry, I will never do it again :-) May 19, 2018 at 12:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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