Permissions UI revamp
- Dominant language
- No language data
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Feature Request
For Flarum installations with a large amount of primary and secondary tags, it can become cumbersome to manage each individual tag's permissions, especially when some of those tags may effectively be duplicate in capabilities (not duplicate in the purpose of those tags).
**Use Cases:**
Here is a screenshot of some of the tags I've already set up permissions for. This is not a complete list, as it is fairly time consuming to set up these permissions and we have a large amount of tags (read: still a WIP).

1. We may utilize secondary tags to indicate an answer to a question (should the question be the discussion topic and the answer be something we can define in a Yes or No form). These tags should only be able to be set by specific groups (for us it's Mods, Core Team, and Global Maintainers), but people should be able to engage in those posts (as shown in the permissions set in the screenshot), react, etc. Ideally this would be something we could have as a Permissions Template, we just set the tag to the template and have a singular place to update the capabilities of the permissions template.
2. Similar in function but separate in purpose, we also have secondary tags for "Over Dramatic", "Helpful", "Needs More Information", etc. Almost all of these should be set to use the same template as Yes / No. It is different in purpose because we may use this for a tutorial, or support query, where we'd want to determine whether or not certain information is necessary (or if something is helpful, to give another example), not leave that to be a capability for the community.
3. It would be helpful to use Permission Templates on our various Primary Tags, like Announcements. This permission template would be literally what I've added in the screenshot, so only certain groups could make, sticky, etc. discussions with those tags.
I suspect this would function by adding a separate section in Permissions, maybe underneath the Groups list, for permission templates. You would define permissions that are identical to the list you already have for tags. You would have a new dropdown item above the "Read" section of the Permissions -> Tags table called "Template", where you could choose:
- None (do not apply any template)
- Template Name...
- More Items...
**Justify why this feature belongs in Flarum's core, rather than in a third-party extension**
I believe this belongs as a core feature because tags and permissions are a fundamental part of Flarum, it's something third-party extensions integrate into, and therefore the best place to implement it (as a UX and API level) would be core.
**Describe alternatives you've considered**
I do not know of any alternative mechanisms that would address this.
Contributor guide
Research direction
No files, tests, or implementation entry points are named. Start by reviewing the Permissions → Tags table and the existing tag-permission behavior, then determine how permission templates should be defined and assigned. Done means reusable templates can be created, selected for primary or secondary tags, and updated centrally.
Written by the indexing model from the issue text.
Assessment
- Domain
- authorization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100