How was this made with CiviCRM?

Introduction #

This page contains videos that explain how the setup for the membership portal is done in CiviCRM. It assumes you are already familiar with CiviCRM and also with Drupal 9 (or 10). The membership portal is made in Drupal 10. If you are not familiar those videos may be difficult to follow. It would be best to have first a look at the perspective from the member and back office.

We do not claim to show you the best or only solution for the required functionality in the videos. There are likely to be plenty of other options available to achieve the same goals, and probably even better ones. The videos intend to give an impression how different requirements can be achieved through the use of CiviCRM and other tools.

Plugins and extensions #

Drupal modules for the membership portal #

  • Views
  • Token
  • CiviMRF Core, CiviMRF stands for CiviCRM McRestFace a module providing connection to external civicrm installations.
  • CiviMRF User Sync, a module for synchronizing users from CiviCRM.

CiviCRM extensions #

  • CiviRules is a extension for automating task when data in CiviCRM changes. We will use this extension for creating a portal user as soon as a new membership is added. And we use this to remove a portal user as soon as the end date of the membership is reached.
  • Change Messages is a extension for recording changes which can then be pulled by another system. We use this to record changes to portal users (such as a new portal user, email address changes, or a portal user is removed). The Drupal Portal will then pull those changes and either create, update or cancel a user account.
  • Portal User Management is a extension to create portal users in CiviCRM.
  • Data Processor is a extension to create API’s and searches. We use this create an API for the my profile page in the portal and for the member directory.

Membership Types #

In our scenario we use the membership types from the CiviCRM Demo data. Which consists of a Lifetime membership type, a general membership type and a student membership type.

CiviCRM Configuration: CiviRules and Change Message Queue #

Below two videos explaining how to create a portal user as soon as a membership is added. And how to disable a portal user account as soon as the end of the membership is reached.

At the end a video is shown on how to configure the change message queue which is used for synchronizing users to the porta.

CiviRule: add a portal user when a membership is created #

The video below explains a how civirules is configured to create portal users automatically when a membership is added to CiviCRM.

CiviRule: remove portal user when a membership expires #

The video below shows how to configure civirules to cancel a portal user account a day after a membership expired.

Change message queue #

The video below shows how the change message queue is configured. The change message queue is used to keep track of all changes to portal user records, such as new records, changed email addresses, changed roles and or removed portal user records.

The portal will read this queue and process the messages in this queue and the create, update or cancel a user account.

Portal configuration: CiviCRM Connection and User Sync #

Below two videos. One for configuring the connection to CiviCRM at the portal site. The other one shows how to configure the User Synchronisation.

CiviMRF: configure CiviCRM Connection #

The Drupal module for connecting to CiviCRM from the portal is called CiviMRF. Which is short for CiviMcRestFace. In the module we need first to configure a connection and then a profile.

How to create an API key can be found in the CiviCRM Administrator Guide.

The Site Key of CiviCRM can be found in the CiviCRM.setting.php.

The video below shows how this is done.

CiviMRF: User Synchronisation #

Below a video on how to configure the user synchronisation at the portal site.

My Profile #

Below a video on how to configure CiviCRM to provide my profile details to the portal and a video on how to use this in Drupal Views.

The data exposed in the my profile are the name, address, phone, e-mail address, membership type and membership status.

CiviCRM Data Processor: My Profile #

The video below shows how to create a data processor in CiviCRM to list the personal profile of a logged in portal user.

Drupal Views: My Profile #

The video below shows how to create a view for my profile. It first shows to provide the data processor as a data source for the views module.

Member directory #

Below a video on how to configure a CiviCRM Data Processor for the member directory. And a video on how to use this member directory data processor as a data source for the view in Drupal.

CiviCRM Data Processor: Member Directory #

The video below shows the configuration of the data processor for the member directory.

Drupal Views: Member Directory #

The video below shows how to create a view for the member directory. It first shows how to add the data processor member directory as a source for the views module.