-
Notifications
You must be signed in to change notification settings - Fork 322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add an meta property that identifies schema properties as deprecated #303
Comments
@cfraser this seems to fly in the face of our designs for XDM, where once a schema is defined as stable, it can't change. We will certainly have new versions and extensions, but the original remains. |
Thanks for the feedback @lrosenthol! I believe this proposal is complimentary to #161 as it allows a schema to evolve over time while affording the ability to be backwards compatible. I expect this will be an important feature that extensions will leverage as they learn more about how their schemas are being used and need to make breaking changes to the schema while still supporting data that has already been ingested. |
I feel like we need to allow our
My thoughts are that we should allow individual properties to be annotated with status after a schema becomes stable. For new properties, this would be temporary (once they are stable, too we remove the annotation) but for deprecated fields they would remain until the whole schema is deprecated. |
@kstreeter I think we need a big discussion on this as this was not the original design or plan for XDM and goes against some of the key philosophies that Oliver has been pushing on ACP |
For the record: I think both of @kstreeter's scenarios are sensible, but we should see deprecation always as a weapon of last resort. Therefore I'd suggest we leave the I'd still introduce it for the |
I support the need for "meta:status": "deprecated" on fields (not sure about other status values, didn't find the wiki page listing them). Use case: I assume this could be refused for schema stability reason, which is just an Adobe internal decision. But what about extension that customers make ? They may not want or may not be able to enforce such stability rules, and may need to mark fields obsolete. As a side note, I'm already seeing fields bearing the "meta:status" with value "deprecated" in the "person" schema. |
@kstreeter Given that we've taken this approach with the recent changes in #498 can we close this discussion and document that this is the approved approach? |
We have defacto adopted this proposal. |
What are the schemas that are affected by the issue
All schemas
Proposal
As our schemas change over time we will need a way to communicate that a property should no longer be used. For example, when a schema is being used to describe the schema in data storage the property should continue to be available so that data may be queried, but consumers and implementers should be alerted to the fact that the property should not longer be used to store data.
This requirement is similar to the schema level meta:status that was introduced in #161
The text was updated successfully, but these errors were encountered: