Hello again!! I've finally developed this plugin. You can find it at the RoundCube plugins repository, http://trac.roundcube.net/wiki/Plugin_Repository , or directly on SourceForge, http://sourceforge.net/projects/rolespermission/ . Read documentation for installation instructions (as easy as normal for plugins).
There already are some feature request I have created. They are questions and proposals for RoundCube core developers. One, the most important (I think) is a inter-plugins communication solution other than the JavaScript. For going everything OK, I think plugins may be able to define other plugins default variables and/or functions. I mean, this plugin needs other plugins variable "permissions", where other plugins should define their own permissions. From now on, this plugin defines a global variable to link to its instance, so other plugins can register permissions with a public function inside their __construct function. Nasty, I think.
So here is a plugin and an open debate.
Best regards, emi
2010/4/14 till till@php.net:
I think its a great idea!
On Apr 14, 2010 11:48 AM, "emi" emidaruma@gmail.com wrote:
Hi there!! I'm making a plugin which does nothing but add an API and a preferences section to let other plugins distinguish between different kinds of users, what normally is called "User roles". A user may belong to none, one or multiple roles. Roles may be, for example, "Administrator", "Boss", etc. After this, other plugins may use this relationships to give some special rights to some users, not all of them.
This could be used, for example, to do what now is done via config.inc.php. Can be also used for an infinity of cases: "Can add contacts to global address", "Can do a webconference", "Can define new calendars", etc.
My idea to do so is that other plugins may declare permissions (for example, "Can configure MyPlugin"). Then, the master of the installation or those who have "Change permissions" rights could assign this permission to some role(s). This idea is just copied from Drupal, but surely it is used in many more programs.
Do anybody has contributions/ideas/wishes for this plugin? Do any plugin developer see this is a good idea?
Best regards, emi _______________________________________________ List info: http://lists.roundcube.net/dev/
List info: http://lists.roundcube.net/dev/