adobe / adobe/xdm

Remove uri-reference validation for xdm:deliveryURL and xdm:linkURL

Open
#1,673 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
[decisioning/content-component-details.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/content-component-details.schema.json)

With chain of references in:
1. [decisioning/content-details.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/content-details.schema.json)
- [decisioning/contents.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/contents.schema.json)
- [decisioning/fallback-content-option.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/fallback-content-option.schema.json)
- [offer-management/fallback-content-offer.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/offer-management/fallback-content-offer.schema.json)
- [decisioning/personalized-content-option.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/personalized-content-option.schema.json)
- [offer-management/personalized-content-offer.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/offer-management/personalized-content-offer.schema.json)

2. [decisioning/option-detail.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/option-detail.schema.json)
- [decisioning/decisionevent.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/decisionevent.schema.json)
- [campaign-experienceevent.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/campaign-experienceevent.schema.json)
- [decisioning/decisionevent-all.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/decisionevent-all.schema.json)
- [decisioning/proposition-details.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/proposition-details.schema.json)
- [decisioning/proposition-detail.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/proposition-detail.schema.json)
- [decisioning/proposition-interaction-detail.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/proposition-interaction-detail.schema.json)
- [decisioning/experienceevent-proposition-interaction.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/decisioning/experienceevent-proposition-interaction.schema.json)
- [offer-management/offer-detail.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/offer-management/offer-detail.schema.json)
- [campaign/offer-detail.schema.json](https://github.com/adobe/xdm/blob/master/extensions/adobe/experience/campaign/offer-detail.schema.json)

## What are examples of products that are impacted by the issue
Adobe Experience Platform interacts with a backend service for storing Decisioning objects, such as Fallback Offers and Personalized Offers.

The backend service has already removed the uri-reference validation for these business objects, but the XDM schemas used by the Smarts deployments are present on the adobe/xdm open source project.

The backend service sends a change data capture event. A Smarts deployment reacts to it and validates the payload. Since the payload contains characters that are not allowed in a uri-reference, the event is discarded with an error.

Contributor guide

Open the contributing guide

Research direction

Start with decisioning/content-component-details.schema.json and trace the listed references through the decisioning and offer-management schemas. Locate the xdm:deliveryURL and xdm:linkURL uri-reference constraints, then validate the affected schemas and confirm payloads containing previously rejected characters are accepted.

Written by the indexing model from the issue text.

Assessment

Tech stack
json
Domain
data
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.