Arck Interactive's plugins:
Elgg basically recognizes two types of users: members (ordinary users) and administrators (users who can do everything on the site). More often than not, you'd need additional user types and associated privileges what each "user type" can do to your site.
By using this plugin, you can easily introduce custom roles, restricting groups of users to certain privileges.Please understand that the Roles plugin, in its current state, is rather a framework than a full stand-alone plugin. You'll need to make additional tweaks, or use extension plugins, to make the custom roles work.
You can find detailed documentation under docs/manual.pdf.
First off, this looks well thought out and implemented, and will most certainly support some nice plugins (like the two you posted with it).
I'm curious what led to the decision of limiting users to having only one role? IMO a user should be able to wear multiple hats, and in different contexts (like site-level or in a particular group). I think it would be wise to build on top of an API that supports that even if a lot of it is roped off for future implementation. Perhaps this discussion should be elsewhere.
@Satheesh Thanks, will check this thoroughly in multiple environments.
@Steve Thanks for your valuable feedback. Please note that this is an experimental implementation of roles. Even though it aims high and tries to implement a generic framework, the need for this plugin rose from a specific project, where single role per user would suffice. Multiple roles per users would add complexity we did not want to tackle in this initial release.
Also we're very open to suggestions as to which way Roles should evolve. I'll fire up a discussion and let's see where this can go.
Well, I've just read through the docs. Seems very well thought out, I can see this being the base of many more plugins. If the framework is done even half as well as the docs I think we should be in good shape.
The only suggestion I can think of at the moment is echoing Steve's sentiment about multiple roles. I need to look a little closer at the implementation of the rules but I'm wondering if the rules could be assigned a weight/priority value similar to how the core handles hooks. Users could then have multiple roles, and anytime there are mutually exclusive rules the one with the higher priority would take effect.
It could get pretty complex, but I think it's something to consider. I'm excited about this anyway. Many thanks for taking the initiative on this.
Everyone, thanks for all the feedback. @Steve & @Matt, I'm copying your comments to this general discussion on Roles features. We'd like to see more input from core and community contributors on which direction this plugin should take. I'll add my thoughts on multiple roles there.