Skip to content

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_range for membership period date ranges

These are declared in crm_membership.info.yml as module dependencies.

Installation

  1. Install the module as you would any contributed Drupal module (Composer, or download and place in modules/contrib).
  2. Enable the CRM Membership module at Administration → Extend.
  3. 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

  1. 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.
  2. 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.
  3. Activation — New memberships are automatically activated when saved for the first time; the term plugin’s activate() method creates the initial membership period(s).
  4. 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.