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

Reply via email to