Core: Permissions UI revamp

Created on 2 Mar 2019  路  6Comments  路  Source: flarum/core

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).

flarum-permissions

  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.

typfeature

Most helpful comment

Yes the scalability of the permissions grid sucks. I mocked up a new UI concept to address this a few months ago. The idea is that you configure global permissions, and then rather than re-configuring permissions for each tag like in the grid, you can just add/remove them selectively relative to the global permissions:

Screen Shot 2019-03-24 at 12 38 44 pm

Still a WIP as to exactly what the UI would look like to create these rules, but I think this is a step in the right direction.

All 6 comments

Just so I understand fully... the core need this would be addressing is to reduce the work of managing the detailed permission when you have lots of tags, right? So this is a matter of scalability in a way.

I am asking because I've repeatedly see that concrete proposals at an early stage inhibit creativity when it comes to UX / features. Starting from the problem to be solved can open up more radical (and better?) alternatives that would otherwise not be considered.

Just so I understand fully... the core need this would be addressing is to reduce the work of managing the detailed permission when you have lots of tags, right? So this is a matter of scalability in a way.

Yes, that is what my proposal would accomplish.

Yes the scalability of the permissions grid sucks. I mocked up a new UI concept to address this a few months ago. The idea is that you configure global permissions, and then rather than re-configuring permissions for each tag like in the grid, you can just add/remove them selectively relative to the global permissions:

Screen Shot 2019-03-24 at 12 38 44 pm

Still a WIP as to exactly what the UI would look like to create these rules, but I think this is a step in the right direction.

Please for the new design also consider the consequence of large amount of permission groups, not just tags.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. We do this to keep the amount of open issues to a manageable minimum.
In any case, thanks for taking an interest in this software and contributing by opening the issue in the first place!

Bad bot.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tobyzerner picture tobyzerner  路  4Comments

tobyzerner picture tobyzerner  路  4Comments

jordanjay29 picture jordanjay29  路  3Comments

Ralkage picture Ralkage  路  3Comments

datitisev picture datitisev  路  3Comments