How QCLF Feature Inheritance Works

QCLF feature configuration uses three layers: Global → Section → Category. This lets administrators define sensible site-wide defaults and override only the places that need different behavior.

Feature inheritance controls whether a capability is enabled at a location. It does not by itself grant a user permission to perform the related action.

The Ten Inherited Capabilities

CapabilityCommercial gate
Discussion TopicsBasic+
AttachmentsBasic+
ReactionsBasic+
PollsBasic+
@MentionsBasic+
QuoteBasic+
Reply ReferenceBasic+
Live Chat TopicsBasic+
Watch Party TopicsMax / All Access
Live Broadcast TopicsPro / Max / All Access

Global Defaults

Settings → Forum Defaults stores each capability as Enabled or Disabled. These are the starting values for the forum.

Watch Party and Live Broadcast controls are additionally tier-gated. When the current Effective tier cannot use one of those premium capabilities, the Administrator form preserves the existing stored value instead of allowing a lower-tier post to overwrite it.

Section Overrides

Each Section stores Inherit, Enabled, or Disabled for every capability. Inherit leaves the Global value in effect. Enabled or Disabled replaces the Global value for that Section.

Category Overrides

Each Category uses the same three-state choice. Inherit keeps the resolved Section value; Enabled or Disabled replaces it for that Category. The runtime resolver starts with Global, then applies the Section override, then the Category override.

Feature State Is Not Permission

A capability can be enabled but unusable for a particular member because QCLF still evaluates Joomla access, Section/Category visibility, Category action ACL, sanctions/state, and any commercial entitlement gate. Conversely, an ACL Allow cannot turn on a capability that the Global/Section/Category feature chain disables.

Example

ConfigurationEffective result
Global Attachments = Enabled; Section = Inherit; Category = DisabledAttachments are off in that Category.
Global Live Chat = Disabled; Section = Enabled; Category = InheritLive Chat is on for Categories in that Section unless a Category disables it.
Global Watch Party = Enabled; Section/Category = Inherit; Effective tier = ProWatch Party remains unavailable because Max/All Access is still required.

Use Overrides Sparingly

  • Keep the Global default aligned with the behavior most Categories should use.
  • Use a Section override when a whole area differs.
  • Use a Category override only for a local exception.
  • When troubleshooting, inspect all three layers plus the user action permission and Effective tier.

Community Discussion

Want to compare forum workflows, share practical QCLF tips, or discuss how other Joomla site owners use this feature? Visit the QC Live Forum Community. For private support, bug reports, account-specific entitlement problems, or feature requests, use the QuantaCade support system.