6

I need to write specifications for permissions levels on a system. There are two types of user (Viewer and Editor). Everything a Viewer can do, an Editor can also do. An Editor’s permissions build on those of a viewers.

I now need to present these specifications. Ideally another developer can come along, quickly read, and understand what permissions each user has, and what the differences between each user is.

I’ve tried a few different layouts.


Layout 1:

Present as a nested bullet point list, representing the hierarchy of actions (for example, the Info button is within Screen 2). Write Viewer and Editor out separately.

Advantages:

  • Clearly shows what each user can do
  • Shows the hierarchy of actions

Disadvantages:

  • Hard to see the differences between a Viewer and an Editor at a glance
  • Hard to scan the list because the permission levels are not aligned.

Layout 2:

Same as Layout 1, but the Editor builds on the Viewer.

Advantages:

  • Easy to see the differences between Viewer and Editor (only what has changed)
  • Shows the hierarchy of actions

Disadvantages:

  • Hard to see all the permissions an Editor has - one has to read the Viewer permissions too. This would get worse with more permission levels.
  • Hard to scan the list because the permission levels are not aligned.

Layout 3:

Present as a table, with columns for each permission level, containing boolean options (has permission / doesn’t have permission).

Advantages:

  • Easy to see all the permissions each user has
  • Easy to see the differences between users
  • Easy to scan because permissions are aligned

Disadvantages:

  • Column names are very confusing
  • Loses the hierarchy view

Is there a better option which combines these? Is there a standard way of presenting this which I could use?

Tim
  • 202
  • 1
  • 12
  • 2
    The third option looks clearest to me. You can show a hierarchy in the first column so that piece of info is preserved, and I'd use one column per role with the permitted actions in each cell (maybe accompanied by easily distinguished icons). – Hans-Martin Mosner Jul 08 '19 at 11:16
  • 2
    @Hans-MartinMosner something more like https://i.stack.imgur.com/TvwHR.png, probably with a slightly different colour scheme? – Tim Jul 08 '19 at 11:33
  • 2
    Yes, basically that's it. You will need to find ways to structure the table given the actual amount of information, perhaps one table per screen, and you need to find intuitive graphics for the different levels. Best is to let someone from your intended audience have a look at it for feedback, but as a developer I'd already be ok with the table as it is. – Hans-Martin Mosner Jul 08 '19 at 11:44
  • 1
    @Hans-MartinMosner I’ve gone for that, splitting it up by Screens, and breaking out common elements to those views into separate tables. I’ll post an answer later! We’ve also added a notes column, to highlight areas which don’t meet the spec / changes that could be made / clarifications. – Tim Jul 08 '19 at 13:52

1 Answers1

1

In case this is not resolved yet, What do you think about this?

enter image description here

Edited image to reflect the level of hierarchy and merging limitations.

  • Easy to see all the permissions each user has
  • Easy to see the differences between users
  • Easy to scan because permissions are aligned
  • Column names are clear. Only one column per role/user
  • Hierarchy view visible
panda
  • 171
  • 7
  • This was my first idea. Unfortunately, my hierarchy is 3 deep, and the software I’m using can’t merge cells. Otherwise, not a terrible solution – Tim Jul 28 '19 at 10:40
  • @Tim, if it is 3-level architecture then it's a matter of adding another column on the left. Since you cannot merge cells you can just keep an entry on the first column and leave the cells below empty. I would find this better than having separate rows or a bullet list. – panda Jul 28 '19 at 11:13