-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V4.0_CSD01
-
Fix Version/s: V4.0_CSD02
-
Component/s: ATOM Format, JSON Format, Vocabularies
-
Labels:None
-
Environment:
[Applied]
-
Proposal:
-
Resolution:
We have added the ability for services to select the set of properties returned in a feed or individual entity, which allows the service to optimize results (for example, when sending to a device). However, we currently require that the service specify in the metadata url the set of properties returned, and that each entity in the result contain the same set of properties.
There are times when a particular property is not available to the client (for example, due to permissions), and that permission may vary between different elements of a feed. For example, a manager may be able to see salaries for those reporting to them but not to their peers. It's wrong to report "null" for the salaries of their peers; their peers have a salary, it's just not available to them.
We could define a "Permissions" term in either core or capabilities vocabularies that could apply to an entity set or property in metadata and could be overwritten in the instance data.
It is important to do this in V4, so that client know to look for this annotation in the absence of a value for a property. We might want to rationalize this with permissions for update versus readonly in the capabilities vocabulary.