adobe / adobe/xdm

WIP: Define metadata representation for computed fields

Open
#224 2 comments 0 reactions 0 assignees View on GitHub
enhancement
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
None specifically, but custom fields can be added to any schema. This is really a general purpose schema notation item.

## What are examples of products that are impacted by the issue
Profile Service, Segmentation Service.

Requirement.
It is common for data centric applications to have computed or aggregated data fields that are computed by a service.
- The fields often have a reference to the service that computed the value, or can compute it.

The proposal I am making is to use a new metadata tag to reference the service that can compute the data, or that did compute it.
```
“meta:computedAs” : “https://..../rules/aRule”.
```
An alternative or addition is to have a construct in data that has additional information including validity periods etc.

As an example, consider an "age" field in the person schema. This needs to be computed as it changes every year.

The schema could describe the service that can compute the value. And the data could be a more complex abstract schema that includes the result and a validity period.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the requirement and the proposed “meta:computedAs” example in this issue, along with the Profile Service and Segmentation Service use cases. Done requires agreement on whether the metadata tag, a data construct with validity periods, or both should represent computed fields; no file or test is identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
json
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.