Create a Reusable QCMM Custom Field and Stable Field Key
Create a field title/key/description and understand the stable machine key used by storage, email tokens, reporting, and future edits without regenerating keys from labels.
This guide follows the accepted QC Memberships & Meetings 2.0.21 implementation and applies to Max / All Access; administrator. This category covers Max Custom Fields and fulfillment plus Plan Resources: subscription-specific field snapshots, customer/admin editability, Plan-specific Fulfillment Editor authorization, and protected member resources. When older walkthrough or project-manual wording conflicts with 2.0.21 source or later accepted Authorized-Domain behavior, the current implementation takes precedence.
Before You Begin
- Design Custom Fields around information that belongs to a specific purchased subscription rather than the Joomla user globally.
- Decide which values the customer enters at checkout, can view later, can edit in Member Area, or require administrator/Fulfillment Editor completion.
- For protected Downloads, verify the resource belongs to the intended Plan/group and use QCMM delivery rather than exposing the storage path directly.
Current QCMM Behavior
| Item | Current behavior |
|---|---|
| Custom Field entitlement | Max / All Access |
| Input types | text, textarea, select, radio, checkbox, date, repeating_text |
| Layout items | title, divider, spacer |
| Storage model | Subscription-specific snapshot; multiple subscriptions for one user remain independent |
| Plan Resources | Link, Documentation, Download; protected Download authorization is handled by QCMM |
Step-by-Step Workflow
- Open Reports and select the report type that matches the underlying operational question.
- Apply the smallest useful date, Plan, status, payment-method, source, or search filters.
- Compare at least one on-screen row with its underlying subscription/billing/credit record.
- Export CSV and confirm the filtered set and report-specific columns match the screen; check appended Custom Field columns where applicable.
- Refine filters rather than assuming an empty result means the underlying data was removed.
a Reusable QCMM Custom Field and Stable Field Key
Create a field title/key/description and understand the stable machine key used by storage, email tokens, reporting, and future edits without regenerating keys from labels is part of the current QCMM 2.0.21 behavior. Treat the stored QCMM record and server-side authorization as authoritative: frontend controls guide the user, but QCMM still validates identity, ownership/access, current object state, entitlement, and request integrity when an action is submitted.
Subscription-specific information should stay attached to the purchased membership that owns it. This is why Custom Field values, fulfillment state, and member resource access are evaluated in subscription/Plan context rather than as one global value on the Joomla user.
Current Details That Matter
- Custom Fields are Max/All Access and support text, textarea, select, radio, checkbox, date, repeating_text, plus title/divider/spacer layout items.
- Values are subscription-specific snapshots; multiple subscriptions owned by the same Joomla user remain independent.
- Basic supports plain-text email, Pro+ supports HTML, and administrator-created trigger/recipient/Plan-scoped Custom templates require Max/All Access.
- Core and Custom templates are additive; not every internal Core metadata event is selectable when creating a new Custom template.
- Reports/CSV require Max/All Access and include nine current report types; applicable subscription-backed exports append Custom Field values as extra columns.
How This Fits into QC Memberships & Meetings
This category covers Max Custom Fields and fulfillment plus Plan Resources: subscription-specific field snapshots, customer/admin editability, Plan-specific Fulfillment Editor authorization, and protected member resources. A reliable QCMM configuration keeps Joomla authoritative for users, groups, access levels, sessions, mail transport, and Scheduled Tasks while QCMM owns Plan, subscription, billing, scheduling, Meeting, Custom Field, resource, and member-facing state.
For Create a Reusable QCMM Custom Field and Stable Field Key, verify the behavior with the role that will actually use it. Administrator, member, Host, and Fulfillment Editor experiences intentionally differ. A successful test as Super User does not prove that a normal user has the correct ownership, access, timing, or feature entitlement.
Permissions, Entitlement, and Data Safety
- Joomla menu access, QCMM object ownership/access, role-specific permissions, and commercial feature entitlement are separate checks.
- QCMM re-authorizes state-changing requests server-side; never treat a visible or hidden frontend control as the security boundary.
- Do not expose PayPal credentials, encrypted settings, legacy keys, private room credentials, or other secrets in screenshots, URLs, public documentation, or community posts.
- Preserve subscription, billing, booking, attendance, Custom Field, credit, and entitlement history when correcting a problem; current QCMM is designed to repair in place rather than erase evidence.
- When Effective tier falls, premium configuration/history is preservation-first: features can become unavailable without deleting the saved data.
Verify the Result
- Each subscription retains its own Custom Field values even when the same Joomla user owns multiple memberships.
- Customer-visible/editable behavior matches the purchased subscription snapshot and current allowed workflow.
- Only the configured Plan-specific Fulfillment Editor group can perform fulfillment actions.
- Protected Downloads require an eligible authenticated subscription and are delivered as authorized attachments rather than arbitrary remote fetches.
Common Mistakes to Avoid
- Storing subscription-specific fulfillment data as if it were a single global Joomla user profile value.
- Assuming Host or Joomla Administrator status automatically substitutes for the Plan-specific Fulfillment Editor group.
- Displaying internal/admin-only field values to customers because the field exists on the Plan.
- Turning Plan Resources into an unrestricted proxy for arbitrary remote URLs.
Troubleshooting
- Check the field definition, Plan assignment, subscription snapshot, customer view/edit flags, and Fulfillment Editor group separately.
- If a value changed concurrently, reload the current subscription state before overwriting newer fulfillment/customer edits.
- Test Joomla Mail independently, then template publication/format/recipient/tokens, then the event/task that triggers delivery.
- Check duplicate-prevention and prior send state before manually rerunning a reminder or lifecycle event.
- Reproduce the exact action with the smallest safe test and record the user role, Plan/subscription/booking/billing identifiers, current state, and time zone where relevant.
- If a control is missing, check Joomla access, QCMM permission/ownership, record state, Effective tier, and task health before assuming packaged files are damaged.
- If behavior is asynchronous, inspect the owning Scheduled Task and its last result instead of repeatedly performing the business action.
Operational Best Practice
Keep fields purposeful and minimize sensitive data. Use stable field tokens, limit customer/admin editability to the real workflow, delegate fulfillment only to the configured Plan-specific groups, and keep protected Downloads behind QCMM authorization instead of publishing direct file URLs.
Community Discussion
Want to compare membership or Meeting workflows, share practical QCMM tips, or discuss how other Joomla site owners use this feature? Visit the QC Memberships & Meetings Community. For private support, bug reports, account-specific entitlement or billing problems, or feature requests, use the QuantaCade support system.