Getting started
Requirements
- Drupal 11.1 or later
- PHP 8.3+
- CRM (drupal.org/project/crm) — provides Contact entities and integration
- Duration Field (drupal.org/project/duration_field) — used for term plugin configuration (e.g. membership duration)
- Datetime Range (Core) —
core:datetime_rangefor membership period date ranges
These are declared in crm_membership.info.yml as module dependencies.
Installation
- Install the module as you would any contributed Drupal module (Composer, or download and place in
modules/contrib). - Enable the CRM Membership module at Administration → Extend.
- Run any required Drupal updates if prompted.
See Installing Drupal modules for detailed instructions.
Admin UI
After installation:
| Task | Path |
|---|---|
| Membership types (structure) | Administration → Structure → CRM → Membership Types |
| Memberships | CRM portal → Memberships (/crm/membership) |
| Membership periods (global CRUD) | CRM portal → Memberships → Membership periods (/crm/membership/periods) — requires administer crm_membership |
Periods are usually viewed per membership via the optional View (recommended for staff):
| Task | Path |
|---|---|
| Membership periods (per membership, optional View) | /admin/content/crm/membership/{crm_membership}/all-periods — admin Content path; also via the “Membership periods” operation on the membership list |
See Membership periods UI for when to use each path.
Typical workflow
- Create membership types at Structure → CRM → Membership Types. For each type, choose a Membership term plugin (Fixed duration, Rolling duration, or Lifetime) and configure duration and options. See Plugin configuration reference.
- Add memberships at CRM portal → Memberships. Select one or more contacts (the members), a target contact (“Member of”), and optionally override start/end dates; otherwise they are calculated from the type’s term plugin.
- Activation — New memberships are automatically activated when saved for the first time; the term plugin’s
activate()method creates the initial membership period(s). - Permissions — Configure who can view, edit, renew, or delete memberships under People → Permissions (search for “CRM” or “membership”). See Access control.
For form details and renewal, see Forms and workflows. For entities and the plugin system, see Architecture and Plugin system.