Skip to content

Configuration

Config entity schema

Membership Type is a config entity. Its schema is defined in config/schema/crm_membership.schema.yml:

Key Type Description
id string Machine ID of the type.
label label Human-readable label.
description text Optional description.
default_target_contact string (nullable) Default target contact (e.g. CRM contact ID).
membership_term string Membership Term plugin ID.
membership_term_config sequence (nullable) Plugin-specific configuration (sequence of values; structure depends on the plugin).

Schema prefix: crm_membership.crm_membership_type.*. The membership_term_config sequence uses type: ignore so that plugin-specific config is not validated by the schema; plugins define their own form and config shape.

See Plugin configuration reference for per-plugin keys.

Module settings (planned)

A menu link in crm_membership.links.menu.yml points at route crm_membership.settings (Administration → Configuration → System → CRM Membership), but the route, form class, and install config are not implemented yet. There is no crm_membership.routing.yml or SettingsForm in the codebase.

Module-wide settings will be added in a future release. See Roadmap.

Permissions

Permissions are defined in crm_membership.permissions.yml and appear under People → Permissions.

There is no dedicated “create memberships” permission. Creating memberships requires administer crm_membership via the entity’s admin_permission.

For the full permission list, entity access handlers, operation matrix, and recommended roles, see Access control.