-
Type: Improvement
-
Status: Resolved
-
Priority: Major
-
Resolution: Applied
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Domain Model
-
Labels:None
-
Proposal:
The AtomPub binding and browser bindings include metadata when representing properties.
Some of the metadata is optional in the schemata but there is no way for the client to control what is included in the response (Domain model and bindings)
=> Add options for the client to control what property metadata is required.
Some of the metadata that is mandatory is repeated many times if there are many objects in the response.
The two combined, increase the reposonse size significantly above the minimum that would be required for a client capable of caching the metadata.
The response size is still important for the mobile use case.
Compression, filtering and paging help, but so too will reducing the verbosity of the response.
Are optional but unset properties included in object representations?
(e.g. for driving forms)
If so can these be omitted?
=> Allow metadata to be excluded for properties.
=> Represent propertyId and value in an alternative compact form.
=> Exclude optional but unset properties
While metadata is include for properties it is not included for objects.
You can get the display name etc for the properties but not the object.
This implies that type metadata is cached, never required, or implied by the available actions.
=> Support optional metadata for objects?
browser binding property metadata example:
"cmis:contentStreamLength":
{ "id":"cmis:contentStreamLength", "localName":"cmis:contentStreamLength", "queryName":"cmis:contentStreamLength", "value":33987, "type":"integer", "displayName":"Content Length", "cardinality":"single" }Could be:
"cmis:contentStreamLength":33987
+ dictionary cache