Just to demonstrate I read the wiki page
hmmm ok stop jokingINTRODUCTION
(Please forgive my bad english, I'm italian)
Recently I've been charged to find a solution for some sites for associations (like lions, rotary, jci, ecc...)
As you may know, these associations are organized at various levels (international, national, district, local chapter, ecc...)
Well, the major issue when building sites for these kind of organizations (but it's similar with big companies) concerns user management, roles and permissions.
Here I hope I can make a brief digression about my recent experience in finding a good solution for my needs, without hurting anyone (I think is good to points out some (ehm) points).
We all knows that Joomla! at the moment has not a strong and granular ACL management, so I looked at Drupal: what a nightmare. It's quite good for a dev target, not comparable to Joomla for standard users. But, awful surprise, his so magnified acl doesn't allow to assign a user the permission to manage just a specific 'group' (no specific meaning of the word group, consider it as a subset of the whole users) of users. (Some threads in their forum stated this).
Considering this and many other things, I decided to look at EzPublish.
Wow, a 1900 (about) pages in the developer manual...
Here everything looks clean, easy (quite, but not at Joomla! level) and well documented.
Best of all, finally a good ACL.
Because it's really granular, not like Drupal.So which is my first point for a good ACL?
The permissions work not only at general 'functionality' level (ie: not only access to content, components (in J! environment) or modules (in Drupal environment) and so on., but also at function level (inside the 'component')!!!
Unfortunately I believe (community opinion needed here!
) that to achieve such a kinf of ACL has huge impact on these fields:
1) Backward compatibility
3) Amount of work needed (related both to core and to external components)
4) User friendliness in creating roles and assigning permissions (but maybe some standard roles could be created with assigned permissions, allowing this way 'normal' users to manage their Joomla sites as they always did, so only who wants to go deeper will get into acl stuff).
Resume of what:
1) Ability to create Roles (with 'sub-roles', meaning hierarchy).
2) Ability to assign permissions to roles (evaluate inheritance between roles and sub-roles)
3) Scope of permissions: functions (a dream?). This is (quite) easy for simple content, 'cause usually there's only view, add, edit, delete (and publish... and, going further in Joomla environment, archiving), but for other 'ojects' could be needed an extension (example: user management, assign, change, revoke permissions).
4) I don't know how to express better next feature: Filtering
Point four concerns what in phpGacl is named AXO (Access eXtension Objects) (example: Role A has the permission to add, edit, delete 'objects' of 'type' xxx. Objects could be articles, type could be category. But also, objects could be users and type could be Role, or Group or whatelse).HOW
Hmmm... very hard to say in details. Maybe a search could be carried on to find best practices (especially regarding performance).
Maybe this kind of improvement should be carried on considering also what included in the user management white paper http://forum.joomla.org/viewtopic.php?f=500&t=265672
This way we could easily write code to manage different kinds of registration, having specific roles assigned to registered users based upon the different kind of registration taken.
Hope this all makes sense.
Ouch, I forgot 2 things not related to the matter:
1) Ezpublish, it's strange (incredible) how late they're coming to php5 (about php5 and php4, I read Wilco considering a problem the lack of compatibility with php4 about a white paper around here: I don't agree (If I understood well) since php4 is no more supported (in development) so why worry? I believe every ISP will soon remove php4 from their offer).
2) From Joomla!1.0.x to Joomla1.5.x has been made an incredible work toward management semplicity, even increasing the power of joomla! (there's no comparison with other os cms).