kaberett: A sleeping koalasheep (Avatar: the Last Airbender), with the dreamwidth logo above. (dreamkoalasheep)
kaberett ([personal profile] kaberett) wrote in [site community profile] dw_dev2015-09-26 04:20 pm
Entry tags:

More granular community permissions: mocked-up screenshots

These are not-as-quick-as-I'd-like-but-definitely-dirty, and are based on our previous discussion about specification and workflows. It's been a while since that post, so I'm making this one for the pictures; in summary, there are two options for how to go about managing this.

In all cases, I should have used "Community control" rather than "Additional Privileges" but I... absolutely could not face going back and editing everything again when I realised, sorry. And in all cases I haven't provided complete lists of privileges/privilege bundles -- those exist in comments on the previous post, and will get put into the final composite spec properly. (I... am being pretty slapdash about this, sorry, but if I try to get everything Just Right at this stage what will actually happen is I'll spend the next six months hyperventilating about how y'all will kick me off the project if I use the wrong font and nothing more will happen, so this is a sketch for the idea of the thing, sorry.)

Also in all cases, there should be another header row under "non-members", but I ran out of steam, see above, sorry.

Option 1: tickbox matrices as far as the eye can see


This is the option laid out in the last post: replace "Administrator" and "Moderator" checkboxes with a "Community Control"/"Additional Privs" box, and an Additional Privs/Community Control page with a bunch of tickies (with "Administrator" acting as a master ticky, though that isn't illustrated here).

/communities/list gets an additional link (with better layout):
Communities List


Edit Community Members gets a slightly different set of tickboxes:
Edit Community Members - Additional Privileges


And we get one new page, giving us a large matrix of tickboxes (which will be paginated, but which probably needs an extra couple of columns to get all the privs bundles in):



Option 2: Define community control roles


This was suggested in comments on the previous post, as a way of creating custom roles/priv bundles as required by the community. In addition to the Additional Privs/Community Control link, /communities/list would then also have "Manage Roles" as an option. Which members were displayed on the Additional Privs/Community Control page would again be controlled by the checkbox so labelled on the Edit Community Members page, as for option 1.

Defining roles ("Manage Roles") is currently envisioned to look like managing filters (nb per introduction this does NOT contain all possible privileges):
Manage Roles


The check-box matrix would then be rather more manageable:
Additional Privileges - Roles

Further thought is needed about what restrictions should be placed on assigning roles to *all* non-members (as distinct from assigning roles to *specific* non-members, who in the Edit Community Members page would have "Additional Privs" but not "Member" checked, as is currently the case with community admins who are not community members, and so on.)

Documentation


Priv bundles will need explaining. This could happen on-page, in dedicated FAQs, or both. (Probably both.)

Your thoughts?


Comments welcome, but have an easy poll:
Open to: Registered Users, detailed results viewable to: All, participants: 27


Which workflow do you prefer?

View Answers

Option 1: matrices as far as the eye can see
5 (18.5%)

Option 2: roles-based community controls
20 (74.1%)

Something else, which I will explain in comments
2 (7.4%)



Thanks heaps for your patience, folk!
silveradept: A kodama with a trombone. The trombone is playing music, even though it is held in a rest position (Default)

[personal profile] silveradept 2015-09-26 07:04 pm (UTC)(link)
I think 2 is better for when communities scale up to many members - Alternity-size stuff probably needs and wants roles that they can assign and define themselves. With a set of useful defaults included that covers most use cases, small communities could also use roles effectively without having to spend time defining them.

I like the idea, where possible, to be able to assign blocks of permissions to roles, such that someone can receive full control over tags without having to assign individually "can add tags", "can edit tags", "can delete tags", "can rename tags".

That said, it still looks like the interface for assigning roles will be option 1, matrices everywhere. If there's a way we can help someone know where they are in the matrix at any given time, perhaps through some form of floating header for each role, I think that would be helpful to avoid mis-assigning roles.

As for assigning roles to non-members, it seems like a thing that should only be changeable by those with the power to change roles (admins and mods, maybe, get that by default), and that anything that involves either the members or non-members group checkboxes has a second page / pop-up saying "O Hai, this affects everyone. You sure about that?" to avoid a mis-assignment by accident.
quartzpebble: (INTERNET)

[personal profile] quartzpebble 2015-09-26 07:22 pm (UTC)(link)
Hm. Of the two I prefer the matrices, but that's mostly because I'm not a fan of the filter management UI. ISTR that Google Groups permissions settings are impossible to find, but made more sense to me once I found them. Something like:

Can Edit Style:
[] Archivist
[] Tag-Wrangler
[] Administrator

and so forth, with the roles listed under the individual permissions and able to be selected.
ninetydegrees: Art: self-portrait (Default)

[personal profile] ninetydegrees 2015-09-26 09:09 pm (UTC)(link)
+1
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2015-09-26 10:54 pm (UTC)(link)
I think it's pretty clear as is!

(I think I like the filters-style UI better, but, hrm.)
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2015-09-26 07:57 pm (UTC)(link)
The more I look at it, the more I like the 'roles' type setup -- I think that will be more usable for people long-term (albeit with a slightly higher setup up-front, but still), and it will be way less overwhelming on the full-membership list, assuming comms only set up a few roles.
azurelunatic: Vivid pink Alaskan wild rose. (Default)

[personal profile] azurelunatic 2015-09-26 09:43 pm (UTC)(link)
I would really like a way to highlight Powers Not Assigned To Any Role, for troubleshooting/discovery purposes. Perhaps as an autogenerated role which can't be assigned?
azurelunatic: Vivid pink Alaskan wild rose. (Default)

[personal profile] azurelunatic 2015-09-26 11:35 pm (UTC)(link)
The case I'm thinking of is less No Person Can Do This Thing and more I Wish That Were A Permission Oh Wait WTF When Was That Added, I guess
azurelunatic: Vivid pink Alaskan wild rose. (Default)

[personal profile] azurelunatic 2015-09-27 08:57 am (UTC)(link)
Ah! I am not thinking in a column in the grid, I was thinking a Not In Any Other Role group in the bundler tool, a group which doesn't show up in the grid.
azurelunatic: Vivid pink Alaskan wild rose. (Default)

[personal profile] azurelunatic 2015-09-27 10:12 am (UTC)(link)
I guess what I *really* want is, some easy way for people to compare the contents of roles and figure out what's overlapping and what's missing. Maybe a third page, or another section?

(This is also probably a good time for me to explicitly mention that while I have Strong Opinions, I only get to make design decisions about spamwhacky stuff, and that's only unless D says different...)
Edited 2015-09-27 10:13 (UTC)
azurelunatic: Vivid pink Alaskan wild rose. (Default)

[personal profile] azurelunatic 2015-09-26 09:30 pm (UTC)(link)
as a User Experience Professional, I can confidently say that Sketch Format Is Great Stuff, to the point that adult people I work with who are getting paid for this go for tools that work up the sketchy qualities to the point of handwritey font/slightly woobly although ultimately straight lines, for the purpose of getting across that This Is Merely A Sketch, Do Not Paint This Bikeshed, to Engineering.
fred_mouse: line drawing of sheep coloured in queer flag colours with dream bubble reading 'dreamwidth' (Default)

[personal profile] fred_mouse 2015-09-27 01:50 am (UTC)(link)
I have nothing to comment on the whole topic, not being admin anywhere, but

This Is Merely A Sketch, Do Not Paint This Bikeshed, to Engineering

is the best formulation of 'this was a discussion, not a decision' I've seen!

[personal profile] swaldman 2015-09-26 09:48 pm (UTC)(link)
I like the roles approach (think I was one of those who suggested it), but I suspect it's quite a lot more effort to implement, since there's another layer of abstraction. This isn't a quick and dirty "use group filter groups for permissions" bodge. Which is probably a good thing, unless anybody is in a hurry to have this implemented Right Now.
xwingace: (Default)

[personal profile] xwingace 2015-09-27 06:46 am (UTC)(link)
The tickybox assignment of roles looks... dangerous, not so much for these (default?) roles, but in the case where a community defines a lot of different ones (or basically these but with very long names) for whatever reason. That matrix would get wider and wider and no more readable.

No real idea for a solution, just a feeling that drop-downs or a downwardly expanding 'More roles' feature might help.

XWA
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)

[staff profile] denise 2015-09-27 09:51 am (UTC)(link)

I think we can avoid too-wide columns just by restricting the possible length of role names.