Uploaded image for project: 'ModeShape'
  1. ModeShape
  2. MODE-1583

Improve JSON representation used in REST service

    Details

    • Type: Enhancement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 3.0.0.Beta2
    • Fix Version/s: 3.0.0.Beta3
    • Component/s: JCR, Server
    • Labels:
      None

      Description

      The 2.x REST service uses JSON representations that can be improved:

      1. 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 MODE-1541.
      2. 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.
      3. Child references, query results, and REFERENCE property values should include the URL of the referenced Node.
      4. Add support for efficiently updating/adding lots of nodes with one session (perhaps using multi-part posts).
      5. Support uploading one (or more) large binary values with POST/PUT (may be part of the multi-part updates).
      6. Ability to register node types by uploading a CND file.
      7. 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/...'.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  hchiorean Horia Chiorean
                  Reporter:
                  rhauch Randall Hauch
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: