Hi Evelina, Such methods already exist in GroupService. I have just added and committed access to theses in RightsManager plugin api. I created sub api because root api contains too many methods so the new ones are, in Velocity :
$xwiki.rightsmanager.userApi.countAllGlobalUsers() $xwiki.rightsmanager.userApi.countAllLocalUsers() $xwiki.rightsmanager.userApi.countAllMatchedGlobalUsers(Map) $xwiki.rightsmanager.userApi.countAllMatchedLocalUsers(Map) $xwiki.rightsmanager.userApi.countAllMatchedUsers(Map) $xwiki.rightsmanager.userApi.countAllMatchedWikiUsers(String, Map) $xwiki.rightsmanager.userApi.countAllUsers() $xwiki.rightsmanager.userApi.countAllWikiUsers(String) $xwiki.rightsmanager.groupApi.countAllGlobalGroups() $xwiki.rightsmanager.groupApi.countAllGroups() $xwiki.rightsmanager.groupApi.countAllLocalGroups() $xwiki.rightsmanager.groupApi.countAllMatchedGlobalGroups(Map) $xwiki.rightsmanager.groupApi.countAllMatchedGroups(Map) $xwiki.rightsmanager.groupApi.countAllMatchedLocalGroups(Map) $xwiki.rightsmanager.groupApi.countAllMatchedWikiGroups(String, Map) $xwiki.rightsmanager.groupApi.countAllWikiGroups(String) Same Map format that getAll*User and getAll*Groups methods. $xwiki.rightsmanager.countAllGroups() $xwiki.rightsmanager.countAllUsers() etc. are now deprecated. If you don't use it anymore I will clean the api. 2007/10/27, evelina.slatineanu <[EMAIL PROTECTED]>: > Hi all, > > My status about rights management: ready and working :) > There are 2 small problems: > > 1. currently I tested with 10.000 random generate users and it works > slowly because I need some new methods in the RM API to count the number > of returned rows (because I currently used something like: > > #set( $users = $rm.getAllMatchedGlobalUsers( $filterMap, $limit, $off, > $orderList ) ) > #set( $countUsers = $rm.getAllMatchedGlobalUsers( $filterMap ).size() ) > > so for count I just take ALL the users from the database and then apply > size() which is killing, I know :P ) > - so, Thomas, I will need the following methods: > > getAllMatchedLocalGroupsCount(filters) or > countAllMatchedLocalGroups(filters) (to keep the name from the other > methods) > getAllMatchedGlobalGroupsCount(filters) > > getAllMatchedLocalUsersCount(filters) > getAllMatchedGlobalUsersCount(filters) > > getAllMatchedUsersCount(filters) > getAllMatchedGroupsCount(filters) > > getAllMembersNamesForGroup(name) > getAllGroupsForMember(name) > > (...without the nb, start parameters) > > I then tested with the count put manually and it worked extremely well > (400 ms for 10.000 users this including all: database query, transfer, > javascript and dom processing - this on my personal laptop which has > limited capabilities :D ; like it is right now (with .size() ) it would > be 19 sec for 10.000! so a lot more :D ) so the count will improve the > ajax loading very much. > > 2. I need the suggest patch applyed :D I will make the patch for 1.1 (I > already apply it on the core and is working fine ) but someone has to > commit it ( I done it for GSOC for trunks 1.2) > > I just have to put some css to make it look prettier (some images and > some alignment, nothing complicated :) ) > > So the lightbox is working fine, the rights are working fine, the > loading will be quickly if I have this methods....And that's all for now > because my mail is already long :)) > > Thanks. > > Evelina > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

