You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the RESO Developer Conference, the group approved moving the following items forward for the proposal phase.
Background
In order to make server metadata easier to work with, as well as more Data Dictionary friendly and transport agnostic, this proposal establishes requirements on the existing Field Resource and adds a new resource called "Model" to represent models of type "Resource" or "ComplexType."
The term "Resource" is used the same way the Data Dictionary uses it now, but there can be other kinds of models as well so the terminology has been generalized.
This proposal works with both OData Web APIs and RESO Common Format, and in the latter case a non-OData server could advertise their metadata in standard format using the Model, Field, and Lookup Resources.
Field Resource
The following fields will be removed from the Field Resource:
ResourceName will be deprecated in favor of ModelKey.
Providers MAY still use these fields for backwards compatibility, if needed, but the standard versions of these items MUST also be present in that case. Deprecated items will be treated as local in RESO Analytics.
The following fields will be added to the Field Resource:
LookupName - Add LookupName to the Field Resource as a nullable string that describes which sets of standard or local lookups are referenced in the Lookup Resource.
The Data Dictionary currently defines lookup names, such as StandardStatus, but LookupName will not be validated against the Data Dictionary Lookup Name.
If LookupName is present in the Field Resource, there MUST be a corresponding LookupName entry in the Lookup Resource.
Type - Edm.String, non-nullable. Examples: org.yourOrgName.CustomTypeABC123, org.reso.metadata.StandardStatus, Property.
CollectionYN - Edm.Boolean, default false.
ExpandableYN - Edm.Boolean, default false.
NullableYN - Edm.Boolean, default true.
Length - Edm.Int32, Length of Edm.String data types. Nullable.
Precision and Scale - Edm.Int32, supports both Edm.Decimal, Edm.Double types and follow the IEEE 754 definitions. Nullable.
ModificationTimestamp - Edm.DateTimeOffset, not nullable.
Usage Requirements for RESO Web API Providers
The Lookup Resource may be supported even if the server is not using the Model and Field Resources, but if so, all three will be present.
If a server does not support the Model, Field, or Lookup Resources, they should respond with a non-2XX HTTP status. The client would then know to query the OData XML Metadata instead.
It is expected that servers using the Model and Field Resources will provide the minimum metadata required in OData XML Metadata, i.e. EntityType and Property definitions.
If "Property" exists in the Model Resource with Type "Resource," for example, the OData XML Metadata MUST have an EntityType of Property in its default entity container.
For those using the Model Resource, if the OData XML Metadata has an EntityType of Property in its default entity container, the provider MUST have a corresponding entry in the Model Resource.
All Resource/EntityType definitions MUST also have at least one PrimaryKey, but composite keys are possible. The key(s) MUST be present in the Model Resource and match what's in the EntityType definition.
All models of type "Resource" MUST have at least one standard or local field, meaning there will also be entries in the Field Resource and corresponding Property definitions in the OData XML Metadata. This follows from the PrimaryKey requirement of EntityType definitions.
RESO requires an exact match between the field names and data types used in the Data Dictionary and OData names and types.
For local fields, there MUST be parity between the Field Resource definition and the OData XML Metadata. Data type mappings may be found here. These items also map to JSON types and are part of the RESO Common Format.
Originally posted by SergioDelRioT4Bi January 19, 2023
I would love to finalize the fields in the Fields Resource and get this fully integrated into the specification.
Currently, we have a set of fields defined in the Data Dictionary: Field Resource
During the RESO Developer Conference, the group approved moving the following items forward for the proposal phase.
Background
In order to make server metadata easier to work with, as well as more Data Dictionary friendly and transport agnostic, this proposal establishes requirements on the existing Field Resource and adds a new resource called "Model" to represent models of type "Resource" or "ComplexType."
The term "Resource" is used the same way the Data Dictionary uses it now, but there can be other kinds of models as well so the terminology has been generalized.
This proposal works with both OData Web APIs and RESO Common Format, and in the latter case a non-OData server could advertise their metadata in standard format using the Model, Field, and Lookup Resources.
Field Resource
The following fields will be removed from the Field Resource:
Providers MAY still use these fields for backwards compatibility, if needed, but the standard versions of these items MUST also be present in that case. Deprecated items will be treated as local in RESO Analytics.
The following fields will be added to the Field Resource:
Model Resource
A new resource called "Model" will be created with the following fields.
Usage Requirements for RESO Web API Providers
Discussed in #70
Originally posted by SergioDelRioT4Bi January 19, 2023
I would love to finalize the fields in the Fields Resource and get this fully integrated into the specification.
Currently, we have a set of fields defined in the Data Dictionary: Field Resource
The initial proposal is documented here: Initial Proposal
So, let's discuss what fields need to be added, here are my initial thoughts: