Posted by jvieille on November 24, 2012 at 5:32pm
I don't know if it is a common behavior, but the permission page does really suck.
My site is quite complex with about 200 contribs, 2000 users, 2000 nodes, the permission page is about 500 rows * 30 roles.
It has not much traffic, and is hosted in a sufficient dedicated server - 12 GB of RAM, 8*2,5 GHz cores.
Any opinion / idea / advice?
Thanks

Comments
Permissions not saving
This article may help with the page not saving issue:
Drupal not saving admin pages with large number of input fields.
Drupal performance tuning, development, customization and consulting: 2bits.com, Inc..
Personal blog: Baheyeldin.com.
Thanks for the link, it
Thanks for the link, it mention a similar situation
However, I never get any php error, my page saves if I wait long enough (sometimes more than 1 hour), and the variable max_input_vars simply does not exist
max_input_vars only exists in
max_input_vars only exists in PHP 5.3.9+ and defaults to 1,000.
HollyIT - Grab the Netbeans Drupal Development Tool at GitHub.
Too many modules and roles?
As the 2bits article suggests, the large number of rows (500) is a result of having many contrib modules (200) and maybe you have many content types as well, which will further multiply the number of permissions? 30 roles sounds a lot too.
I think the main problem is that many of those modules may be invoking hooks both when you load the permission page and also when you save it. Are you using a node access module? 2000 nodes is not a lot, but if somehow multiplied up by your 15,000 possible permission/role check boxes it could get very busy!
Maybe is you listed the main contrib modules you're using we could help some more.
Really you need to see what is taking the time. Try installing the devel module and displaying queries or have a look at the mysql slow query log if you can.
This link goes to the
This link goes to the permission saved html page - it is 20 MB...
You can download it here
http://www.see.asso.fr/fr/node/3137
I have many contribs, but needs them...
Override node options is a killer, but why the hell this is not in Core...
Rather than a re-eingineering of the solution I would seek some php or mysql tweaks to help bearing this (extremely) large form...
(No subject)
One thing I do on large sites
One thing I do on large sites with huge numbers of roles and permissions is set permissions for each role individually:
/admin/people/permissions/roles
The best thing to do is to
The best thing to do is to split it up. Editing by role is one way. In the past I have built modules to allow more flexible permissions editing such as editing only a few roles at once, omitting certain permissions (such as the friendly field permission modules that can end up with hundreds or thousands of permissions when you have complex content types), or editing one role but applying the changes to others.
My post got eaten up
My post got eaten up somewhere...
I reported the devel statistics
Thanks for the advices. I hadn't considered setting roles individually, this is certainly the way to go without having to develop or hack something.
I n short, this is a normal behavior considering the site design...
You may find the Filter
You may find the Filter Permissions module helpful as well: http://drupal.org/project/filter_perms
If you use the Filter
If you use the Filter Permissions module with a very large D6 site, be sure to keep a backup of the permission table. With one very large site, I've seen the entire table completely emptied. There is an issue open, but it is very hard to reproduce: http://drupal.org/node/1160078
I think it's likely very rare, and occurs for an extremely complicated site (a lot of enabled modules).
If you have 30 different
If you have 30 different roles, chances are that you are using a hammer to put in a screw. This sounds like you are using the wrong tool for the job.
--
Dave Hansen-Lange
Director of Technical Strategy, Advomatic.com
Pronouns: he/him/his
Don't be so quick to judge...
Larger organizations often need that sort of granularity. Yes, it's a lot of overhead and difficult to manage, but don't automatically assume that they're doing it wrong. Especially in the context of 2,000 users, 30 roles is completely reasonable.
Very strange, some posts in
Very strange, some posts in this site do not get through - once posted, nothing appear or they are emptied...
I was just trying to thanks everyone for this useful discussion.
I am glad I discovered http://drupal.org/project/filter_perms
Also thanks for the warning about the mentioned issue. I dump a db snapchot every 4 hours, so I am quite serene.
The remarks about the roles is justified, I could certainly limit them to 4-5 if I was just taking into account the associated set of permissions . Roles are used just for what they mean - i.e. the roles of the people in this organization. This was the more straightforward and handy way I found - using taxonomy would have done it, but made it confusing, and hard to manage with OG : people have different roles in different groups + global roles - all this is very easy using Drupal roles appart the locale aspects (strangely not handled by Drupal.)
Hoping that this post will get through.
For all other people that
For all other people that also stumble across this page because the permissions page takes eons to load: switch of Javascript in your browser and watch it appear within a second ;-)
Not really better, still
Not really better, still takes ages
The best way I found is to open the permission page per role.
Instead of going User management _> Permissions, I select User management ->roles then "modify access rights" for a given role.
admin/user/roles -> admin/user/permissions/x
Divine messages ....
These are all divine messages from high above, that you have too many modules and/or content types. Heed the warnings before it is too late ...
Drupal performance tuning, development, customization and consulting: 2bits.com, Inc..
Personal blog: Baheyeldin.com.