Course permission rules

A permission rule is the flexible way to gate a course: by role, by purchase, by subscription, or by when something was bought.

Where

Course settings → Configuration → Global permission rule, described in the editor as: This rule applies to the course and all its lessons, unless a lesson has its own permission rule.

Rules are defined in the theme options

The selector lists rules that already exist, defined once in the theme's own permission-rule settings. POM LMS selects a rule; it does not define one.

If the selector is empty, no rules exist yet. Create them first.

What a rule can require

Requirement Examples
Role Is a member; is not a subscriber
Purchase Has bought all of these products; any of them; none of them
Purchase timing Bought on a specific date; more than N days/weeks/months/years ago; less than that
Subscription An active subscription based on any or all of a set of products
Subscription state A given status, and a start date before or after a point

Rules can express requirements the simple settings cannot: members who bought the starter pack more than two months ago, or anyone with an active subscription to either plan.

One rule, many courses

The same rule can be selected on many courses. That is its strength and its risk:

  • Strength — change the rule once and every course using it follows.
  • Risk — change the rule carelessly and every course using it changes.

After editing a rule, test every course that selects it, with a student who should pass and one who should not.

Name rules for what they require — Active subscription — any plan — not for where they are used.

Where it sits in the order

  1. Login requirement, if enabled, is checked first.
  2. The lesson's own rule, if it has one.
  3. The course's rule — this setting.
  4. The paid-course setting, only when no rule applies.

The important consequence: a rule on the course replaces the paid-course check. Setting both means the rule decides, and the paid setting is ignored.

So choose one model per course.

The lesson override

A lesson can select its own rule, which replaces the course's rule for that lesson only. Use it for a bonus module, a section for advanced subscribers, or content released to one group.

See Lesson permission overrides.

Choosing between a rule and the paid setting

Situation Use
One product, one course, nothing else Paid course
Several products grant access Rule
Access depends on a subscription Rule
Access depends on a role Rule
Access starts or ends at a point in time Rule
A rule already exists for this audience Rule

When in doubt, use a rule. It expresses more, and it keeps every course on the site using one mechanism.

Verify

  1. Select the rule and update the course.
  2. Sign in as a student who should match: the course opens.
  3. Sign in as one who should not: the no-access message.
  4. Open a lesson URL directly in each state.
  5. Confirm previews still behave as intended.
  6. If the rule is time-based or subscription-based, test an account on each side of the boundary.