Skip to main content

Per-category permissions

Categories support per-category permission overrides. The model is the same one node permissions use for forums: any permission can be set per category, and values inherit down the category tree.

Where to set them

Two entry points:

  1. From the category edit page. Edit a category, click Permissions.
  2. From the global permissions page. AdminCP > Groups & permissions > Permissions > Downloads category permissions.

Override values

Each permission can be set to one of:

ValueEffect
InheritUse the value from the parent category, or the global group permission if the category is a root.
AllowExplicitly grant.
DenyExplicitly revoke. Beats Inherit and global Allow.
NeverHard revoke. Cannot be re-allowed by a child.

For yes/no permissions only the four values above apply. For numeric permissions (such as attachment count, bandwidth cap, and time limits) the override is a numeric value or "Inherit".

Inheritance order

For any user, the effective permission on a category is computed in this order:

  1. Global permission for the user's groups.
  2. Override at the category's nearest ancestor that has an override set.
  3. Override at the category itself.

A "Never" value at any ancestor wins. A "Deny" at an ancestor is also revoked unless the child explicitly overrides with "Allow".

What permissions are overridable

Every Downloads, Comments, and Reviews permission supports per-category overrides, both user and moderator groups. See the permissions page for the full list.

Common patterns

Read-only category

Goal: members can view but not upload.

PermissionValue
View downloadsAllow (or Inherit)
Download filesAllow (or Inherit)
Create downloadsDeny

Author-only category

Goal: only specific users can upload, all members can download.

  1. Set the global Create downloads to "Deny" for Registered.
  2. Pick the user(s) you want to allow.
  3. On the category, override Create downloads to "Allow" for those users.

Moderator overlay

Goal: a single user group moderates one category.

  1. Edit the category > Permissions.
  2. For the chosen group, set the relevant Downloads moderator permissions to "Allow".
  3. Leave them at "Deny" or "Never" globally so the group does not act on other categories.

Resolving "why can't user X do Y?"

Two diagnostic tools:

  1. AdminCP > Groups & permissions > Analyse permissions. Pick the user, pick the category, see the resolved permissions and where each value comes from.
  2. The user's own surface: the public download page shows a "permission denied" hint when an action is blocked.

Cache rebuild

Per-category permission changes update the per-user cache automatically. If the rebuild looks stuck or stale, navigate to AdminCP > Tools > Rebuild caches > Permission cache and click Rebuild.

Limits

There is no soft limit on the number of overrides per category. A few hundred per category is fine.