forked from adobe/xdm
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent-component-details.schema.json
More file actions
144 lines (144 loc) · 9.25 KB
/
content-component-details.schema.json
File metadata and controls
144 lines (144 loc) · 9.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
{
"meta:license": [
"Copyright 2021 Adobe Systems Incorporated. All rights reserved.",
"This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license",
"you may not use this file except in compliance with the License. You may obtain a copy",
"of the License at https://creativecommons.org/licenses/by/4.0/"
],
"$schema": "http://json-schema.org/draft-06/schema#",
"$id": "https://ns.adobe.com/experience/decisioning/content-component-details",
"meta:extensible": true,
"type": "object",
"title": "Content Component Details",
"description": "Content components are the fragments associated with the a particular content representation. Those fragments are used to compose the end-user experience.",
"definitions": {
"content-component-details": {
"properties": {
"@type": {
"$ref": "#/definitions/content-component-type",
"description": "Type of the component. Acts as processing contract for the client. When the experience is assembled the composer will look for the component(s) that have a specific type.",
"meta:descriptionId": "content-component-details##@type##description##57231"
},
"dc:format": {
"type": "string",
"title": "Format",
"pattern": "\\w+\\/[-.\\w]+(?:\\+[-.\\w]+)?",
"examples": [
"application/vnd.adobe.photoshop"
],
"description": "The physical or digital manifestation of the resource. Typically, Format should include the media-type of the resource. Format may be used to determine the software, hardware or other equipment needed to display or operate the resource. Recommended best practice is to select a value from a controlled vocabulary (for example, the list of [Internet Media Types](http://www.iana.org/ assignments/media-types/) defining computer media formats).",
"meta:titleId": "content-component-details##dc:format##title##46811",
"meta:descriptionId": "content-component-details##dc:format##description##63771"
},
"dc:language": {
"type": "array",
"title": "Language",
"items": {
"type": "string",
"pattern": "^(((([A-Za-z]{2,3}(-([A-Za-z]{3}(-[A-Za-z]{3}){0,2}))?)|[A-Za-z]{4}|[A-Za-z]{5,8})(-([A-Za-z]{4}))?(-([A-Za-z]{2}|[0-9]{3}))?(-([A-Za-z0-9]{5,8}|[0-9][A-Za-z0-9]{3}))*(-([0-9A-WY-Za-wy-z](-[A-Za-z0-9]{2,8})+))*(-(x(-[A-Za-z0-9]{1,8})+))?)|(x(-[A-Za-z0-9]{1,8})+)|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$"
},
"description": "The language or languages of the resource.\nLanguages are specified in language code as defined in [IETF RFC 3066](https://www.ietf.org/rfc/rfc3066.txt), which is part of BCP 47, which is used elsewhere in XDM.",
"examples": [
"\n",
"pt-BR",
"es-ES"
],
"meta:titleId": "content-component-details##dc:language##title##68851",
"meta:descriptionId": "content-component-details##dc:language##description##69681"
},
"repo:name": {
"type": "string",
"description": "Some hint about where to locate the repository that stores the external asset by the \"repo:id\".",
"meta:descriptionId": "content-component-details##repo:name##description##8141"
},
"repo:repositoryID": {
"type": "string",
"description": "An optional unique identifier to reference the asset in a content repository. When Platform APIs are used to retrieve the representation the client can expect an addtional propery \"repo:resolveUrl\" to retrieve the asset.",
"examples": [
"C87932A55B06F7070A49412D@AdobeOrg"
],
"meta:descriptionId": "content-component-details##repo:repositoryID##description##6791"
},
"repo:id": {
"type": "string",
"description": "An optional unique identifier to reference the asset in a content repository. When Platform APIs are used to retrieve the representation the client can expect an addtional propery \"repo:resolveUrl\" to retrieve the asset.",
"examples": [
"urn:aaid:sc:US:6dc33479-13ca-4b19-b25d-c805eff8a69e"
],
"meta:descriptionId": "content-component-details##repo:id##description##61971"
},
"repo:resolveURL": {
"type": "string",
"format": "uri-reference",
"meta:immutable": true,
"meta:usereditable": false,
"description": "An optional unique resource locator to read the asset in a content repository. This will make it easier to obtain the asset whithout the client understanding where the asset is manages and what APIs to call. This is similar to a HAL link but the semantic is simpler and more pursposeful.",
"examples": [
"https://plaftform.adobe.io/resolveByPath?path="/mycorp/content/projectx/fragment/prod/herobanners/banner14.html3""
],
"meta:descriptionId": "content-component-details##repo:resolveURL##description##86231"
},
"xdm:content": {
"type": "string",
"description": "An optional field to hold content directly. Instead of referencing content in an asset repository the component can hold simple content directly. This field is not used for composite, complex and binary content assets.",
"examples": [
""
],
"meta:descriptionId": "content-component-details##xdm:content##description##94191"
},
"xdm:deliveryURL": {
"type": "string",
"meta:usereditable": false,
"description": "An optional unique resource locator to obtain the asset from a content delivery network or service endpoint. This URL is used to access the asset publicly by a user agent.",
"examples": [
"https://cdn.adobe.io/content/projectx/fragment/prod/static/1232324wd32.jpeg",
"https://cdn.adobe.io/content/projectx/fragment/prod/static/{{imageName}}"
],
"meta:descriptionId": "content-component-details##xdm:deliveryURL##description##82731"
},
"xdm:linkURL": {
"type": "string",
"description": "An optional unique resource locator for user interactions. This URL is used to refer the end user to in a user agent and can be tracked.",
"examples": [
"https://cdn.adobe.io/tracker?code=23432&redirect=/content/projectx/fragment/prod/static/1232324wd32.jpeg",
"https://cdn.adobe.io/tracker?code={{code}}&redirect={{redirectPath}}"
],
"meta:descriptionId": "content-component-details##xdm:linkURL##description##5581"
}
}
},
"content-component-type": {
"type": "string",
"format": "uri-reference",
"title": "Content Component Type",
"description": "Content Component Type. An enumerated set of URIs where each value maps to a type given to the content component. Some consumers of the content representations are expecting the @type value to be a reference to schema that describes additional properties of the content component.",
"meta:titleId": "content-component-details##content-component-type##title##24131",
"meta:descriptionId": "content-component-details##content-component-type##description##65041"
}
},
"allOf": [
{
"$ref": "#/definitions/content-component-details"
},
{
"required": [
"@type",
"dc:format"
]
}
],
"meta:status": "stable",
"meta:titleId": "content-component-details##title##45771",
"meta:descriptionId": "content-component-details##description##86991",
"examples": [
{
"@type": "https://ns.adobe.com/experience/offer-management/content-component-html-template",
"dc:format": "text/x-handlebars-template+html",
"dc:language": [
"en"
],
"repo:name": "firstname.hbs",
"https://ns.adobe.com/experience/decisioning/content": "<p> The following text was replaced with a user profile attribute: {{profile.person.firstname}}.</p>"
}
]
}