OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

camp message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Updated: (CAMP-25) Refine link structure


     [ http://tools.oasis-open.org/issues/browse/CAMP-25?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adrian Otto updated CAMP-25:
----------------------------

    Proposal: https://www.oasis-open.org/apps/org/workgroup/camp/download.php/48066/camp-25-2013-01-30.doc  (was: Proposal (this is an incomplete sketch and not final):

The "Link" type represents an action that can be taken or, more generally, an edge that can be traversed ("navigated") from the current node in the overall resource space. It encapsulates everything a User Agent needs to know in order to make the request. Where necessary, URIs may be URI templates as per RFC 6570. Those URIs MUST be variable-interpolated before use. Link names, variable types and variable names are enumerated [FIXME: new Appendix].

Grammar:
    link := method uri data
    method := { GET | POST | PUT | DELETE }         ; other methods may be used, e.g. HEAD or OPTIONS
    uri := {  |  }               ; may be a URI template a la RFC6570
    data := { entity | parameters}
Example:
    "links": [
      "get-assembly": {
        "method": "GET",
        "url" : "http://example.org/paas1/assemblies/27348932";
      },
      "create-new-assembly" : {
        "method": "POST",
        "url": "http://example.org/paas1/assemblies";,
        "entity": {
          "type": "RESOURCE",
          "name": "ASSEMBLY"
        }
      },
      "list-assemblies": {
        "method": "GET",
        "uri": "http://example.org/paas1/assemblies";,
        "parameters": [
          "start": {
            "name": "start",
            "value": "INTEGER (> 0)",
            "default": 0,
            "required": false,
          },
          "end": {
            ...
          },
          ...
        ]
      },
      ...
    ]

-----
Alternate: https://www.oasis-open.org/apps/org/workgroup/camp/download.php/47894/camp-25-2013-01-14.doc)

This issue is resolved. I am adding a revised proposal document that includes the changes required by the resolution. I plan to use this document as a base for other proposals that depend on the revised type details.

Prior proposal text was:

Proposal (this is an incomplete sketch and not final):

The "Link" type represents an action that can be taken or, more generally, an edge that can be traversed ("navigated") from the current node in the overall resource space. It encapsulates everything a User Agent needs to know in order to make the request. Where necessary, URIs may be URI templates as per RFC 6570. Those URIs MUST be variable-interpolated before use. Link names, variable types and variable names are enumerated [FIXME: new Appendix].

Grammar:
    link := method uri data
    method := { GET | POST | PUT | DELETE }         ; other methods may be used, e.g. HEAD or OPTIONS
    uri := {  |  }               ; may be a URI template a la RFC6570
    data := { entity | parameters}
Example:
    "links": [
      "get-assembly": {
        "method": "GET",
        "url" : "http://example.org/paas1/assemblies/27348932";
      },
      "create-new-assembly" : {
        "method": "POST",
        "url": "http://example.org/paas1/assemblies";,
        "entity": {
          "type": "RESOURCE",
          "name": "ASSEMBLY"
        }
      },
      "list-assemblies": {
        "method": "GET",
        "uri": "http://example.org/paas1/assemblies";,
        "parameters": [
          "start": {
            "name": "start",
            "value": "INTEGER (> 0)",
            "default": 0,
            "required": false,
          },
          "end": {
            ...
          },
          ...
        ]
      },
      ...
    ]

-----
Alternate: https://www.oasis-open.org/apps/org/workgroup/camp/download.php/47894/camp-25-2013-01-14.doc

> Refine link structure
> ---------------------
>
>                 Key: CAMP-25
>                 URL: http://tools.oasis-open.org/issues/browse/CAMP-25
>             Project: OASIS Cloud Application Management for Platforms (CAMP) TC
>          Issue Type: Improvement
>          Components: Spec
>            Reporter: Anish Karmarkar
>
> The current standard defines links as a structure that "must contain 'href' and may contain more" such as 'rel', 'type', etc. Depending on the level of HATEOAS support we envision, we may need a more extensive structure that supports "write" operations like POST or PUT and on-the-fly URL construction as in the proposal below.
> [This is drupal issue # 1058 raised by Tobias Kunze]

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]