> For the complete documentation index, see [llms.txt](https://docs.norrnext.com/norrcompetition/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.norrnext.com/norrcompetition/configuration/permissions.md).

# Permissions

Joomla ACL permissions, granular submission time windows, voting rights, and frontend contest actions.

NorrCompetition integrates natively with the Joomla Access Control List (ACL) system. Permissions configured here establish global defaults that cascade through categories and individual contests.

<figure><picture><source srcset="/files/eGd32b16EpNvyEACbCog" media="(prefers-color-scheme: dark)"><img src="https://4110454137-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FemWP543OtNCmlHpJBjKV%2Fuploads%2Fgit-blob-fcde94524ad6481bda09ffb590912c55288b7296%2Fnc-options-acl-min.png?alt=media" alt="NorrCompetition permissions"></picture><figcaption><p>NorrCompetition ACL Permission Rules</p></figcaption></figure>

### Administration & Configuration

* **Configure ACL & Options** (`core.admin`) — Allows users in the group to modify global configuration and edit permission rules.
* **Configure Options Only** (`core.options`) — Allows users to modify component options without altering permission assignments.
* **Access Administration Interface** (`core.manage`) — Grants access to the NorrCompetition backend administrator screens.

### Entry Submissions & Lifecycle

* **Create** (`core.create`) — Allows submitting entries to contests.
* **Create Before Contest Start** (`core.create.beforestart`) — Allows adding entries before the official contest start date (useful for pre-launch staging by judges/staff).
* **Create After Contest Start** (`core.create.afterstart`) — Standard permission allowing contestants to submit entries while the submission stage is active.
* **Create After Vote Start** (`core.create.aftervotestart`) — Allows submitting new entries even after voting has officially started.
* **Delete** (`core.delete`) — Allows deleting any entry in the component.
* **Edit** (`core.edit`) — Allows editing any submitted entry.
* **Edit State** (`core.edit.state`) — Allows publishing, unpublishing, or archiving any entry.
* **Edit Own** (`core.edit.own`) — Allows contestants to edit entries they personally submitted.
* **Edit After Contest Start** (`core.edit.afterstart`) — Allows contestants to edit entries after the contest has started.
* **Edit After Vote Start** (`core.edit.aftervotestart`) — Allows editing entries after voting has commenced.
* **Edit State Own** (`core.edit.state.own`) — Allows contestants to unpublish or manage the state of their own entries.
* **Delete Own** (`core.delete.own`) — Allows contestants to delete their own entries.

### Voting Actions

* **Vote** (`core.vote`) — Allows users in the group to cast votes for contest entries.
* **Unvote** (`core.unvote`) — Allows users in the group to cancel or retract their previously cast vote within the configured unvote grace period.

### Frontend Contest Management

* **Create Contest** (`core.create.cform`) — Allows creating new contests using the frontend contest creation form.
* **Edit Contest** (`core.edit.cform`) — Allows editing any contest directly on the frontend.
* **Edit Contest State** (`core.edit.state.cform`) — Allows publishing or unpublishing contests on the frontend.
* **Edit Own Contest** (`core.edit.own.cform`) — Allows authors to edit contests they personally created.
* **Edit Contest After Contest Start** (`core.edit.cform.afterstart`) — Allows editing a contest on the frontend after submission has started.
* **Edit Contest After Vote Start** (`core.edit.cform.aftervotestart`) — Allows editing a contest on the frontend after voting has commenced.

{% hint style="info" %}
Time-restricted actions (such as *Create Before Start* or *Edit After Vote Start*) require the parent *Create* or *Edit/Edit Own* permission to be allowed.
{% endhint %}

### Permission Inheritance

Permissions flow hierarchically:

1. **Component Level** (`Global Options > Permissions`): Defines universal defaults for all user groups.
2. **Category Level** (`Category > Permissions`): Inherits from Component or overrides settings for specific categories.
3. **Contest Level** (`Contest > Permissions`): Inherits from Category or establishes custom submission windows and voting permissions tailored to an individual contest.
