From 16f4e380a503ea81d410cadd9df5f16ad6dcd95d Mon Sep 17 00:00:00 2001 From: cdegroot-adobe Date: Wed, 1 Aug 2018 18:22:34 -0400 Subject: [PATCH 01/24] Issue 399 - Main changes Changed name of context\pushNotificationTokens.schema.json and related examples to context\notificationSubscription.schema.json Added email and topicID support Updated all text Claened up trailing new lines --- .../notificationSubscription.example.1.json | 30 +++++++++++++ .../notificationSubscription.example.2.json | 9 ++++ ...n => notificationSubscription.schema.json} | 36 ++++++++++------ schemas/context/profile.schema.json | 8 ++-- .../pushnotificationtoken.example.1.json | 42 ------------------- 5 files changed, 67 insertions(+), 58 deletions(-) create mode 100644 schemas/context/notificationSubscription.example.1.json create mode 100644 schemas/context/notificationSubscription.example.2.json rename schemas/context/{pushnotificationtoken.schema.json => notificationSubscription.schema.json} (58%) delete mode 100644 schemas/context/pushnotificationtoken.example.1.json diff --git a/schemas/context/notificationSubscription.example.1.json b/schemas/context/notificationSubscription.example.1.json new file mode 100644 index 000000000..70f2e1122 --- /dev/null +++ b/schemas/context/notificationSubscription.example.1.json @@ -0,0 +1,30 @@ +{ + "xdm:token": "aaskqQSKBe:APA91bFrV4kOumjYz9McnMB1rcuSWXoGMzrTasw2IqhDH4KrWD1alLu2DhtDZXx2UELV1G7ylJMoHRkAlsSEMhkzAdjSWQvwbIrFMviuJEtg9KcBSnoPlsRHwp9ddLBEHVqNU9rk6LQ", + "xdm:topicID": "40ac9bf9-721d-44ac-8cf3-fb04c089f3be", + "xdm:registrationDate": "2017-09-26T15:52:25+00:00", + "xdm:environment": { + "xdm:operatingSystem": "iOS", + "xdm:operatingSystemVersion": "11.2.1", + "xdm:connectionType": "mobile" + }, + "xdm:device": { + "xdm:typeId": "TypeIdentifier-111", + "xdm:typeIdService": "deviceAtlas", + "xdm:type": "mobile", + "xdm:manufacturer": "Apple", + "xdm:model": "iPhone 6", + "xdm:modelNumber": "A1586", + "xdm:screenHeight": 667, + "xdm:screenWidth": 375, + "xdm:colorDepth": 16777216 + }, + "xdm:application": { + "xdm:id": "Abc123", + "xdm:name": "someApp", + "xdm:version": "102.0" + }, + "xdm:channel": { + "@id": "https://ns.adobe.com/xdm/channels/mobile-app", + "@type": "https://ns.adobe.com/xdm/channel-types/mobile" + } +} diff --git a/schemas/context/notificationSubscription.example.2.json b/schemas/context/notificationSubscription.example.2.json new file mode 100644 index 000000000..0ef921c6b --- /dev/null +++ b/schemas/context/notificationSubscription.example.2.json @@ -0,0 +1,9 @@ +{ + "xdm:emailAddress": "someone@email.com", + "xdm:topicID": "40ac9bf9-721d-44ac-8cf3-fb04c089f3be", + "xdm:registrationDate": "2017-09-26T15:52:25+00:00", + "xdm:channel": { + "@id": "https://ns.adobe.com/xdm/channels/email", + "@type": "https://ns.adobe.com/xdm/channel-types/email" + } +} diff --git a/schemas/context/pushnotificationtoken.schema.json b/schemas/context/notificationSubscription.schema.json similarity index 58% rename from schemas/context/pushnotificationtoken.schema.json rename to schemas/context/notificationSubscription.schema.json index 570afc82f..c75b4f9f4 100644 --- a/schemas/context/pushnotificationtoken.schema.json +++ b/schemas/context/notificationSubscription.schema.json @@ -5,40 +5,52 @@ "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/xdm/context/pushnotificationtoken", + "$id": "https://ns.adobe.com/xdm/context/notificationSubscription", "$schema": "http://json-schema.org/draft-06/schema#", - "title": "Push Notification Token", + "title": "Notification subscription", "type": "object", "meta:extensible": true, "description": - "Push notification tokens are used to communicate with applications that\nare installed on devices or SaaS application accounts. Examples include mobile\napplication notifications over notification services like the Apple Push\nNotification service.\n", + "Notification subscriptions are used to communicate with endusers via any channels e.g applications that are installed on devices, email.", "definitions": { - "pushnotificationtoken": { + "notificationSubscription": { "properties": { "xdm:token": { "title": "Token", "type": "string", "description": - "The service specific token used to address the application for\ncommunication. e.g an Apple APN ID or a Google GCM ID.\n" + "The service specific token used to address the application for communication. e.g an Apple APN ID or a Google Firebase/Google GCM ID." + }, + "xdm:emailAddress": { + "title": "Address", + "type": "string", + "format": "email", + "description": + "The technical address, e.g 'name@domain.com' as commonly defined in RFC2822 and subsequent standards." + }, + "xdm:topicID": { + "title": "Topic Identifier", + "type": "string", + "description": "The topic that the notification subscription is permitted to message." }, "xdm:registrationDate": { "title": "Registration Date", "type": "string", "format": "date-time", "description": - "Date and time when the profile has authorized its application to receive\npush notifications.\n" + "Date and time when the enduser has authorized its application to receive notifications." }, "xdm:deregistrationDate": { "title": "Deregistration Date", "type": "string", "format": "date-time", "description": - "Date and time when the profile has disabled push notifications on the application.\n" + "Date and time when the enduser has disabled push notifications on the application. When the subscription is registered the xdm:deregistrationDate must be empty." }, "xdm:environment": { "title": "Environment", "$ref": "https://ns.adobe.com/xdm/context/environment", - "description": "Environment of at the time of the registration.\n" + "description": "Environment of at the time of the registration." }, "xdm:device": { "title": "Device", @@ -49,12 +61,12 @@ "title": "Application", "$ref": "https://ns.adobe.com/xdm/channels/application", "description": - "Application registered to receive Push Notifications.\n" + "Application registered to receive notifications." }, "xdm:channel": { "title": "Communication Channel", "$ref": "https://ns.adobe.com/xdm/channels/channel", - "description": "Channels for communicating with customers or users." + "description": "Channel used for the notification." } } } @@ -64,8 +76,8 @@ "$ref": "https://ns.adobe.com/xdm/common/extensible#/definitions/@context" }, { - "$ref": "#/definitions/pushnotificationtoken" + "$ref": "#/definitions/notificationSubscription" } ], - "meta:status": "stabilizing" + "meta:status": "experimental" } diff --git a/schemas/context/profile.schema.json b/schemas/context/profile.schema.json index 4c88d8437..3fd9f6534 100644 --- a/schemas/context/profile.schema.json +++ b/schemas/context/profile.schema.json @@ -77,13 +77,13 @@ "description": "Describes a users opting in and out preferences for communication by medium\nand communication type.\n" }, - "xdm:pushNotificationTokens": { - "title": "Push Notification Tokens", + "xdm:notificationSubscriptions": { + "title": "Notification Subscriptions", "type": "array", "description": - "Push notification tokens are used to communicate with applications that\nare installed on devices or SaaS application accounts.\n", + "Notification subscriptions are used to communicate with endusers that when they have enrolled for the notifications.", "items": { - "$ref": "https://ns.adobe.com/xdm/context/pushnotificationtoken" + "$ref": "https://ns.adobe.com/xdm/context/notificationSubscription" } }, "xdm:orgUnit": { diff --git a/schemas/context/pushnotificationtoken.example.1.json b/schemas/context/pushnotificationtoken.example.1.json deleted file mode 100644 index d6e9a2ef4..000000000 --- a/schemas/context/pushnotificationtoken.example.1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "xdm:token": "ABC123DEFG", - "xdm:registrationDate": "2017-09-26T15:52:25+00:00", - "xdm:environment": { - "xdm:type": "browser", - "xdm:browserDetails": { - "xdm:name": "Chrome", - "xdm:version": "63.0.3239", - "xdm:acceptLanguage": "en", - "xdm:cookiesEnabled": true, - "xdm:javaScriptEnabled": true, - "xdm:javaScriptVersion": "1.8.5", - "xdm:javaEnabled": true, - "xdm:javaVersion": "Java SE 8", - "xdm:viewportHeight": 600, - "xdm:viewportWidth": 300 - }, - "xdm:operatingSystem": "iOS", - "xdm:operatingSystemVersion": "11.2.1", - "xdm:connectionType": "mobile" - }, - "xdm:device": { - "xdm:typeId": "TypeIdentifier-111", - "xdm:typeIdService": "deviceAtlas", - "xdm:type": "mobile", - "xdm:manufacturer": "Apple", - "xdm:model": "iPhone 6", - "xdm:modelNumber": "A1586", - "xdm:screenHeight": 667, - "xdm:screenWidth": 375, - "xdm:colorDepth": 16777216 - }, - "xdm:application": { - "xdm:id": "Abc123", - "xdm:name": "facebook", - "xdm:version": "153.0" - }, - "xdm:channel": { - "@id": "https://ns.adobe.com/xdm/channels/facebook-feed", - "@type": "https://ns.adobe.com/xdm/channel-types/social" - } -} From 383d21b77aa7a9229854a19964d418cf4e7f3e01 Mon Sep 17 00:00:00 2001 From: cdegroot-adobe Date: Wed, 1 Aug 2018 18:33:47 -0400 Subject: [PATCH 02/24] Updated CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48f5894fe..69abd341e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Release 0.9.4 _Planned for August 17, 2018_ +* #458 Change `context\pushNotificationToken` to `context\notificationSubscription` and add support for more general notifications. ## Release 0.9.3 From 6b8bfb8a723464fdf14cb199238c89630c8b2fb5 Mon Sep 17 00:00:00 2001 From: cdegroot-adobe Date: Wed, 1 Aug 2018 18:38:58 -0400 Subject: [PATCH 03/24] Typo --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69abd341e..3f12848d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Release 0.9.4 _Planned for August 17, 2018_ + * #458 Change `context\pushNotificationToken` to `context\notificationSubscription` and add support for more general notifications. ## Release 0.9.3 From 8b186c41f8cd3710930c67eb0b3a7a2ca1357dac Mon Sep 17 00:00:00 2001 From: cdegroot-adobe Date: Thu, 27 Sep 2018 13:52:35 -0400 Subject: [PATCH 04/24] Major reorginixation of PR. - Undid the change to pushNotificationToken - Moved the notificationSubscriptions under the Campaign Extension -Reverted other changes. --- .../notificationSubscription.example.1.json | 0 .../notificationSubscription.example.2.json | 0 .../notificationSubscription.schema.json | 6 +- .../experience/campaign/profile.schema.json | 9 +++ schemas/context/profile.schema.json | 8 +-- .../pushnotificationtoken.example.1.json | 42 +++++++++++ .../context/pushnotificationtoken.schema.json | 71 +++++++++++++++++++ 7 files changed, 129 insertions(+), 7 deletions(-) rename {schemas/context => extensions/adobe/experience/campaign}/notificationSubscription.example.1.json (100%) rename {schemas/context => extensions/adobe/experience/campaign}/notificationSubscription.example.2.json (100%) rename {schemas/context => extensions/adobe/experience/campaign}/notificationSubscription.schema.json (90%) create mode 100644 schemas/context/pushnotificationtoken.example.1.json create mode 100644 schemas/context/pushnotificationtoken.schema.json diff --git a/schemas/context/notificationSubscription.example.1.json b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json similarity index 100% rename from schemas/context/notificationSubscription.example.1.json rename to extensions/adobe/experience/campaign/notificationSubscription.example.1.json diff --git a/schemas/context/notificationSubscription.example.2.json b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json similarity index 100% rename from schemas/context/notificationSubscription.example.2.json rename to extensions/adobe/experience/campaign/notificationSubscription.example.2.json diff --git a/schemas/context/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationSubscription.schema.json similarity index 90% rename from schemas/context/notificationSubscription.schema.json rename to extensions/adobe/experience/campaign/notificationSubscription.schema.json index c75b4f9f4..1b268b794 100644 --- a/schemas/context/notificationSubscription.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.schema.json @@ -1,17 +1,17 @@ { "meta:license": [ - "Copyright 2017 Adobe Systems Incorporated. All rights reserved.", + "Copyright 2018 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/xdm/context/notificationSubscription", + "$id": "https://ns.adobe.com/experience/campaign/notificationSubscription", "$schema": "http://json-schema.org/draft-06/schema#", "title": "Notification subscription", "type": "object", "meta:extensible": true, "description": - "Notification subscriptions are used to communicate with endusers via any channels e.g applications that are installed on devices, email.", + "Adobe Campaign notification subscriptions are used to communicate with endusers via any channels e.g applications that are installed on devices, email.", "definitions": { "notificationSubscription": { "properties": { diff --git a/extensions/adobe/experience/campaign/profile.schema.json b/extensions/adobe/experience/campaign/profile.schema.json index be5da7c8e..b370be932 100644 --- a/extensions/adobe/experience/campaign/profile.schema.json +++ b/extensions/adobe/experience/campaign/profile.schema.json @@ -27,6 +27,15 @@ "Journey AI open, click and fatigue scores for email channel" } } + }, + "xdm:notificationSubscriptions": { + "title": "Adobe Campaign Notification Subscriptions", + "type": "array", + "description": + "Adobe Campaign notification subscriptions are used to communicate with endusers that have enrolled for spacific notifications.", + "items": { + "$ref": "https://ns.adobe.com/experience/campaign/notificationSubscription" + } } } } diff --git a/schemas/context/profile.schema.json b/schemas/context/profile.schema.json index ddfad2fc0..f57d1ae78 100644 --- a/schemas/context/profile.schema.json +++ b/schemas/context/profile.schema.json @@ -77,13 +77,13 @@ "description": "Describes a users opting in and out preferences for communication by medium\nand communication type.\n" }, - "xdm:notificationSubscriptions": { - "title": "Notification Subscriptions", + "xdm:pushNotificationTokens": { + "title": "Push Notification Tokens", "type": "array", "description": - "Notification subscriptions are used to communicate with endusers that when they have enrolled for the notifications.", + "Push notification tokens are used to communicate with applications that\nare installed on devices or SaaS application accounts.\n", "items": { - "$ref": "https://ns.adobe.com/xdm/context/notificationSubscription" + "$ref": "https://ns.adobe.com/xdm/context/pushnotificationtoken" } }, "xdm:orgUnit": { diff --git a/schemas/context/pushnotificationtoken.example.1.json b/schemas/context/pushnotificationtoken.example.1.json new file mode 100644 index 000000000..d6e9a2ef4 --- /dev/null +++ b/schemas/context/pushnotificationtoken.example.1.json @@ -0,0 +1,42 @@ +{ + "xdm:token": "ABC123DEFG", + "xdm:registrationDate": "2017-09-26T15:52:25+00:00", + "xdm:environment": { + "xdm:type": "browser", + "xdm:browserDetails": { + "xdm:name": "Chrome", + "xdm:version": "63.0.3239", + "xdm:acceptLanguage": "en", + "xdm:cookiesEnabled": true, + "xdm:javaScriptEnabled": true, + "xdm:javaScriptVersion": "1.8.5", + "xdm:javaEnabled": true, + "xdm:javaVersion": "Java SE 8", + "xdm:viewportHeight": 600, + "xdm:viewportWidth": 300 + }, + "xdm:operatingSystem": "iOS", + "xdm:operatingSystemVersion": "11.2.1", + "xdm:connectionType": "mobile" + }, + "xdm:device": { + "xdm:typeId": "TypeIdentifier-111", + "xdm:typeIdService": "deviceAtlas", + "xdm:type": "mobile", + "xdm:manufacturer": "Apple", + "xdm:model": "iPhone 6", + "xdm:modelNumber": "A1586", + "xdm:screenHeight": 667, + "xdm:screenWidth": 375, + "xdm:colorDepth": 16777216 + }, + "xdm:application": { + "xdm:id": "Abc123", + "xdm:name": "facebook", + "xdm:version": "153.0" + }, + "xdm:channel": { + "@id": "https://ns.adobe.com/xdm/channels/facebook-feed", + "@type": "https://ns.adobe.com/xdm/channel-types/social" + } +} diff --git a/schemas/context/pushnotificationtoken.schema.json b/schemas/context/pushnotificationtoken.schema.json new file mode 100644 index 000000000..570afc82f --- /dev/null +++ b/schemas/context/pushnotificationtoken.schema.json @@ -0,0 +1,71 @@ +{ + "meta:license": [ + "Copyright 2017 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/xdm/context/pushnotificationtoken", + "$schema": "http://json-schema.org/draft-06/schema#", + "title": "Push Notification Token", + "type": "object", + "meta:extensible": true, + "description": + "Push notification tokens are used to communicate with applications that\nare installed on devices or SaaS application accounts. Examples include mobile\napplication notifications over notification services like the Apple Push\nNotification service.\n", + "definitions": { + "pushnotificationtoken": { + "properties": { + "xdm:token": { + "title": "Token", + "type": "string", + "description": + "The service specific token used to address the application for\ncommunication. e.g an Apple APN ID or a Google GCM ID.\n" + }, + "xdm:registrationDate": { + "title": "Registration Date", + "type": "string", + "format": "date-time", + "description": + "Date and time when the profile has authorized its application to receive\npush notifications.\n" + }, + "xdm:deregistrationDate": { + "title": "Deregistration Date", + "type": "string", + "format": "date-time", + "description": + "Date and time when the profile has disabled push notifications on the application.\n" + }, + "xdm:environment": { + "title": "Environment", + "$ref": "https://ns.adobe.com/xdm/context/environment", + "description": "Environment of at the time of the registration.\n" + }, + "xdm:device": { + "title": "Device", + "$ref": "https://ns.adobe.com/xdm/context/device", + "description": "The device originating the registration." + }, + "xdm:application": { + "title": "Application", + "$ref": "https://ns.adobe.com/xdm/channels/application", + "description": + "Application registered to receive Push Notifications.\n" + }, + "xdm:channel": { + "title": "Communication Channel", + "$ref": "https://ns.adobe.com/xdm/channels/channel", + "description": "Channels for communicating with customers or users." + } + } + } + }, + "allOf": [ + { + "$ref": "https://ns.adobe.com/xdm/common/extensible#/definitions/@context" + }, + { + "$ref": "#/definitions/pushnotificationtoken" + } + ], + "meta:status": "stabilizing" +} From 0d04ed887ee292dc84fd5db7f118fcbf09a4b1cc Mon Sep 17 00:00:00 2001 From: cdegroot-adobe Date: Thu, 27 Sep 2018 13:53:42 -0400 Subject: [PATCH 05/24] Follow on commit --- .../campaign/notificationSubscription.example.1.json | 3 ++- .../campaign/notificationSubscription.schema.json | 6 +++--- extensions/adobe/experience/campaign/profile.schema.json | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json index 70f2e1122..bdacd4939 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json @@ -1,5 +1,6 @@ { - "xdm:token": "aaskqQSKBe:APA91bFrV4kOumjYz9McnMB1rcuSWXoGMzrTasw2IqhDH4KrWD1alLu2DhtDZXx2UELV1G7ylJMoHRkAlsSEMhkzAdjSWQvwbIrFMviuJEtg9KcBSnoPlsRHwp9ddLBEHVqNU9rk6LQ", + "xdm:token": + "aaskqQSKBe:APA91bFrV4kOumjYz9McnMB1rcuSWXoGMzrTasw2IqhDH4KrWD1alLu2DhtDZXx2UELV1G7ylJMoHRkAlsSEMhkzAdjSWQvwbIrFMviuJEtg9KcBSnoPlsRHwp9ddLBEHVqNU9rk6LQ", "xdm:topicID": "40ac9bf9-721d-44ac-8cf3-fb04c089f3be", "xdm:registrationDate": "2017-09-26T15:52:25+00:00", "xdm:environment": { diff --git a/extensions/adobe/experience/campaign/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationSubscription.schema.json index 1b268b794..0d7f959f5 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.schema.json @@ -31,7 +31,8 @@ "xdm:topicID": { "title": "Topic Identifier", "type": "string", - "description": "The topic that the notification subscription is permitted to message." + "description": + "The topic that the notification subscription is permitted to message." }, "xdm:registrationDate": { "title": "Registration Date", @@ -60,8 +61,7 @@ "xdm:application": { "title": "Application", "$ref": "https://ns.adobe.com/xdm/channels/application", - "description": - "Application registered to receive notifications." + "description": "Application registered to receive notifications." }, "xdm:channel": { "title": "Communication Channel", diff --git a/extensions/adobe/experience/campaign/profile.schema.json b/extensions/adobe/experience/campaign/profile.schema.json index b370be932..57f27bba5 100644 --- a/extensions/adobe/experience/campaign/profile.schema.json +++ b/extensions/adobe/experience/campaign/profile.schema.json @@ -34,7 +34,8 @@ "description": "Adobe Campaign notification subscriptions are used to communicate with endusers that have enrolled for spacific notifications.", "items": { - "$ref": "https://ns.adobe.com/experience/campaign/notificationSubscription" + "$ref": + "https://ns.adobe.com/experience/campaign/notificationSubscription" } } } From 07d0d04a3267d23462a9591fade3d7747244e8bf Mon Sep 17 00:00:00 2001 From: cdegroot-adobe Date: Thu, 27 Sep 2018 13:55:55 -0400 Subject: [PATCH 06/24] Updated change log --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6401451e..f7ec87522 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ ## Release 0.9.5 +[Released on September 27th, 2018](https://github.com/adobe/xdm/releases/tag/v0.9.6) + +Fixed Issues + +Merged Pull Requests + +* #458 Implement a communications subscription Campaign extension. + +## Release 0.9.5 + [Released on August 31, 2018](https://github.com/adobe/xdm/releases/tag/v0.9.5) Fixed Issues From 3d6d3eb8ee07621a63d655c2314b023047254ec0 Mon Sep 17 00:00:00 2001 From: Chris de Groot <35702142+cdegroot-adobe@users.noreply.github.com> Date: Thu, 27 Sep 2018 13:57:07 -0400 Subject: [PATCH 07/24] Typo --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7ec87522..3a324aab7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,8 +47,6 @@ Merged Pull Requests * #474 Minor refactor of segment membership schemas to be more tool friendly * #475 Make experience schemas xed convertable for 0.9.9.4 release -* #458 Change `context\pushNotificationToken` to `context\notificationSubscription` and add support for more general notifications. - ## Release 0.9.3 [Released on July 16, 2018](https://github.com/adobe/xdm/releases/tag/v0.9.3) From c1d5f02b28257d42a3ba99de16fe250460ef9ab6 Mon Sep 17 00:00:00 2001 From: Chris de Groot <35702142+cdegroot-adobe@users.noreply.github.com> Date: Thu, 27 Sep 2018 13:57:29 -0400 Subject: [PATCH 08/24] Typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a324aab7..beecf2e7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## Release 0.9.5 +## Release 0.9.6 [Released on September 27th, 2018](https://github.com/adobe/xdm/releases/tag/v0.9.6) From bf3d8de930a2a6edd24c2213d9001ad0dc1bd448 Mon Sep 17 00:00:00 2001 From: John Date: Fri, 28 Sep 2018 11:16:27 -0400 Subject: [PATCH 09/24] Updated XDM changes --- .../notificationSubscription.example.1.json | 33 ++-------- .../notificationSubscription.example.2.json | 14 ++--- .../notificationSubscription.schema.json | 61 ++++++------------- .../experience/campaign/profile.schema.json | 2 +- 4 files changed, 29 insertions(+), 81 deletions(-) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json index bdacd4939..f6f1b5deb 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json @@ -1,31 +1,6 @@ { - "xdm:token": - "aaskqQSKBe:APA91bFrV4kOumjYz9McnMB1rcuSWXoGMzrTasw2IqhDH4KrWD1alLu2DhtDZXx2UELV1G7ylJMoHRkAlsSEMhkzAdjSWQvwbIrFMviuJEtg9KcBSnoPlsRHwp9ddLBEHVqNU9rk6LQ", "xdm:topicID": "40ac9bf9-721d-44ac-8cf3-fb04c089f3be", - "xdm:registrationDate": "2017-09-26T15:52:25+00:00", - "xdm:environment": { - "xdm:operatingSystem": "iOS", - "xdm:operatingSystemVersion": "11.2.1", - "xdm:connectionType": "mobile" - }, - "xdm:device": { - "xdm:typeId": "TypeIdentifier-111", - "xdm:typeIdService": "deviceAtlas", - "xdm:type": "mobile", - "xdm:manufacturer": "Apple", - "xdm:model": "iPhone 6", - "xdm:modelNumber": "A1586", - "xdm:screenHeight": 667, - "xdm:screenWidth": 375, - "xdm:colorDepth": 16777216 - }, - "xdm:application": { - "xdm:id": "Abc123", - "xdm:name": "someApp", - "xdm:version": "102.0" - }, - "xdm:channel": { - "@id": "https://ns.adobe.com/xdm/channels/mobile-app", - "@type": "https://ns.adobe.com/xdm/channel-types/mobile" - } -} + "xdm:type": "Campaign/SubscriptionList", + "xdm:subsriptionDate": "2017-09-26T15:52:25+00:00", + "xdm:emailAddress" : "johnDoe@adobe.com" +} \ No newline at end of file diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json index 0ef921c6b..55dd1b972 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json @@ -1,9 +1,7 @@ { - "xdm:emailAddress": "someone@email.com", - "xdm:topicID": "40ac9bf9-721d-44ac-8cf3-fb04c089f3be", - "xdm:registrationDate": "2017-09-26T15:52:25+00:00", - "xdm:channel": { - "@id": "https://ns.adobe.com/xdm/channels/email", - "@type": "https://ns.adobe.com/xdm/channel-types/email" - } -} + "xdm:topicID": "50ac9bf9-721d-44ac-8cf3-fb04c089f3be", + "xdm:type": "Campaign/SubscriptionList", + "xdm:subsriptionDate": "2017-02-26T15:52:25+00:00", + "xdm:unsubsriptionDate": "2017-09-26T15:52:25+00:00", + "xdm:emailAddress" : "johnDoe@adobe.com" +} \ No newline at end of file diff --git a/extensions/adobe/experience/campaign/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationSubscription.schema.json index 0d7f959f5..9c0fbfd2e 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.schema.json @@ -11,62 +11,37 @@ "type": "object", "meta:extensible": true, "description": - "Adobe Campaign notification subscriptions are used to communicate with endusers via any channels e.g applications that are installed on devices, email.", + "Adobe Campaign notification subscriptions allow endusers opt into topics that can be used for communication such as Marketing subscription lists", "definitions": { "notificationSubscription": { "properties": { - "xdm:token": { - "title": "Token", - "type": "string", - "description": - "The service specific token used to address the application for communication. e.g an Apple APN ID or a Google Firebase/Google GCM ID." - }, - "xdm:emailAddress": { - "title": "Address", - "type": "string", - "format": "email", - "description": - "The technical address, e.g 'name@domain.com' as commonly defined in RFC2822 and subsequent standards." - }, "xdm:topicID": { "title": "Topic Identifier", "type": "string", - "description": - "The topic that the notification subscription is permitted to message." + "description": "The topic that the enduser has subscribed to and opted into notifications for" }, - "xdm:registrationDate": { - "title": "Registration Date", + "xdm:type": { + "title": "Subscription type", "type": "string", - "format": "date-time", - "description": - "Date and time when the enduser has authorized its application to receive notifications." + "description": "The type of notification/subscription" }, - "xdm:deregistrationDate": { - "title": "Deregistration Date", + "xdm:subsriptionDate": { + "title": "Subscription Date", "type": "string", "format": "date-time", - "description": - "Date and time when the enduser has disabled push notifications on the application. When the subscription is registered the xdm:deregistrationDate must be empty." + "description": "Date and time when the enduser has subscribed to a notification topic" }, - "xdm:environment": { - "title": "Environment", - "$ref": "https://ns.adobe.com/xdm/context/environment", - "description": "Environment of at the time of the registration." - }, - "xdm:device": { - "title": "Device", - "$ref": "https://ns.adobe.com/xdm/context/device", - "description": "The device originating the registration." - }, - "xdm:application": { - "title": "Application", - "$ref": "https://ns.adobe.com/xdm/channels/application", - "description": "Application registered to receive notifications." + "xdm:unsubscriptionDate": { + "title": "Unsubscription Date", + "type": "string", + "format": "date-time", + "description": "Date and time when the enduser has unsubscribed from a notification topic. When the subscription is registered the xdm:unsubscriptionDate must be empty." }, - "xdm:channel": { - "title": "Communication Channel", - "$ref": "https://ns.adobe.com/xdm/channels/channel", - "description": "Channel used for the notification." + "xdm:emailAddress": { + "title": "Address", + "type": "string", + "format": "email", + "description": "The technical address, e.g 'name@domain.com' as commonly defined in RFC2822 and subsequent standards." } } } diff --git a/extensions/adobe/experience/campaign/profile.schema.json b/extensions/adobe/experience/campaign/profile.schema.json index 57f27bba5..42d863025 100644 --- a/extensions/adobe/experience/campaign/profile.schema.json +++ b/extensions/adobe/experience/campaign/profile.schema.json @@ -32,7 +32,7 @@ "title": "Adobe Campaign Notification Subscriptions", "type": "array", "description": - "Adobe Campaign notification subscriptions are used to communicate with endusers that have enrolled for spacific notifications.", + "Adobe Campaign notification subscriptions are used to communicate with endusers that have enrolled for specific notifications.", "items": { "$ref": "https://ns.adobe.com/experience/campaign/notificationSubscription" From e01adf97b8edc1b701c0af5664f4392e1d0b3712 Mon Sep 17 00:00:00 2001 From: cdegroot-adobe Date: Fri, 28 Sep 2018 15:20:13 -0400 Subject: [PATCH 10/24] Added Required Properties Improved examples Added a Profile example. --- .../notificationSubscription.example.1.json | 2 +- .../notificationSubscription.example.2.json | 2 +- .../notificationSubscription.schema.json | 14 +++++++++----- .../campaign/profile.example.1.json | 19 +++++++++++++++++++ 4 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 extensions/adobe/experience/campaign/profile.example.1.json diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json index f6f1b5deb..c53f7073d 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json @@ -3,4 +3,4 @@ "xdm:type": "Campaign/SubscriptionList", "xdm:subsriptionDate": "2017-09-26T15:52:25+00:00", "xdm:emailAddress" : "johnDoe@adobe.com" -} \ No newline at end of file +} diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json index 55dd1b972..88b029dce 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json @@ -4,4 +4,4 @@ "xdm:subsriptionDate": "2017-02-26T15:52:25+00:00", "xdm:unsubsriptionDate": "2017-09-26T15:52:25+00:00", "xdm:emailAddress" : "johnDoe@adobe.com" -} \ No newline at end of file +} diff --git a/extensions/adobe/experience/campaign/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationSubscription.schema.json index 9c0fbfd2e..1aea2005c 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.schema.json @@ -11,25 +11,25 @@ "type": "object", "meta:extensible": true, "description": - "Adobe Campaign notification subscriptions allow endusers opt into topics that can be used for communication such as Marketing subscription lists", + "Adobe Campaign notification subscriptions allow endusers opt into topics that can be used for communication such as Marketing subscription lists.", "definitions": { "notificationSubscription": { "properties": { "xdm:topicID": { "title": "Topic Identifier", "type": "string", - "description": "The topic that the enduser has subscribed to and opted into notifications for" + "description": "The topic that the enduser has subscribed to and opted into notifications for." }, "xdm:type": { "title": "Subscription type", "type": "string", - "description": "The type of notification/subscription" + "description": "The type of notification/subscription." }, "xdm:subsriptionDate": { "title": "Subscription Date", "type": "string", "format": "date-time", - "description": "Date and time when the enduser has subscribed to a notification topic" + "description": "Date and time when the enduser has subscribed to a notification topic." }, "xdm:unsubscriptionDate": { "title": "Unsubscription Date", @@ -44,7 +44,11 @@ "description": "The technical address, e.g 'name@domain.com' as commonly defined in RFC2822 and subsequent standards." } } - } + }, + "required": [ + "xdm:topicID", + "xdm:type" + ] }, "allOf": [ { diff --git a/extensions/adobe/experience/campaign/profile.example.1.json b/extensions/adobe/experience/campaign/profile.example.1.json new file mode 100644 index 000000000..3059c401f --- /dev/null +++ b/extensions/adobe/experience/campaign/profile.example.1.json @@ -0,0 +1,19 @@ +{ + "xdm:identities": [ + { + "xdm:id": "someone@example.com", + "xdm:namespace": { + "xdm:code": "Email" + } + } + ], + "xdm:notificationSubscriptions": [ + { + "xdm:topicID": "50ac9bf9-721d-44ac-8cf3-fb04c089f3be", + "xdm:type": "Campaign/SubscriptionList", + "xdm:subsriptionDate": "2017-02-26T15:52:25+00:00", + "xdm:unsubsriptionDate": "2017-09-26T15:52:25+00:00", + "xdm:emailAddress" : "johnDoe@adobe.com" + } + ] +} From 51ef4565b33d2e304bcd6b2185cb2051028fc0e5 Mon Sep 17 00:00:00 2001 From: cdegroot-adobe Date: Fri, 28 Sep 2018 15:31:16 -0400 Subject: [PATCH 11/24] Incremented the package.json version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d8146c002..27cbc0b15 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xdm", - "version": "0.9.6", + "version": "0.9.7", "description": "Experience Data Models", "main": "", "config": { From 2137d73452ce648e81573589cb46376c6c607d22 Mon Sep 17 00:00:00 2001 From: John Date: Mon, 15 Oct 2018 14:37:59 -0400 Subject: [PATCH 12/24] expand unsubscdription details to include remarks --- ...ificationUnSubscriptionDetails.schema.json | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json diff --git a/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json b/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json new file mode 100644 index 000000000..052b49bcb --- /dev/null +++ b/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json @@ -0,0 +1,49 @@ +{ + "meta:license": [ + "Copyright 2018 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/campaign/notificationUnSubscriptionDetails", + "$schema": "http://json-schema.org/draft-06/schema#", + "title": "Notification unsubscription details", + "type": "object", + "meta:extensible": true, + "description": + "Adobe Campaign notification unsubscriptions allow endusers opt out after opting into topics that can be used for communication such as Marketing subscription lists.", + "definitions": { + "notificationUnSubscription": { + "properties": { + "xdm:unsubscriptionDate": { + "title": "Unsubscription Date", + "type": "string", + "format": "date-time", + "description": "Date and time when the enduser has unsubscribed from a notification topic. When the subscription is registered the xdm:unsubscriptionDate must be empty." + }, + "xdm:remarkID": { + "title": "Remark Identifier", + "type": "string", + "description": "The pre defined remark that the enduser identified when unbsubscribing." + }, + "xdm:remarkText": { + "title": "Remark text", + "type": "string", + "description": "A customer comment/remark that the enduser provided when unbsubscribing." + } + } + }, + "required": [ + "xdm:unsubscriptionDate" + ] + }, + "allOf": [ + { + "$ref": "https://ns.adobe.com/xdm/common/extensible#/definitions/@context" + }, + { + "$ref": "#/definitions/notificationUnSubscriptionDetails" + } + ], + "meta:status": "experimental" +} From 4e1ff5ab8839a901db7b5f27ad6abeeece244f02 Mon Sep 17 00:00:00 2001 From: John Date: Mon, 15 Oct 2018 14:40:14 -0400 Subject: [PATCH 13/24] expand unsubscdription details to include remarks --- .../notificationSubscription.example.1.json | 2 +- .../notificationSubscription.example.2.json | 10 +++++++--- .../notificationSubscription.schema.json | 16 ++++++++-------- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json index c53f7073d..10b8660aa 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json @@ -1,6 +1,6 @@ { "xdm:topicID": "40ac9bf9-721d-44ac-8cf3-fb04c089f3be", "xdm:type": "Campaign/SubscriptionList", - "xdm:subsriptionDate": "2017-09-26T15:52:25+00:00", + "xdm:subscriptionDate": "2017-09-26T15:52:25+00:00", "xdm:emailAddress" : "johnDoe@adobe.com" } diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json index 88b029dce..e7a8b7261 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json @@ -1,7 +1,11 @@ { "xdm:topicID": "50ac9bf9-721d-44ac-8cf3-fb04c089f3be", "xdm:type": "Campaign/SubscriptionList", - "xdm:subsriptionDate": "2017-02-26T15:52:25+00:00", - "xdm:unsubsriptionDate": "2017-09-26T15:52:25+00:00", - "xdm:emailAddress" : "johnDoe@adobe.com" + "xdm:subscriptionDate": "2017-02-26T15:52:25+00:00", + "xdm:emailAddress" : "johnDoe@adobe.com", + "xdm:unsubscriptionDetails": { + "xdm:unsubscriptionDate": "2017-09-26T15:52:25+00:00", + "xdm:remarkID":"40ac9bf9-721d-44ac-8cf3-fb04c089f3be", + "xdm:remarkText":"Sorry, leave me alone. These are my personal comments" + } } diff --git a/extensions/adobe/experience/campaign/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationSubscription.schema.json index 1aea2005c..639941f26 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.schema.json @@ -25,29 +25,29 @@ "type": "string", "description": "The type of notification/subscription." }, - "xdm:subsriptionDate": { + "xdm:subscriptionDate": { "title": "Subscription Date", "type": "string", "format": "date-time", "description": "Date and time when the enduser has subscribed to a notification topic." }, - "xdm:unsubscriptionDate": { - "title": "Unsubscription Date", - "type": "string", - "format": "date-time", - "description": "Date and time when the enduser has unsubscribed from a notification topic. When the subscription is registered the xdm:unsubscriptionDate must be empty." - }, "xdm:emailAddress": { "title": "Address", "type": "string", "format": "email", "description": "The technical address, e.g 'name@domain.com' as commonly defined in RFC2822 and subsequent standards." + }, + "xdm:unsubscriptionDetails": { + "title": "Adobe Campaign Notification Unsubscription details", + "description": "Adobe Campaign notification unsubscription details.", + "$ref": "https://ns.adobe.com/experience/campaign/notificationUnSubscriptionDetails" } } }, "required": [ "xdm:topicID", - "xdm:type" + "xdm:type", + "xdm:subscriptionDate" ] }, "allOf": [ From 53f3c7e53dcfb1104d3a8db2caae66fd7f7b71db Mon Sep 17 00:00:00 2001 From: John Date: Tue, 16 Oct 2018 17:14:20 -0400 Subject: [PATCH 14/24] break out target into its own, it could be extended to contain many more than email --- .../notificationSubscription.schema.json | 9 ++--- ...notificationSubscriptionTarget.schema.json | 38 +++++++++++++++++++ 2 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json diff --git a/extensions/adobe/experience/campaign/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationSubscription.schema.json index 639941f26..49603aed6 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.schema.json @@ -31,11 +31,10 @@ "format": "date-time", "description": "Date and time when the enduser has subscribed to a notification topic." }, - "xdm:emailAddress": { - "title": "Address", - "type": "string", - "format": "email", - "description": "The technical address, e.g 'name@domain.com' as commonly defined in RFC2822 and subsequent standards." + "xdm:notificationTarget": { + "title": "Target/destination for the notification", + "description": "Target/destination for where to send/receive the notification.", + "$ref": "https://ns.adobe.com/experience/campaign/notificationSubscriptionTarget" }, "xdm:unsubscriptionDetails": { "title": "Adobe Campaign Notification Unsubscription details", diff --git a/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json b/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json new file mode 100644 index 000000000..f5810efe5 --- /dev/null +++ b/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json @@ -0,0 +1,38 @@ +{ + "meta:license": [ + "Copyright 2018 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/campaign/notificationSubscriptionTarget", + "$schema": "http://json-schema.org/draft-06/schema#", + "title": "Notification subscription target", + "type": "object", + "meta:extensible": true, + "description": + "Target/destination for where to send/receive the notification.", + "definitions": { + "notificationTarget": { + "properties": { + "xdm:emailAddress": { + "title": "Address", + "type": "string", + "format": "email", + "description": "The technical address, e.g 'name@domain.com' as commonly defined in RFC2822 and subsequent standards." + } + } + }, + "required": [ + ] + }, + "allOf": [ + { + "$ref": "https://ns.adobe.com/xdm/common/extensible#/definitions/@context" + }, + { + "$ref": "#/definitions/notificationSubscriptionTarget" + } + ], + "meta:status": "experimental" +} From 66b5b63e48841149a64a3b02cf81ce7fe54300d7 Mon Sep 17 00:00:00 2001 From: Chris de Groot Date: Tue, 16 Oct 2018 17:49:45 -0400 Subject: [PATCH 15/24] Trivial Fixed white spacing and redundant structure --- .../notificationSubscription.example.1.json | 2 +- .../notificationSubscription.example.2.json | 8 ++++---- .../campaign/notificationSubscription.schema.json | 15 ++++++++++----- .../notificationSubscriptionTarget.schema.json | 7 +++---- .../experience/campaign/profile.example.1.json | 2 +- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json index 10b8660aa..7175737d0 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json @@ -2,5 +2,5 @@ "xdm:topicID": "40ac9bf9-721d-44ac-8cf3-fb04c089f3be", "xdm:type": "Campaign/SubscriptionList", "xdm:subscriptionDate": "2017-09-26T15:52:25+00:00", - "xdm:emailAddress" : "johnDoe@adobe.com" + "xdm:emailAddress": "johnDoe@adobe.com" } diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json index e7a8b7261..a2707979a 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json @@ -2,10 +2,10 @@ "xdm:topicID": "50ac9bf9-721d-44ac-8cf3-fb04c089f3be", "xdm:type": "Campaign/SubscriptionList", "xdm:subscriptionDate": "2017-02-26T15:52:25+00:00", - "xdm:emailAddress" : "johnDoe@adobe.com", + "xdm:emailAddress": "johnDoe@adobe.com", "xdm:unsubscriptionDetails": { - "xdm:unsubscriptionDate": "2017-09-26T15:52:25+00:00", - "xdm:remarkID":"40ac9bf9-721d-44ac-8cf3-fb04c089f3be", - "xdm:remarkText":"Sorry, leave me alone. These are my personal comments" + "xdm:unsubscriptionDate": "2017-09-26T15:52:25+00:00", + "xdm:remarkID":"40ac9bf9-721d-44ac-8cf3-fb04c089f3be", + "xdm:remarkText":"Sorry, leave me alone. These are my personal comments" } } diff --git a/extensions/adobe/experience/campaign/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationSubscription.schema.json index 49603aed6..28336bf3e 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.schema.json @@ -18,7 +18,8 @@ "xdm:topicID": { "title": "Topic Identifier", "type": "string", - "description": "The topic that the enduser has subscribed to and opted into notifications for." + "description": + "The topic that the enduser has subscribed to and opted into notifications for." }, "xdm:type": { "title": "Subscription type", @@ -29,17 +30,21 @@ "title": "Subscription Date", "type": "string", "format": "date-time", - "description": "Date and time when the enduser has subscribed to a notification topic." + "description": + "Date and time when the enduser has subscribed to a notification topic." }, "xdm:notificationTarget": { "title": "Target/destination for the notification", - "description": "Target/destination for where to send/receive the notification.", - "$ref": "https://ns.adobe.com/experience/campaign/notificationSubscriptionTarget" + "description": + "Target/destination for where to send/receive the notification.", + "$ref": + "https://ns.adobe.com/experience/campaign/notificationSubscriptionTarget" }, "xdm:unsubscriptionDetails": { "title": "Adobe Campaign Notification Unsubscription details", "description": "Adobe Campaign notification unsubscription details.", - "$ref": "https://ns.adobe.com/experience/campaign/notificationUnSubscriptionDetails" + "$ref": + "https://ns.adobe.com/experience/campaign/notificationUnSubscriptionDetails" } } }, diff --git a/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json b/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json index f5810efe5..243b4ce43 100644 --- a/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json @@ -19,12 +19,11 @@ "title": "Address", "type": "string", "format": "email", - "description": "The technical address, e.g 'name@domain.com' as commonly defined in RFC2822 and subsequent standards." + "description": + "The technical address, e.g 'name@domain.com' as commonly defined in RFC2822 and subsequent standards." } } - }, - "required": [ - ] + } }, "allOf": [ { diff --git a/extensions/adobe/experience/campaign/profile.example.1.json b/extensions/adobe/experience/campaign/profile.example.1.json index 3059c401f..f534c44d8 100644 --- a/extensions/adobe/experience/campaign/profile.example.1.json +++ b/extensions/adobe/experience/campaign/profile.example.1.json @@ -13,7 +13,7 @@ "xdm:type": "Campaign/SubscriptionList", "xdm:subsriptionDate": "2017-02-26T15:52:25+00:00", "xdm:unsubsriptionDate": "2017-09-26T15:52:25+00:00", - "xdm:emailAddress" : "johnDoe@adobe.com" + "xdm:emailAddress": "johnDoe@adobe.com" } ] } From dc61be293d6a2ef25aac5618f45f9cc275778efb Mon Sep 17 00:00:00 2001 From: Chris de Groot Date: Tue, 16 Oct 2018 17:50:54 -0400 Subject: [PATCH 16/24] Trivial Linter... --- .../notificationSubscription.example.2.json | 6 +++--- .../notificationSubscription.schema.json | 6 +----- .../notificationSubscriptionTarget.schema.json | 3 ++- ...notificationUnSubscriptionDetails.schema.json | 16 +++++++++------- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json index a2707979a..4faf8d9e0 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json @@ -5,7 +5,7 @@ "xdm:emailAddress": "johnDoe@adobe.com", "xdm:unsubscriptionDetails": { "xdm:unsubscriptionDate": "2017-09-26T15:52:25+00:00", - "xdm:remarkID":"40ac9bf9-721d-44ac-8cf3-fb04c089f3be", - "xdm:remarkText":"Sorry, leave me alone. These are my personal comments" - } + "xdm:remarkID": "40ac9bf9-721d-44ac-8cf3-fb04c089f3be", + "xdm:remarkText": "Sorry, leave me alone. These are my personal comments" + } } diff --git a/extensions/adobe/experience/campaign/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationSubscription.schema.json index 28336bf3e..5b3d3f8ae 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.schema.json @@ -48,11 +48,7 @@ } } }, - "required": [ - "xdm:topicID", - "xdm:type", - "xdm:subscriptionDate" - ] + "required": ["xdm:topicID", "xdm:type", "xdm:subscriptionDate"] }, "allOf": [ { diff --git a/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json b/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json index 243b4ce43..54775bac0 100644 --- a/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json @@ -5,7 +5,8 @@ "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/campaign/notificationSubscriptionTarget", + "$id": + "https://ns.adobe.com/experience/campaign/notificationSubscriptionTarget", "$schema": "http://json-schema.org/draft-06/schema#", "title": "Notification subscription target", "type": "object", diff --git a/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json b/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json index 052b49bcb..ebdf7d019 100644 --- a/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json +++ b/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json @@ -5,7 +5,8 @@ "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/campaign/notificationUnSubscriptionDetails", + "$id": + "https://ns.adobe.com/experience/campaign/notificationUnSubscriptionDetails", "$schema": "http://json-schema.org/draft-06/schema#", "title": "Notification unsubscription details", "type": "object", @@ -19,23 +20,24 @@ "title": "Unsubscription Date", "type": "string", "format": "date-time", - "description": "Date and time when the enduser has unsubscribed from a notification topic. When the subscription is registered the xdm:unsubscriptionDate must be empty." + "description": + "Date and time when the enduser has unsubscribed from a notification topic. When the subscription is registered the xdm:unsubscriptionDate must be empty." }, "xdm:remarkID": { "title": "Remark Identifier", "type": "string", - "description": "The pre defined remark that the enduser identified when unbsubscribing." + "description": + "The pre defined remark that the enduser identified when unbsubscribing." }, "xdm:remarkText": { "title": "Remark text", "type": "string", - "description": "A customer comment/remark that the enduser provided when unbsubscribing." + "description": + "A customer comment/remark that the enduser provided when unbsubscribing." } } }, - "required": [ - "xdm:unsubscriptionDate" - ] + "required": ["xdm:unsubscriptionDate"] }, "allOf": [ { From daa1e603099ee2b7c6f46c6b3258ebb589480a05 Mon Sep 17 00:00:00 2001 From: Chris de Groot Date: Mon, 29 Oct 2018 11:51:47 -0400 Subject: [PATCH 17/24] Lower cased all schema names and references --- .../campaign/notificationSubscription.schema.json | 6 +++--- .../campaign/notificationSubscriptionTarget.schema.json | 2 +- .../campaign/notificationUnSubscriptionDetails.schema.json | 2 +- extensions/adobe/experience/campaign/profile.schema.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationSubscription.schema.json index 5b3d3f8ae..496556b30 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.schema.json @@ -5,7 +5,7 @@ "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/campaign/notificationSubscription", + "$id": "https://ns.adobe.com/experience/campaign/notificationsubscription", "$schema": "http://json-schema.org/draft-06/schema#", "title": "Notification subscription", "type": "object", @@ -38,13 +38,13 @@ "description": "Target/destination for where to send/receive the notification.", "$ref": - "https://ns.adobe.com/experience/campaign/notificationSubscriptionTarget" + "https://ns.adobe.com/experience/campaign/notificationsubscriptiontarget" }, "xdm:unsubscriptionDetails": { "title": "Adobe Campaign Notification Unsubscription details", "description": "Adobe Campaign notification unsubscription details.", "$ref": - "https://ns.adobe.com/experience/campaign/notificationUnSubscriptionDetails" + "https://ns.adobe.com/experience/campaign/notificationunsubscriptiondetails" } } }, diff --git a/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json b/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json index 54775bac0..90291f990 100644 --- a/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json @@ -6,7 +6,7 @@ "of the License at https://creativecommons.org/licenses/by/4.0/" ], "$id": - "https://ns.adobe.com/experience/campaign/notificationSubscriptionTarget", + "https://ns.adobe.com/experience/campaign/notificationsubscriptiontarget", "$schema": "http://json-schema.org/draft-06/schema#", "title": "Notification subscription target", "type": "object", diff --git a/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json b/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json index ebdf7d019..08b8e53bb 100644 --- a/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json +++ b/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json @@ -6,7 +6,7 @@ "of the License at https://creativecommons.org/licenses/by/4.0/" ], "$id": - "https://ns.adobe.com/experience/campaign/notificationUnSubscriptionDetails", + "https://ns.adobe.com/experience/campaign/notificationunsubscriptiondetails", "$schema": "http://json-schema.org/draft-06/schema#", "title": "Notification unsubscription details", "type": "object", diff --git a/extensions/adobe/experience/campaign/profile.schema.json b/extensions/adobe/experience/campaign/profile.schema.json index 53bb23692..5147519f2 100644 --- a/extensions/adobe/experience/campaign/profile.schema.json +++ b/extensions/adobe/experience/campaign/profile.schema.json @@ -35,7 +35,7 @@ "Adobe Campaign notification subscriptions are used to communicate with endusers that have enrolled for specific notifications.", "items": { "$ref": - "https://ns.adobe.com/experience/campaign/notificationSubscription" + "https://ns.adobe.com/experience/campaign/notificationsubscription" } } } From 59c9045997568fbc95447c8eda4a734bf7be438d Mon Sep 17 00:00:00 2001 From: Chris de Groot Date: Mon, 29 Oct 2018 11:55:16 -0400 Subject: [PATCH 18/24] Clarified the way an unsubscription is identified --- .../experience/campaign/notificationSubscription.schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationSubscription.schema.json index 496556b30..018c1d6c8 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.schema.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.schema.json @@ -31,7 +31,7 @@ "type": "string", "format": "date-time", "description": - "Date and time when the enduser has subscribed to a notification topic." + "Date and time when the enduser has subscribed to a notification topic. An end user is subscribed if they have a Subscription Date and the `unsubscriptiondetails/unsubscriptionDate` is empty." }, "xdm:notificationTarget": { "title": "Target/destination for the notification", From 9923d6e444f2f029a1286a96797e0f7d6d762ae4 Mon Sep 17 00:00:00 2001 From: Chris de Groot Date: Mon, 29 Oct 2018 13:44:07 -0400 Subject: [PATCH 19/24] Updated the example files to trigger the update --- .../experience/campaign/notificationSubscription.example.1.json | 2 +- .../experience/campaign/notificationSubscription.example.2.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json index 7175737d0..68f39be81 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.1.json @@ -1,5 +1,5 @@ { - "xdm:topicID": "40ac9bf9-721d-44ac-8cf3-fb04c089f3be", + "xdm:topicID": "40ac9bf9-721d-44ac-8cf3-fb04c089f3bf", "xdm:type": "Campaign/SubscriptionList", "xdm:subscriptionDate": "2017-09-26T15:52:25+00:00", "xdm:emailAddress": "johnDoe@adobe.com" diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json index 4faf8d9e0..009067a68 100644 --- a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json +++ b/extensions/adobe/experience/campaign/notificationSubscription.example.2.json @@ -1,5 +1,5 @@ { - "xdm:topicID": "50ac9bf9-721d-44ac-8cf3-fb04c089f3be", + "xdm:topicID": "50ac9bf9-721d-44ac-8cf3-fb04c089f3bf", "xdm:type": "Campaign/SubscriptionList", "xdm:subscriptionDate": "2017-02-26T15:52:25+00:00", "xdm:emailAddress": "johnDoe@adobe.com", From 1d83ff1f6159b06e3c355a6ef59897bf0e55691d Mon Sep 17 00:00:00 2001 From: Chris de Groot <35702142+cdegroot-adobe@users.noreply.github.com> Date: Mon, 29 Oct 2018 13:45:21 -0400 Subject: [PATCH 20/24] Rename notificationSubscription.example.1.json to notificationsubscription.example.1.json --- ...ion.example.1.json => notificationsubscription.example.1.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename extensions/adobe/experience/campaign/{notificationSubscription.example.1.json => notificationsubscription.example.1.json} (100%) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.1.json b/extensions/adobe/experience/campaign/notificationsubscription.example.1.json similarity index 100% rename from extensions/adobe/experience/campaign/notificationSubscription.example.1.json rename to extensions/adobe/experience/campaign/notificationsubscription.example.1.json From bd428890e19e4cc49736f8fcdf324ad632c643d2 Mon Sep 17 00:00:00 2001 From: Chris de Groot <35702142+cdegroot-adobe@users.noreply.github.com> Date: Mon, 29 Oct 2018 13:45:45 -0400 Subject: [PATCH 21/24] Rename notificationSubscription.example.2.json to notificationsubscription.example.2.json --- ...ion.example.2.json => notificationsubscription.example.2.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename extensions/adobe/experience/campaign/{notificationSubscription.example.2.json => notificationsubscription.example.2.json} (100%) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.example.2.json b/extensions/adobe/experience/campaign/notificationsubscription.example.2.json similarity index 100% rename from extensions/adobe/experience/campaign/notificationSubscription.example.2.json rename to extensions/adobe/experience/campaign/notificationsubscription.example.2.json From ebe97002dee7ae8522049a00e11cfb91c0caa467 Mon Sep 17 00:00:00 2001 From: Chris de Groot <35702142+cdegroot-adobe@users.noreply.github.com> Date: Mon, 29 Oct 2018 13:46:05 -0400 Subject: [PATCH 22/24] Rename notificationUnSubscriptionDetails.schema.json to notificationunsubscriptiondetails.schema.json --- ....schema.json => notificationunsubscriptiondetails.schema.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename extensions/adobe/experience/campaign/{notificationUnSubscriptionDetails.schema.json => notificationunsubscriptiondetails.schema.json} (100%) diff --git a/extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json b/extensions/adobe/experience/campaign/notificationunsubscriptiondetails.schema.json similarity index 100% rename from extensions/adobe/experience/campaign/notificationUnSubscriptionDetails.schema.json rename to extensions/adobe/experience/campaign/notificationunsubscriptiondetails.schema.json From 960713f53235c037bb59ec9b711284d2be50ad9c Mon Sep 17 00:00:00 2001 From: Chris de Groot <35702142+cdegroot-adobe@users.noreply.github.com> Date: Mon, 29 Oct 2018 13:46:30 -0400 Subject: [PATCH 23/24] Rename notificationSubscriptionTarget.schema.json to notificationsubscriptiontarget.schema.json --- ...get.schema.json => notificationsubscriptiontarget.schema.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename extensions/adobe/experience/campaign/{notificationSubscriptionTarget.schema.json => notificationsubscriptiontarget.schema.json} (100%) diff --git a/extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json b/extensions/adobe/experience/campaign/notificationsubscriptiontarget.schema.json similarity index 100% rename from extensions/adobe/experience/campaign/notificationSubscriptionTarget.schema.json rename to extensions/adobe/experience/campaign/notificationsubscriptiontarget.schema.json From ec6e56489bf917b8b28d8133dc884ef2f56f7959 Mon Sep 17 00:00:00 2001 From: Chris de Groot <35702142+cdegroot-adobe@users.noreply.github.com> Date: Mon, 29 Oct 2018 13:46:49 -0400 Subject: [PATCH 24/24] Rename notificationSubscription.schema.json to notificationsubscription.schema.json --- ...scription.schema.json => notificationsubscription.schema.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename extensions/adobe/experience/campaign/{notificationSubscription.schema.json => notificationsubscription.schema.json} (100%) diff --git a/extensions/adobe/experience/campaign/notificationSubscription.schema.json b/extensions/adobe/experience/campaign/notificationsubscription.schema.json similarity index 100% rename from extensions/adobe/experience/campaign/notificationSubscription.schema.json rename to extensions/adobe/experience/campaign/notificationsubscription.schema.json