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 <jean.simard(a)xwiki.com> 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
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs