IMO this should return an http error (and set errno to EINVAL ;) )
if there are holes in the number set.
It's up to the caller to send sane inputs.

+1 to the overall idea.

Thanks,
Caleb


On 04/10/2014 10:59 AM, Marius Dumitru Florea wrote:
> So if I put XWiki.XWikiRights_56_users on the request and there's no
> rights object what do you do? Create an object with number 0? Create
> an object with number 56? And if you want to add a new object how
> would you know the object number to put on the request so that you
> don't update existing objects instead?
> 
> The current behaviour is this:
> 
> 1) You ask the system to add a new object (i.e. allocate an object
> number) using the object add action, possibly passing property values
> like this
> 
> XWiki.XWikiRights_users = XWiki.Me
> 
> 2) You use the allocated number to update the object, passing property
> values like this
> 
> XWiki.XWikiRights_N_users = XWiki.Me
> 
> where N is the allocated object number.
> 
> What you want is to do this in a single step, but you won't
> know/control if the object is added or updated.
> 
> Thanks,
> Marius
> 
> On Thu, Apr 10, 2014 at 11:36 AM, Jean SIMARD <[email protected]> wrote:
>> Hi devs,
>>
>> In XWiki, if you send a POST request at the following URL
>> ('MySpace.MyPage' is a document that doesn't exist at the moment)
>>
>> /bin/save/MySpace/MyPage
>>
>> with the following HTTP parameters:
>>
>> * template=MySpace.MyTemplate
>> * XWiki.XWikiRights_0_users=XWiki.Me
>> * <others parameters>
>>
>> with 'MySpace.MyTemplate' a template document and 'XWiki.Me' a user of
>> the wiki.
>>
>> 2 cases:
>>
>> 1. If 'MySpace.MyTemplate' contains a 'XWiki.XWikiRights' object, then
>> the resulting document 'MySpace.MyPage' will have this object with its
>> property 'users' initialize with the value 'XWiki.Me' (see HTTP
>> parameters)
>> 2. If 'MySpace.MyTemplate' does not contain a 'XWiki.XWikiRights'
>> object, the resulting document 'MySpace.MyPage' will not contain it
>> either
>>
>> ### PROPOSAL
>> Create automatically the objects if they don't exist in the template
>> document.
>> ###
>>
>> To make it possible, it seems that we would need to refactor the method
>> 'readObjectsFromForm(EditForm, XWikiContext)' in the
>> 'com.xpn.xwiki.doc.XWikiDocument' class.  And probably modify also the
>> 'getObject(String)' from 'com.xpn.xwiki.web.EditForm' class.
>>
>> 2 things to take care:
>> * It seems there is no unit test for these methods.
>> * May this proposal be a security problem?
>>
>> WDYT?
>> --
>> Jean
>>
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
> 
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to