[drupal-devel] [feature] Redesign permissions page

fajerstarter drupal-devel at drupal.org
Thu Sep 15 17:17:38 UTC 2005

Issue status update for 
Post a follow up: 

 Project:      Drupal
 Version:      cvs
 Component:    user.module
 Category:     feature requests
 Priority:     normal
 Assigned to:  Anonymous
 Reported by:  fajerstarter
 Updated by:   fajerstarter
-Status:       active
+Status:       patch (code needs work)

Maybe it's a bit too bold to call this handcoded example [1] a patch,
but it can be made to one...

Anyway, I've been playing with some javascript on the permissions page.
I used some of the ideas in my mock-ups. Even though I like the
side-tabs in the first mock-up I went for the already established form
group approach.

Some things are missing in the javascript (like auto-collapse) but that
should be easily fixed. The css could be cleaned up as well.

My biggest problem so far is how to "inject" the tbody tags that are
used to group the table rows (they are hancoded in my example).
Currently the table theme function doesn't allow that. Someone want's
to give it a go?

The role toggle is plain javascript in this example. In order to have
this functionality for non-javascript users it has to be a regular
form. We could of course also just hide it for non javascript user.
AJAX could also be considered.
[1] http://www.student.lu.se/~hek02afa/sandbox/access/adminaccess.html


Previous comments:

Sat, 10 Sep 2005 10:16:25 +0000 : fajerstarter

Attachment: http://drupal.org/files/issues/permissions_UI.gif (18.57 KB)

Here's a mock-up of a javascript enhanced permissions page. Just wanted
to share the idea with you; it's just an mock-up, no code yet. The idea
is to give users with javascript the possibility to filter the
permissions. Users without javascript gets the same page as before.
It's similair to the collapsible form groups approach used in the
upcoming Drupal 4.7. 

This article [2] is an example how it could be coded (unobtrusively).


[2] http://www.bobbyvandersluis.com/articles/unobtrusiveshowhide.php


Sat, 10 Sep 2005 12:51:58 +0000 : Bèr Kessels

I really like the idea, but with a few comments:
We should not start introducing side-tabs. Ratheruse tabs across the
top, in some manner. That is consistent.
The JAvascript must off course degrade well. In fact, it should by
default not use any JS, just show links to pages. If it is proven that
the browser supports it, js can be switched on (automatically, off


Sat, 10 Sep 2005 13:25:46 +0000 : fajerstarter

Ofcourse it should degrade well, that's why I pointed to the article and
also referenced to the collabsible form group already in core. The term
unobtrusive is often used for that kind of behaviour.


Sat, 10 Sep 2005 14:19:29 +0000 : timcn

Good idea. We could use collapsible fieldsets as already used in the cvs


Sat, 10 Sep 2005 14:34:56 +0000 : Allie Micka

In a way, I kind of like the side buttons.  They might look weird and
cluttered next to a left navigation menu - especially in a fixed-width
theme - but it "scales" better.

Tabs along the top are going to be problematic.  After a certain number
of modules, you're pushing things out way too wide.  A vertical
arrangement does not suffer the same problems, which is why I wouldn't
reject it outright.

My biggest problem with the access page now is its height.  After
scrolling down to see options, I tend to forget which column belongs to
which role.  Also, when we add a number of roles, the screen gets way
too wide.

Breaking them up by module is useful, and perhaps this can lead to
folding the roles so they don't "push out" too much.  Great Start!


Sat, 10 Sep 2005 16:10:49 +0000 : killes at www.drop.org

Adding another column to a matrix that is already very wide if you have
more than just the basic roles doesn't really seem to be a good idea.


Sat, 10 Sep 2005 21:05:36 +0000 : Bèr Kessels

I agree.
IMNSHO we should get rid of that matrix. OR better: leave the matrix
there for thos who thing they need it, but come upp with a new
The matrix does not scale, we all know that. And I am not talking about
five modules and thre roles. But about fifteen roles and twleve modules
with /loads/ of permuissions.

Let us please first think about this a little more. (mockups are great
for this, hint)


Sat, 10 Sep 2005 21:21:34 +0000 : kbahey

Just to point out the obvious, the matrix makes it easy to compare
permissions for roles. It also allows bulk editing of permissions for
multiple roles at a glance. We will lose these when we junk it. It does
not scale though.

As far as keeping two interfaces, it may end up being confusing, and
add to code bloat.


Sun, 11 Sep 2005 08:48:48 +0000 : fajerstarter

Attachment: http://drupal.org/files/issues/access_UI_select_roles.png (4.5 KB)

This mock-up adresses the left too right scaling issue.
For non javascript users we provide a filter button, so the filtering
can be done with regular POST. 

It would be usefull if the role filtering was accomplished with AJAX
for javasript users (no page reload when a role is disabled or enabled
in the matrix).

I still feel that the side-tabs is best suited to adress the scaling
issue with a lot of modules (and I kind of like it :) ). But I guess
the collabsible form group approach could be used instead.


Sun, 11 Sep 2005 21:14:19 +0000 : fajerstarter

Just some realated issues to take in account:
http://drupal.org/node/25530 (especially comment #9)

And some background/motivation


Mon, 12 Sep 2005 19:59:42 +0000 : Gabriel Radic

fajerstarter: The javascript permission groups by module are not really
my cup of tea. I personally *like* having all the permissions visible
at once. 

However, I find your group checkboxes mockup really great. Now, if
*that* was dynamic, as in show/hide columns with JS, it would roxr. 

Just my ¢2.

More information about the drupal-devel mailing list