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

