Permissions

Permissions define the set of permission identifiers available in the system. They are defined in a permissions.json file placed in a profile’s directory and are automatically loaded when the profile is installed.

Structure

{
  "purge": true,
  "permissions": []
}
Field Type Description
purge boolean When true, all existing permissions are deleted before importing from this file. Use this in a core profile to establish the initial set.
permissions array List of permission definitions to create.

Permission items

Each item in the permissions array has:

Field Type Description
id string Unique identifier for the permission (e.g. "View", "Modify", "Manage Site"). This string is referenced by workflows, actions, and role assignments.
title:i18n string Display label (the :i18n suffix enables translation).

Example

Place a file like src/profiles/default/permissions.json:

{
  "permissions": [
    {
      "id": "My Custom Permission",
      "title:i18n": "My Custom Permission"
    }
  ]
}

The file is picked up automatically during seeding — no manual registration is required. When purge is false or omitted, the permissions are added to the existing set rather than replacing it.


This site uses Just the Docs, a documentation theme for Jekyll.