Replies: 6 comments 18 replies
-
|
Beta Was this translation helpful? Give feedback.
-
Does odata specify that all fields listed in the metadata for a given resource must return from an open query against said resource? I could see this being useful to omit fields that aren't applicable to a given property type. But that may lead us down a rabbit hole of property type specific end points. |
Beta Was this translation helpful? Give feedback.
-
I think this goes against how OData is intended to work? A I think this proposal could still be used to inform the client which fields they should use as defaults in their select statements, and they could add more if they wanted, but a request without a |
Beta Was this translation helpful? Give feedback.
-
I think this is more specific to DOM/CDOM than your more general approach, but you brought up specifically the cost of calculating DOM/CDOM. (I don't, generally, know what goes into calculating ExpirationDate, either; I'd like to hear about that!) From the perspective of a data replicator client, I also don't want you to calculate DOM or CDOM. I don't want your calculated DOM/CDOM today because tomorrow it will be out of date. One partial solution is: we figure out (maybe through the DD group rather than the transport group) what information can be sent from the server to the client that allows the client to determine the current DOM/CDOM. I feel like I've seen some servers (can't remember specifically) that, instead of sending down DOM (or maybe, in addition to sending down DOM) they send down something like
On the server, I don't know exactly how or when those get calculated, but I imagine it could be cheaper. And maybe that's already something you're storing to do your calculation? On the client, we would calculate DOM as
No suggestion of a solution here, but maybe solving the DOM problem helps solve the original problem? |
Beta Was this translation helpful? Give feedback.
-
This wording from the OData 4.01 specification sounds like we can actually do this:
This sounds like you may return a default set of properties instead of the full set. It seems to give flexibility to determine what that default set is. edit: the next line in the sepc also supports this:
https://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#_Toc31358942 v4 has similar text:
|
Beta Was this translation helpful? Give feedback.
-
Action items for proposal:
|
Beta Was this translation helpful? Give feedback.
-
Problem: OData assumes all fields for the selected fields of a resource by default and some fields (like cumulative days on market) can be more complex or query performance intensive for the providers to generate that other simple data entry fields. Many feeds do not necessarily need process these fields so the generation effort spent is wasted.
Proposal: Add a Boolean field 'DefaultSelectedYN
to the
Fields` resources to communicate to clients if a field is not part of the query's default wildcard select on a given resource. Fields with the boolean set to False will only be included in the query response payload if they are explicitly listed in the select segment of the query.Beta Was this translation helpful? Give feedback.
All reactions