Thanks sergiu. I just figured it out :) On Sun, Apr 8, 2012 at 9:15 PM, Sergiu Dumitriu <ser...@xwiki.com> wrote:
> On 04/08/2012 11:34 AM, mohit gupta wrote: > >> I figured out what was the issue It needs to be >> >> Document doc=xwikiApi.getDocument("**MySpace. >> WebPreferences");* instead of* Document >> >> doc=xwikiApi.getDocument("**MySpace.WebHome"); >> >> After this worked perfectly for assigning the rights to single. But in my >> scneario i need to assign different rights to different users.Like i need >> to assign all possible rights to admin user but only view rights to >> general >> user. For this i have below code snippet >> >> >> doc=xwikiApi.getDocument("**MySpace.WebPreferences"); >> com.xpn.xwiki.api.Object >> rightsObject=doc.getObject("**XWiki.XWikiGlobalRights", >> true);//XWiki.**XWikiRightsXWiki.**XWikiGlobalRights >> rightsObject.set("users", "XWiki.MySpaceAdminUser"); >> rightsObject.set("levels", "view,comment,edit,delete,**admin"); >> rightsObject.set("allow", "1"); >> doc.save();//line1 >> // Till here i see on UI all rights are assigned to MySpaceAdminUser >> >> Document doc1=xwikiApi.getDocument("**MySpace.WebPreferences"); >> com.xpn.xwiki.api.Object >> rightsObject1=doc1.getObject("**XWiki.XWikiGlobalRights", >> true);//XWiki.**XWikiRightsXWiki.**XWikiGlobalRights >> rightsObject1.set("users", "XWiki.XWiki.**MySpaceGeneralUser"); >> rightsObject1.set("levels", "view"); >> rightsObject1.set("allow", "1"); >> doc1.save();//line2 >> >> // But here i see on UI all rights are revoked from MySpaceAdminUser and >> view right is assigned to MySpaceGeneralUser. Not sure why line 2 is >> revoking the rights given at line 1 >> > > doc.getObject and doc1.getObject return the exact same object, not a new > one. So instead of adding a new rights object for general users, you > replace the values for the admin users. You should use doc.newObject("XWiki. > **XWikiGlobalRights"). > > You should also reuse the same document, no need to get it twice, and only > call save once at the end. > > >> ---------- Forwarded message ---------- >> From: mohit gupta<motgu...@gmail.com> >> Date: Sun, Apr 8, 2012 at 7:34 PM >> Subject: Fwd: [xwiki-users] Looking for these xwiki java API'S or java >> class containing these functionality? >> To: XWiki Users<users@xwiki.org> >> >> >> I tried using thbelow lines also >> >> com.xpn.xwiki.api.Object rightsObject=doc.getObject("** >> XWiki.XWikiRights", >> true); instead of >> com.xpn.xwiki.api.Object >> rightsObject=doc.getObject("**XWiki.XWikiGlobalRights", true);[Though i >> want >> to use XWiki.XWikiGlobalRights as i want to set the rights at space level >> instead of page level] >> >> Also i tried >> rightsObject.set("levels", "view,comment,edit,delete,**admin"); instead >> of >> rightsObject.set("levels", "admin"); >> >> >> But still i do not see any rights assigned to mu user. >> >> >> >> ---------- Forwarded message ---------- >> From: mohit gupta<motgu...@gmail.com> >> Date: Sun, Apr 8, 2012 at 5:41 PM >> Subject: Re: [xwiki-users] Looking for these xwiki java API'S or java >> class >> containing these functionality? >> To: XWiki Users<users@xwiki.org> >> >> >> Hi Recardo, >> After implementation i successfully created the space *but could not >> assgin the assign the rights successfully(point 2 in below mail trail)*. >> >> Here is the code snippet that created the space and assign the rights to >> user (MySpaceUser) on this created space. I am trying to give admin rights >> to user MySpaceUser on space MySpace but when i go space preferences of >> MySpace, i do not see admin right checkbox as checked. Not sure am i >> missing something here? >> >> *com.xpn.xwiki.api.XWiki xwikiApi= new >> >> com.xpn.xwiki.api.XWiki(**context.getWiki(),context); >> Document doc=xwikiApi.getDocument("**MySpace.WebHome"); >> doc.setContent("Created the space programmatically"); >> doc.save(); >> com.xpn.xwiki.api.Object >> rightsObject=doc.getObject("**XWiki.XWikiGlobalRights", true); >> rightsObject.set("users", "XWiki.MySpaceUser"); >> rightsObject.set("levels", "admin"); >> rightsObject.set("allow", 1); >> doc.save(); >> * >> On Sat, Apr 7, 2012 at 3:29 AM,<Ricardo.Julio.Rodriguez.** >> fernan...@sergas.es <ricardo.julio.rodriguez.fernan...@sergas.es> >> >>> wrote: >>> >> >> Hi! >>> >>> ______________________________**__________ >>>> From: users-boun...@xwiki.org [users-boun...@xwiki.org] On Behalf Of >>>> >>> mohit gupta [motgu...@gmail.com] >>> >>>> Sent: 06 April 2012 19:42 >>>> To: XWiki Users >>>> Subject: [xwiki-users] Looking for these xwiki java API'S or java class >>>> >>> containing these functionality? >>> >>>> >>>> >>> The first thing I would like to understand someday is what does API apply >>> to! I mean, has XWiki a single API? Or has it a lot of them? Perhaps it >>> is >>> only a matter of taste, but I do really like to know how to correctly use >>> this concept. >>> >>> Can Method and API be indistinctly used? >>> >>> Hi Folks, >>>> >>>> I am looking for three xwiki java api's that do the following >>>> >>> functionality >>> >>>> 1) I give the space name to api and it creates the space with default >>>> >>> home >>> >>>> page . >>>> >>> >>> Perhaps this could be useful: >>> >>> {{velocity}} >>> #set ($mydoc = $xwiki.getDocument("Dummy.**WebHome")) >>> $mydoc.setContent("content") >>> $mydoc.save() >>> {{/velocity}} >>> >>> 2)I give userName,SpaceName and rightsName(like view,edit,delete,admin) >>>> >>> to >>> >>>> api and it gives these rights on given space name for the given username >>>> >>> >>> Does this page through any light to your doubt? >>> >>> http://extensions.xwiki.org/**xwiki/bin/view/Extension/**Setting+Rights<http://extensions.xwiki.org/xwiki/bin/view/Extension/Setting+Rights> >>> >>> 3)I give spaceName to api and it gives me whether the given space exists >>>> >>> or >>> >>>> not? >>>> >>> >>> I don't know how XWiki checks if a space exists when entered in an URL, >>> but perhaps this could help... >>> >>> $xwiki.getSpaceDocsName('**YourSpaceHere).size() >>> >>> If size> 0 does mean that YourSpace exists! >>> >>> I was looking for three apis in classes ---com.xpn.xwiki.xwiki.java and >>>> com.xpn.xwiki.api.xwiki.java but i could not locate these. But i am sure >>>> these api's must >>>> be existing (as user is able to do these stuff from user interface). I >>>> >>> will >>> >>>> be grateful if i can be directed to these apis? >>>> >>>> Thanks in advance. >>>> >>> >>> HTH! >>> >>> > > -- > Sergiu Dumitriu > http://purl.org/net/sergiu/ > > ______________________________**_________________ > users mailing list > users@xwiki.org > http://lists.xwiki.org/**mailman/listinfo/users<http://lists.xwiki.org/mailman/listinfo/users> > _______________________________________________ users mailing list users@xwiki.org http://lists.xwiki.org/mailman/listinfo/users