Extended schema vs extension schema
- Dominant language
- JavaScript
- Stars
- 266
- Forks
- 380
- Avg merge
- 5d 8h
- Merged PRs (30d)
- 9
Description
## What are the schemas that are affected by the issue
/extensions/adobe or any future "extension schema"
## What are examples of products that are impacted by the issue
Custom schema workflow of data platform
XDM PM today talks about a use-case where a tenant is able to configure an "extension schema" in the registry which along with the Adobe provided extensions can be used in a workflow where the user selects a base library schema ( for example https://ns.adobe.com/xdm/context/profile) and then is presented with a list of "extensions" that can be added. How you define an "extension schema" is something that needs to be formalized. Some have thought the meta:extends would do this, but that is not correct. The meta:extends is used in a "extended schema", or one which includes in it's allOf the schema that it extends.
If you look at the solution extension in the /extensions/adobe directory today, you will see that many of them use the meta:extends attribute but DO NOT include that schema in it's allOf. This is because they are intended to be mixed in later by the registry which it does. This meta:extends is being used today in those schema to describe what schema they COULD extend. We have two different way's to use the meta:extends which is a problem.
There was a proposal in https://github.com/adobe/xdm/pull/368 where @kstreeter suggested a new attribute named meta:intendedToExtend to define an extension schema the way PM is thinking of them. This attribute would be used to list any schemas that this custom schema can extend. I don't want that idea to be lost. All of those /extensions/adobe schemas should be updated to use this meta:intendedToExtend attribute.
Contributor guide
Research direction
Start by reviewing the schemas under /extensions/adobe and the proposal in PR 368, comparing current uses of meta:extends with the proposed meta:intendedToExtend distinction. Clarify the intended extension-schema semantics before updating the affected schemas; done means the distinction is formalized and the relevant Adobe extension schemas consistently use the agreed attribute.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json
- Domain
- backend-api-design, data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100