>From my limited understanding it should also be possible when CREATING nodes >to support these:
1) set the primary node type when creating a node 2) add mixins (or would that be expected to be done through the node type definitions ?) 3) support versionable (checking out / in a versioned node while making changes to it including children) Cheers - Andy On Feb 10, 2010, at 7:05 AM, Simon Gaeremynck wrote: > Hi, > > I just tried a GET, feed it to the operation and it works pretty well. > However, as it is now it will ignore all properties which names start with > 'jcr:'. > It's probably better to take the same approach as in the JsonReader and have > a set > of ignored names instead of ignoring everything. (uuid, primaryType, created, > ...) > > For the naming part: > We could also do something like this > :operation=tree > and then depending wether you're sending XML, json, .. > :json=.. > or > :xml=.. > > This way we can keep it all in 1 operation. > > For the above 2 reasons, re-using the code from contentloader would be a big > bonus (imho). > > Simon > > On 10 Feb 2010, at 14:46, Felix Meschberger wrote: > >> Hi, >> >> On 10.02.2010 15:36, Simon Gaeremynck wrote: >>> I'm not really sure what you mean by roundtripping to the JsonGetServlet? >> >> By round tripping I mean that I can feed the result of a GET to >> /some/node.json to the :tree operation and (given a clean state) get the >> same content structure. >> >> And vice versa: POST:tree to /some/node.json and then GET >> /some/node.json returns an equivalent JSON. >> >> >>> >>> Initial patch at [1]. >> >> Patch looks good, with one remark: Since this is json only (right now) >> how about using that as the name: >> >> operation=json >> :json=...json-data... >> >> WDYT ? >> >> Regards >> Felix >> >>> >>> Basicly what this does is: >>> - A SlingPostOperation with the operation :tree. >>> - Grab a string from the request parameter ':tree' >>> - Try to convert it to a JSONObject >>> - Walk over the JSONObject and create the nodes/properties in JCR as it >>> goes along. >>> - Save the session. >>> >>> >>> This doesn't use the ContentLoader service (yet) because AFAICT that is all >>> internal and >>> seems to be aimed primarily for loading bundle resources. (Haven't had a >>> close look though) >>> However, it would be good if this operation would use the JsonReader >>> provided by the contentloader >>> as that would remove code duplication and the JsonReader already has proper >>> test coverage. >>> >>> Simon >>> >>> [1] http://codereview.appspot.com/207057/show >>> >>> >>> On 10 Feb 2010, at 11:54, Felix Meschberger wrote: >>> >>>> Hi, >>>> >>>> Sounds great and the class looks good. I assume this provides >>>> round-tripping to the JsonGetServlet. >>>> >>>> So, if Simon would be contributing this, it would be nice. >>>> >>>> Regards >>>> Felix >>>> >>>> On 10.02.2010 00:46, Ian Boston wrote: >>>>> >>>>> Simon who works with me wrote this, but it takes a post of json in the >>>>> parameter tree as a modification to a sub tree. >>>>> >>>>> Our ui developers love it. They can convert many post operations into >>>>> one post. >>>>> >>>>> If of use, I'll ask Simon to submit as a patch on the jira. >>>>> Ian >>>>> >>>>> http://github.com/ieb/open-experiments/blob/master/slingtests/osgikernel/bundles/batch/src/main/java/org/sakaiproject/nakamura/batch/CreateTreeOperation.java >>>>> >>>>> >>>>> Sent from my iPhone >>>>> >>>>> On 9 Feb 2010, at 23:28, Andreas Schaefer <[email protected]> wrote: >>>>> >>>>>> I am currently working on a project where we might use Sling. In order >>>>>> to evaluate this I created my own Sling servlet in order to take JSon >>>>>> and create / merge (hibernate lingo) data. >>>>>> >>>>>> Therefore I would love to have a way to upload JSon and would be >>>>>> willing to lend a hand getting this off the ground. >>>>>> >>>>>> Cheers - Andy >>>>>> >>>>>> On Feb 9, 2010, at 3:02 PM, Ian Boston wrote: >>>>>> >>>>>>> We have implented something like this already, happy to share if of >>>>>>> interest. >>>>>>> >>>>>>> Ian >>>>>>> >>>>>>> Sent from my iPhone >>>>>>> >>>>>>> On 9 Feb 2010, at 18:45, "Felix Meschberger (JIRA)" <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> >>>>>>>> [ >>>>>>>> https://issues.apache.org/jira/browse/SLING-1172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12831583#action_12831583 >>>>>>>> ] >>>>>>>> >>>>>>>> >>>>>>>> Felix Meschberger commented on SLING-1172: >>>>>>>> ------------------------------------------ >>>>>>>> >>>>>>>> Sounds like a good idea. >>>>>>>> >>>>>>>> For JSON I am pretty sure round-tripping works alright. >>>>>>>> >>>>>>>> As for XML, things are probably different, because we have our own >>>>>>>> XML format for the loader, which is neither JCR document view nor >>>>>>>> JCR system view. >>>>>>>> >>>>>>>>> Allow uploading JSON files to create content structures >>>>>>>>> ------------------------------------------------------- >>>>>>>>> >>>>>>>>> Key: SLING-1172 >>>>>>>>> URL: https://issues.apache.org/jira/browse/SLING-1172 >>>>>>>>> Project: Sling >>>>>>>>> Issue Type: New Feature >>>>>>>>> Components: Servlets >>>>>>>>> Affects Versions: Servlets Post 2.0.4 >>>>>>>>> Reporter: Felix Meschberger >>>>>>>>> Fix For: Servlets Post 2.0.6 >>>>>>>>> >>>>>>>>> >>>>>>>>> Currently uploading a JSON file will just create the file node. >>>>>>>>> On the other hand it would be useful if uploading to a node with a >>>>>>>>> request extension of JSON, the JSON would be unpacked and handled >>>>>>>>> as if it would be a modification request with the JSON data being >>>>>>>>> the content to store. >>>>>>>>> This would be similar to JSON upload supported by CouchDB. >>>>>>>> >>>>>>>> -- >>>>>>>> This message is automatically generated by JIRA. >>>>>>>> - >>>>>>>> You can reply to this email to add a comment to the issue online. >>>>>>>> >>>>>> >>>>> >>> >>> >
