Hi devs,
I just introduced a new GroupManager API (and related script service
and new modules).
The idea (for now) is just to provide two new clean entry points to:
* get the members of a group
* get the groups of a member
Right, yet another one but here is what's new:
* it's a component
* you can use it without depending on oldcore
* it support groups of groups
* there is a cache behind the scene for all that
Main Java entry point:
https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwi…
Script service ($services.user.group):
https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwi…
Also to start actually using it I added in the profile a new section
which display all the groups (including groups of groups) the user
belongs to.
I also needed the feature in a 8.4.5 wiki so I published a contrib
extension you can use before 10.8:
https://extensions.xwiki.org/xwiki/bin/view/Extension/User%20membership%20i…
(this is the application but the API is available too, look at the
application dependencies).
TODO:
* remove the cache from group service and recommend using the new
component instead (the new component is still based on the group
service since people might implement this service another way so it's
safer to keep going trough the configured service for now, also it's
not that based to separate caching and groups of groups handling from
storage anyway)
* track down all uses of the group service and the old rightmanager
plugin group membership related methods and replace them with the new
API
FUTURE:
The module name is xwiki-platform-user-api and there is a (empty
except from the sub script service bridge) user script service, the
idea being that we will want to add other user related APIs there in
the future but I did not had time to work on the big picture so I left
room for it.
Thanks,
--
Thomas Mortagne