Hello,
In order to implement the Rights Management desired improvements, we concluded that there
is need to write an api to help retrieve:
- the local / global users
- the local / global groups
- the inherited rights for users / groups
So after I spoke with Ludovic and Thomas, here is the list of things to be implemented in
this api:
XWikiUser
============
We have:
-> user (string)
-> main (boolean)
--> setUser, getUser
--> isMain, setMain
----------------------------
We will need to do:
--> add methods:
* getAllActiveUsers [ will read xwiki settings to know what to return, global or local
active users; Thomas and I understood that 'active' user means the user after
being registered and confirmed the registration through email maybe, following a link to
activate or something like this ]
* getAllGlobalUsers
* getAllLocalUsers
* getAllUsers
* getMatchingActiveUsers(string MatchText, XWikiContext)
* a method to get details for a user, other than the ones returned by getAllUsers (which
will return something like Xwiki.LudovicDubost); we might need firstname, lastname,
pagename etc. maybe we can use a parameter for the getAllUsers method, called
'withDetails'(boolean)
XWikiGroupService (interface)
=============================
We have
--> listGroupsForUser
--> addUserToGroup
--> listMemberForGroup
--> listAllGroups
-------------------------
We will need to do:
--> add methods:
* getAllActiveGroups
* getAllGlobalGroups
* getAllLocalGroups [ this is currently done by 'listAllGroups' ]
* listMatchingActiveGroups(string MatchText, XWikiContext) [ this will help me for the
ajax-suggest feature; will return the groups with the name matching a certain string ]
XWikiRightService (interface)
==============================
We have:
--> checkAccess
--> hasAccessLevel
--> hasProgrammingRights (2 methods)
--> hasAdminRights
--> listAllLevels
-------------------------------
We will need to do:
--> add methods:
* to find inherited rights
* and maybe other things, I'm not very sure yet
I hope I understood right. Thomas will try to draw some schemes and I'll clarify some
of the questions that are left, then.
Ps. I posted this mail yesterday but only today I found out that devs list moved to
xwiki.org. Sorry about the delay.