adobe / adobe/xdm

Extended schema vs extension schema

Open
#455 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.