The 2.x REST service uses JSON representations that can be improved:
- Large binary values should be referenced with a URL, and the service should provide a new set of resources (e.g., "binary" in addition to "item" and "query"). See
- Properties should be moved up to the fields directly under the node document, rather than as 2.x does by putting them in a "properties" nested document.
- Child references, query results, and REFERENCE property values should include the URL of the referenced Node.
- Add support for efficiently updating/adding lots of nodes with one session (perhaps using multi-part posts).
- Support uploading one (or more) large binary values with POST/PUT (may be part of the multi-part updates).
- Ability to register node types by uploading a CND file.
- Any other improvements that make the REST service's JSON representation much more natural and easily-understood.
These changes will likely not be backward compatible with 2.x, so we need to still provide a way for 2.x-based clients to access the 2.x RESTful API. (We might accept moving the 2.x RESTful API to a slightly different URL; e.g., 'modeshape-rest/v1/...'.