Hi Thomas,

Congrats, that’s a long awaited API, we will enjoy it.

> * track down all uses of the group service and the old rightmanager
> plugin group membership related methods and replace them with the new
> API

Be aware that the bridge of the security module is accessing group membership 
using the group service, and it has it’s own caching mechanism. Since it is 
listening to the same even as your cache, it could not be based on it. So be 
careful not to make it use any method that is using the cache.

Good job, thanks.

--
Denis Gervalle
SOFTEC sa - CEO
On 6 Sep 2018, 09:53 +0200, Thomas Mortagne <thomas.morta...@xwiki.com>, wrote:
> 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/xwiki-platform-user/xwiki-platform-user-api/src/main/java/org/xwiki/user/group/GroupManager.java
> Script service ($services.user.group):
> https://github.com/xwiki/xwiki-platform/blob/master/xwiki-platform-core/xwiki-platform-user/xwiki-platform-user-script/src/main/java/org/xwiki/user/script/GroupScriptService.java
>
> 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%20in%20the%20profile/
> (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

Reply via email to