[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] Commented: (ODATA-351) Define ID, ReadLink and EditLink in Part 1: Protocol, define representation in Atom and JSON
[ http://tools.oasis-open.org/issues/browse/ODATA-351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33444#action_33444 ] Michael Pizzo commented on ODATA-351: ------------------------------------- A service can use the presence of a readlink to signal that an entity is read-only, even though the entities in the entity set MAY be updatable in general. Clients can use the presence of a readlink to signal that an entity is readonly. Adding the capabilities vocabulary helps make this clearer without changing the client processing rules. So, revised proposal: JSON Services: -MUST write the odata.id annotation for the object if it does not follow convention OR full metadata is specified -SHOULD write odata.id=null for "transient" entities (that cannot be refetched or updated) (in minimal or full metadata) -SHOULD write the odata.editlink annotation if entity is updatable and (editlink is different from the id OR full metadata) -SHOULD write the odata.readlink annotation if entity is read-only and (readlink is different from id OR full metadata) or (entity is updatable but readlink is different from editlink) -MAY write the odata.readlink annotation to signal that an entity is read-only but other entities in the set may be updatable -MAY write odata.readlink annotation to feed, in which case it MUST represent the original query -SHOULD NOT write odata.editlink or odata.id for feeds JSON Clients: -MAY assume an entity with odata.id=null cannot be compared to other entities, refetched, or updated -MAY generate the id for an entity by convention if it is not present in the entity -MAY use the id for an entity as an editlink if it is not transient and no editlink or readlink is present -SHOULD NOT attempt to update an entity with a readlink and no editlink, (i.e., should not "fabricate" an editlink if a readlink is present) -MAY use the editlink for an entity as a readlink if no readlink is present -MAY use the id for an entity as a readlink if it is not transient and no readlink or editlink is present ATOM, services -MUST write an <id> for the entry (this is required by ATOM) -SHOULD follow the naming pattern <id>odata.transient;{some-generated-unique-identifier-to-not-break-atom-parsers}</id> for transient ids -SHOULD write an edit link if, and only if the entry is updatable -SHOULD write a self link if, and only if, the entry is can be fetched and is read-only or the read link is different from the editlink -MUST write write an <id> for the feed that uniquely identifies the collection from which the feed was generated (required by ATOM). -MAY write a self link in a feed, in which case it MUST represent the original query -MUST write an <id> for a feed (this is required by ATOM) -MAY write a self link for a feed, in which case it MUST represent the original query -SHOULD NOT write edit link for a feed ATOM Clients: -MAY assume an entity with an id that matches the transient pattern cannot be compared to other entities, refetched, or updated -MAY interpret the edit link as a self link if no self link is present -SHOULD NOT attempt to update an entity without an editlink > Define ID, ReadLink and EditLink in Part 1: Protocol, define representation in Atom and JSON > -------------------------------------------------------------------------------------------- > > Key: ODATA-351 > URL: http://tools.oasis-open.org/issues/browse/ODATA-351 > Project: OASIS Open Data Protocol (OData) TC > Issue Type: Improvement > Components: OData ATOM Format , OData JSON Format, OData Protocol > Affects Versions: V4.0_WD01, V4.0_CSD01 > Environment: [Proposed] > Reporter: Ralf Handl > Fix For: V4.0_CSD02 > > > In certain situations, especially Data Aggregation, we need the concept of "transient" entities and feeds in addition to the already defined "addressable" entities and feeds. > Protocol should define the concepts ID, ReadLink and EditLink. > Restrictions due to Atom and AtomPub > - ID required, MUST be IRI > - Feed: MAY have Self-Link to re-retrieve THIS feed > - Entry > -- Links are optional > -- <link rel="self"> identifies resource equivalent to current resource > -- AtomPub: <link rel="edit"> can be used to retrieve, update, and delete the Resource represented by that Entry -- 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]