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

Reply via email to