Previous Page Arrow Next Page Arrow

Compliance Summary

The following table summaries the compliance levels for SData providers:

Feature

Compliance

Comments

Collection URL

MUST

There is a tolerance on the /sdata segment, which applies to all sdata URLs.
See Collection URL section.

Resource URL

MUST/SHOULD

Selector with resource ID MUST be supported.
Selector with predicate SHOULD be supported.

Property URL

SHOULD

Service Operation URL

MAY

Named Query URL

MAY

Template URL

MUST/MAY

Template URL MUST be supported on resource kind flagged with sme:canPost.
Template URL MAY be supported on service operations and named queries.

Schema URL

MUST

System URL

MAY

Intermediate URL

SHOULD

Query Parameters

MUST/SHOULD/MAY

  • MUST: startIndex, count, where, orderBy, include, precedence, select.
  • SHOULD: format, language.
  • MAY: search, includeSchema, returnDelta, trackingID, version.

Query Language

MUST/MAY

Basic level MUST be supported.
Other levels MAY be supported.

Naming Conventions

MUST

Resource Versioning

MAY

Extensibility

SHOULD

Internationalized URLs

MUST

Atom feed

MUST

Compliance for feed elements:

  • MUST: id, title, updated, link (self, schema).
  • SHOULD: author, category.
  • MAY: link (service, queries), SLE extensions.

Paging links are a MUST if paging is supported.
Post and template links are a MUST if POST is supported.

totalResults, startIndex and itemsPerPage are a MUST if indexed paging is supported.

Atom entry

MUST

Compliance for entry elements:

  • MUST: id, title, updated, self link, schema link (if not inside feed), sdata:payload.
  • SHOULD: author (if not inside a feed), category, content.
  • MAY: link (edit, service, queries), http:etag (MUST if sme:supportsETag is true), http elements (MUST for batch).

Post and template links are a MUST if POST is supported and entry is not inside a feed.

SData payload

MUST

Compliance for SData attributes:

  • SHOULD: key, url.
  • MAY: uuid (MUST if sme:hasUuid is true), lookup, descriptor, deleteMissing.

Null values MUST be flagged with xsi:nil="true".

Resource linking and embedding

MUST

Error payload

MUST

Tracking payload

MAY

Asynchronous operations MUST use the tracking payload.

Localized feeds and entries

SHOULD

Schema

MUST

Compliance for schema attributes:

  • MUST: name, type, sme:role, sme:pluralName, sme:relationship (if relationship property).
  • MUST (if true): nillable, sme:canGet/Post/Put/Delete, sme:canPageXxx, sme:hasUuid, sme:supportsETag, sme:isMandatory, sme:isReadOnly, sme:isCollection.
  • SHOULD: minOccurs, sme:label, sme:precedence.
  • SHOULD (if true): sme:hasTemplate, sme:unsupported, sme:canSearch/Sort/Filter,Group, sme:isUniqueKey, sme:isLocalized.
  • MAY: sme:path, sme:groupName, sme:batchingMode (MUST if batching), sme:invocationMode (MUST if service operation or named query), sme:syncXxx (MUST if synchronizable)

Schema Structure

MUST

Service operation and named query definitions

MAY

MUST use SData structure if present.

Auxiliary type definitions

MAY

Inlined Schemas

MAY

Imported Schemas

MAY

HTTPS Encryption

SHOULD

HTTP Authentication

SHOULD, unless more secure option

Basic mode SHOULD NOT be used over HTTP connections, only over HTTPS.
Digest mode MAY be used over HTTP

Sage SSO

SHOULD

When available

Query / Read operation

MUST (if sme:canGet is true)

Query Filtering

MUST (with sme:canFilter properties)

Basic query language MUST be supported.
Extended query language MAY be supported.

Query Sorting

MUST (with sme:canSort properties)

Multiple criteria SHOULD be supported.

Query Paging

MUST

Forwards paging MUST be supported (unless collection is guaranteed to always be small).
Backwards and indexed paging SHOULD be supported.

Query / ReadPayload Control

MUST

Query / Read Caching

MAY

Query / Read on Property URL

SHOULD

MUST when property element is flagged with sme:canGet.

Query on Intermediate URL

SHOULD

Error Handling (all operations)

MUST

Create operation

MUST (if sme:canPost is true)

Template for create

MUST (if sme:canPost is true)

Create on Property URL

MAY

MUST when property element is flagged with sme:canPost.

Reliable Posting

MAY

Update operation

MUST (if sme:canPut is true)

Partial update

MUST (on all properties with maxOccurs = 0)

Update of child resources

MUST

Limited to properties marked with sme:relationship="child"

Partial return

MAY

.

Update on property URL

MAY

MUST when property element is flagged with sme:canPut.

Delete operation

MUST (if sme:canDelete is true)

Delete Concurrency control with ETag

MAY

MUST on resource kinds flagged with sme:supportsETag.

Delete on Property URL

MAY

MUST when property element is flagged with sme:canDelete.

X-HTTP-Method-Override

SHOULD

Service Operations and Named Queries

MAY

MUST follow the SData specifications if used.

Batch Operations

MAY

MUST follow the SData specifications if used (resource kind marked with sme:batchingMode).

Registry

MAY

MUST comply with the SData registry contract if supported.


Previous Page Arrow Next Page Arrow