Hi,
This looks good.. I'm wondering wether the API should be in
XWikiGroupService or if we should add a new XWikiUserService api.
Concerning retrieving inherited rights we could have this API
Map getInheritedRight(String SpaceOrPage, List rights ("view", "edit",
"comment", ..))
It would return a Map of Lists { "view" : { "XWiki.XWikiAllGroup",
"XWiki.XWikiGuest" }, "edit": {"XWiki.AdminGrgoup",
"XWiki.LudovicDubost" } }
If the list is empty at the parent level it will need to go at the upper
parent level (until it hits the global level).
Ludovic
Evelyne24 a écrit :
> 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.
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
>
--
Ludovic Dubost
Blog: http://www.ludovic.org/blog/
XWiki: http://www.xwiki.com
Skype: ldubost GTalk: ldubost
AIM: nvludo Yahoo: ludovic
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs