Skip to content

Commit

Permalink
Use campaign-experienceevent to define the mixin-class-relationship b…
Browse files Browse the repository at this point in the history
…etween experience and decision events. The mixin now also includes decisionevent as a class that can add the union of campaign mixins to decisioning events

On the other hand decisionevent now only needs to mix in the aggregated campaign-experienceevent and decision event will get the same union of mixin properties as before (see decisionevent.example.1.json to illustrate this)

Break up proposition schema into the definitions it contained, proposition and proposition-detail. proposition-metrics is now an optional part of proposition-detail. It does not need to be its own schema component.
Corrected a number of examples that didn't validate against their schemas
  • Loading branch information
jbeckert committed Feb 24, 2019
1 parent 21083ea commit 3e9c0e4
Show file tree
Hide file tree
Showing 14 changed files with 148 additions and 125 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@
"xdm:value": 1
}
},
"xdm:channel": "https://ns.adobe.com/xdm/channels/email",
"xdm:channel": {
"@id": "https://ns.adobe.com/xdm/channels/email"
},
"https://ns.adobe.com/experience/campaign/message": {
"xdm:id": 10000,
"xdm:profile": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@
"description": "Campaign ExperienceEvent Mixin for use with Schemas for Solution data ingestion. Includes the core/standard ExperienceEvent as well as the required Adobe Campaign ExperienceEvent Mixins.",
"meta:extensible": true,
"meta:abstract": true,
"meta:intendedToExtend": ["https://ns.adobe.com/xdm/context/experienceevent"],
"meta:intendedToExtend": [
"https://ns.adobe.com/xdm/context/experienceevent",
"https://ns.adobe.com/experience/decisioning/decisionevent"
],
"meta:extends": [
"https://ns.adobe.com/xdm/context/experienceevent-advertising",
"https://ns.adobe.com/xdm/context/experienceevent-application",
Expand All @@ -28,6 +31,7 @@
"https://ns.adobe.com/xdm/context/experienceevent-technical-details",
"https://ns.adobe.com/xdm/context/experienceevent-web",
"https://ns.adobe.com/experience/campaign/experienceevent-all",
"https://ns.adobe.com/experience/decisioning/proposition",
"https://ns.adobe.com/experience/target/experienceevent-shared",
"https://ns.adobe.com/experience/profile/experienceevent-shared",
"https://ns.adobe.com/experience/implementations-ext",
Expand Down Expand Up @@ -84,6 +88,9 @@
{
"$ref": "https://ns.adobe.com/experience/campaign/experienceevent-all"
},
{
"$ref": "https://ns.adobe.com/experience/decisioning/proposition"
},
{
"$ref": "https://ns.adobe.com/experience/target/experienceevent-shared"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@
"meta:extensible": true,
"meta:abstract": true,
"meta:intendedToExtend": ["https://ns.adobe.com/xdm/context/experienceevent"],
"meta:extends": [
"https://ns.adobe.com/experience/decisioning/proposition#/definitions/propositions-mixin"
],
"description": "Adobe Campaign ExperienceEvent Full Extension. Contains all Solution added fields.",
"definitions": {
"campaign-experienceevent-all": {
Expand Down Expand Up @@ -281,7 +278,7 @@
"https://ns.adobe.com/experience/campaign/offerClicked": {
"title": "Offer Clicked",
"description": "The offer in the message for a clicked event to an offer.",
"$ref": "https://ns.adobe.com/experience/decisioning/proposition#/definitions/proposition-detail-datatype"
"$ref": "https://ns.adobe.com/experience/decisioning/proposition-detail"
}
}
},
Expand All @@ -299,9 +296,6 @@
{
"$ref": "#/definitions/campaign-experienceevent-all"
},
{
"$ref": "https://ns.adobe.com/experience/decisioning/proposition#/definitions/propositions-mixin"
},
{
"$ref": "#/definitions/mutation"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
"xdm:value": 1
}
},
"xdm:channel": "https://ns.adobe.com/xdm/channels/email",
"xdm:channel": {
"@id": "https://ns.adobe.com/xdm/channels/email"
},
"xdm:endUserIDs": {
"https://ns.adobe.com/experience/mcid": {
"xdm:id": "92312748749128",
Expand Down Expand Up @@ -82,5 +84,15 @@
"https://ns.adobe.com/experience/campaign/orchestration": {
"xdm:eventID": "store-entry-beacon-triggered"
},
"https://ns.adobe.com/experience/campaign/eventSource": "pipelined-trackinglogd"
"https://ns.adobe.com/experience/campaign/eventSource": "pipelined-trackinglogd",
"https://ns.adobe.com/experience/campaign/offerClicked": {
"xdm:activity": {
"@id": "xcore:offer-activity:ebc48132c26ccfc"
},
"xdm:selections": [
{
"@id": "xcore:personalized-offer:e526a1503bf29e9"
}
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
"xdm:value": 1
}
},
"xdm:channel": "https://ns.adobe.com/xdm/channels/email",
"xdm:channel": {
"@id": "https://ns.adobe.com/xdm/channels/email"
},
"xdm:endUserIDs": {
"https://ns.adobe.com/experience/mcid": {
"@id": "https://data.adobe.io/entities/identity/92312748749128",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
"xdm:value": 1
}
},
"xdm:channel": "https://ns.adobe.com/xdm/channels/apns",
"xdm:channel": {
"@id": "https://ns.adobe.com/xdm/channels/email"
},
"xdm:endUserIDs": {
"https://ns.adobe.com/experience/mcid": {
"@id": "https://data.adobe.io/entities/identity/92312748749128",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
"xdm:value": 1
}
},
"xdm:channel": "https://ns.adobe.com/xdm/channels/sms",
"xdm:channel": {
"@id": "https://ns.adobe.com/xdm/channels/email"
},
"xdm:endUserIDs": {
"https://ns.adobe.com/experience/mcid": {
"@id": "https://data.adobe.io/entities/identity/92312748749128",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,24 @@
{ "xdm:id": "https://data.adobe.io/entities/identity/49312748749132" }
]
},
"xdm:device": {
"xdm:typeID": "IMac",
"xdm:typeIDService": "https://ns.adobe.com/xdm/external/adobecampaign",
"xdm:type": "desktop",
"xdm:manufacturer": "Apple"
},
"xdm:placeContext": {
"xdm:localTime": "2017-09-26T15:52:25+13:00",
"xdm:geo": {
"@id": "https://data.adobe.io/entities/geo/tokyo",
"xdm:countryCode": "JP",
"xdm:stateProvince": "JP-13",
"xdm:city": "Tōkyō",
"xdm:postalCode": "141-0032",
"schema:latitude": 35.6185,
"schema:longitude": 139.73237
}
},
"https://ns.adobe.com/experience/decisioning/propositionId": "3cc33a7e-13ca-4b19-b25d-c816eff9a70a",
"https://ns.adobe.com/experience/decisioning/propositionDetails": [
{
Expand All @@ -27,13 +45,21 @@
"xdm:activity": {
"@id": "xcore:offer-activity:f203512e02542b5"
},
"xdm:fallback": [
{
"xdm:fallback": {
"@id": "xcore:fallback-offer:e91ce7243fd8c2a"
}
]
}
}
],
"https://ns.adobe.com/adobecloudplatform/ims/organizationId": "0D8E32C65A8A91520A494008@AdobeOrg",
"https://ns.adobe.com/experience/decisioning/containerId": "c75afa32-371f-4895-8f43-b853dd9fe740"
"https://ns.adobe.com/experience/decisioning/containerId": "c75afa32-371f-4895-8f43-b853dd9fe740",
"https://ns.adobe.com/experience/campaign/offerClicked": {
"xdm:activity": {
"@id": "xcore:offer-activity:f3f13bfccb4da6e"
},
"xdm:selections": [
{
"@id": "xcore:personalized-offer:f3e4b72eb3808e9"
}
]
}
}
49 changes: 4 additions & 45 deletions extensions/adobe/experience/decisioning/decisionevent.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,9 @@
"meta:extends": [
"https://ns.adobe.com/xdm/data/time-series",

"https://ns.adobe.com/experience/decisioning/proposition#/definitions/propositions-mixin",

"https://ns.adobe.com/experience/decisioning/proposition",
"https://ns.adobe.com/xdm/context/identitymap",
"https://ns.adobe.com/xdm/context/experienceevent-advertising",
"https://ns.adobe.com/xdm/context/experienceevent-application",
"https://ns.adobe.com/xdm/context/experienceevent-channel",
"https://ns.adobe.com/xdm/context/experienceevent-commerce",
"https://ns.adobe.com/xdm/context/experienceevent-directmarketing",
"https://ns.adobe.com/xdm/context/experienceevent-environment-details",
"https://ns.adobe.com/xdm/context/experienceevent-marketing",
"https://ns.adobe.com/xdm/context/experienceevent-media",
"https://ns.adobe.com/xdm/context/experienceevent-search",
"https://ns.adobe.com/xdm/context/experienceevent-segmentmembership",
"https://ns.adobe.com/xdm/context/experienceevent-web"
"https://ns.adobe.com/experience/campaign-experienceevent"
],
"definitions": {
"decisionevent": {
Expand Down Expand Up @@ -62,43 +51,13 @@
"$ref": "#/definitions/decisionevent"
},
{
"$ref": "https://ns.adobe.com/experience/decisioning/proposition#/definitions/propositions-mixin"
"$ref": "https://ns.adobe.com/experience/decisioning/proposition"
},
{
"$ref": "https://ns.adobe.com/xdm/context/identitymap"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-advertising"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-application"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-channel"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-commerce"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-directmarketing"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-environment-details"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-marketing"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-media"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-search"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-segmentmembership"
},
{
"$ref": "https://ns.adobe.com/xdm/context/experienceevent-web"
"$ref": "https://ns.adobe.com/experience/campaign-experienceevent"
},
{
"required": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@
"xdm:value": 1
}
},
"xdm:channel": "https://ns.adobe.com/xdm/channels/email",
"xdm:channel": {
"@id": "https://ns.adobe.com/xdm/channels/email"
},
"https://ns.adobe.com/experience/campaign/message": {
"xdm:id": 10000,
"xdm:profile": {
Expand Down Expand Up @@ -106,11 +108,9 @@
"xdm:filter": "xcore:offer-filter:ec5139e1a351772",
"schema:name": "Sessions"
},
"xdm:fallback": [
{
"xdm:fallback": {
"@id": "xcore:fallback-offer:e91ce7243fd8c2a"
}
]
}
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
"xdm:activity": {
"@id": "xcore:offer-activity:f203512e02542b5"
},
"xdm:fallback": [
{
"xdm:fallback": {
"@id": "xcore:fallback-offer:e91ce7243fd8c2a"
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{
"meta:license": [
"Copyright 2019 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/"
],
"$id": "https://ns.adobe.com/experience/decisioning/proposition-detail",
"$schema": "http://json-schema.org/draft-06/schema#",
"title": "Decision Proposition",
"type": "object",
"meta:abstract": true,
"meta:extensible": true,
"description": "The Decision Proposition XDM is used to capture the outcome of a decisioning process",
"definitions": {
"proposition-detail-datatype": {
"properties": {
"xdm:activity": {
"title": "Decision Activity",
"description": "Snapshot of the activity for which the proposition was made. The object contains at least the @id property value which is the URI of the decision activity. See schema https://ns.adobe.com/experience/decisioning/activity",
"$ref": "https://ns.adobe.com/xdm/data/record"
},
"xdm:selections": {
"title": "Selected Options",
"description": "Snapshots of the options that were selected for this activity. Those options are ususally constrained. The objects contain a at least the @id property value which is the URI of an option. See schema https://ns.adobe.com/experience/decisioning/option",
"type": "array",
"items": {
"$ref": "https://ns.adobe.com/xdm/data/record"
},
"minItems": 1,
"uniqueItems": true
},
"xdm:fallback": {
"title": "Fallback Option",
"description": "Snapshot of the fixed fallback option that was selected because no available option satisfied all constaints. The object contains at least the @id property value which is the URI of the fallback action. See schema https://ns.adobe.com/experience/decisioning/fallback-option",
"$ref": "https://ns.adobe.com/xdm/data/record"
},
"xdm:metrics": {
"title": "Metrics",
"description": "Additional measurements observed while the decision was made and which provided context to the decision process.",
"$ref": "https://ns.adobe.com/experience/decisioning/eventmetrics"
}
}
}
},
"allOf": [
{
"$ref": "https://ns.adobe.com/xdm/common/extensible#/definitions/@context"
},
{
"$ref": "#/definitions/proposition-detail-datatype"
},
{
"required": ["xdm:activity"]
},
{
"oneOf": [
{
"required": ["xdm:selections"]
},
{
"required": ["xdm:fallback"]
}
]
}
],
"meta:status": "experimental"
}
Loading

0 comments on commit 3e9c0e4

Please sign in to comment.