Skip to content

Commit

Permalink
Merge branch 'master' into platform-pr-analytics-extensions
Browse files Browse the repository at this point in the history
  • Loading branch information
trieloff authored Mar 20, 2018
2 parents 00d3d07 + 2b7a2b1 commit e0a085b
Show file tree
Hide file tree
Showing 15 changed files with 246 additions and 247 deletions.
25 changes: 11 additions & 14 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The Experience Data Model (XDM) project is developed as an Open Standard driven
## Public GitHub Ground Rules

We are in the process of increasing the visibility of XDM to partners and to invite them to contribute and give feedback.
For this purpose, we will move the XDM repository to [https://github.com/adobe/xdm](https://github.com/adobe/xdm).
For this purpose, we have moved the XDM repository to [https://github.com/adobe/xdm](https://github.com/adobe/xdm).
For Adobe employees, following ground rules apply:

* Like everyone, follow the [Code of Conduct](CODE_OF_CONDUCT.md)
Expand Down Expand Up @@ -46,12 +46,12 @@ You can include the Creative Commons Attribution 4.0 International (CC BY 4.0) l

## How to Contribute

1. Go to the [list of open issues](https://git.corp.adobe.com/AdobeCloudPlatform/xdm/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) and pick an issue you want to work on. If you don't see the appropriate issue, [create a new issue in GitHub](https://git.corp.adobe.com/AdobeCloudPlatform/xdm/issues/new)
2. If you haven't done so yet, [fork the XDM repository into your private GitHub organization](https://git.corp.adobe.com/AdobeCloudPlatform/xdm/fork). If your fork exists, merge the latest updates from `AdobeCloudPlatform/xdm` into `yourname/xdm`, so that you don't start from an outdated code tree
3. In `yourname/xdm` create a new branch from `master`. Your branch name should either refer the issue number like `bug-42` or `feature-23` or have a descriptive name like `fix-layer-group-references`
1. Go to the [list of open issues](https://github.com/adobe/xdm/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) and pick an issue you want to work on. If you don't see the appropriate issue, [create a new issue in GitHub](https://github.com/adobe/xdm/issues/new)
2. If you haven't done so yet, [fork the XDM repository into your private GitHub organization](https://github.com/adobe/xdm/fork). If your fork exists, merge the latest updates from `adobe/xdm` into `yourname/xdm`, so that you don't start from an outdated code tree
3. In `yourname/xdm` create a new branch from `master`. Your branch name should refer the issue number like `bug-42` or `feature-23` where one exists and have a descriptive name like `fix-layer-group-references`
4. Make add edits that apply to the given feature or bug against this new branch. Commit and push in frequent intervals
5. If you are working on the branch for more than a day, make sure to occasionally (at least once per day) to merge the latest updates from `AdobeCloudPlatform/xdm#master` into your branch, so that you won't get surprised when it's time to merge the pull request. Resolve any conflicts to make life easier for the XDM editors
6. Once you are done, create a pull request from your branch against `AdobeCloudPlatform/xdm#master`.
5. If you are working on the branch for more than a day, make sure to occasionally (at least once per day) to merge the latest updates from `adobe/xdm#master` into your branch, so that you won't get surprised when it's time to merge the pull request. Resolve any conflicts to make life easier for the XDM editors
6. Once you are done, create a pull request from your branch against `adobe/xdm#master`.

Every pull request should specify:

Expand All @@ -61,15 +61,12 @@ Every pull request should specify:

For every update to the schema, make sure

* `npm test` validates all example files
* There are `schemas/*/*.example.*.json` files for each newly created schema
* `npm test` validates all example files, see [README.md](README.md)
* There are `schemas/*/*.example.*.json` files for each newly created or changed schema

Furthermore, a pull request that modifies the schema must also include accompanying documentation. Pull requests with missing documentation will be rejected.

Each commit message that is not part of a pull request:

* Should contain the issue ID like `#42`
* Can contain the tag `[trivial]` for trivial changes that don't relate to an issue
All changes to the adobe/xdm repository now require an associated pull request.

## Design Guidelines

Expand All @@ -85,7 +82,7 @@ The target consumers of the data model are developers building applications usin

Our goal is to establish a universal standard for the experience business. As such, this standard's lifetime will be comparable to standards like PDF (24 years old), EXIF (22 years old), or HTML (24 years old).

The design decisions made today will impact future developers, who will have only limited understanding, patience, or sympathy for constraints dictated by current Adobe implementations. While future requirements cannot be predicted in detail, it is important to accomodate requirements and industry trends.
The design decisions made today will impact future developers, who will have only limited understanding, patience, or sympathy for constraints dictated by current Adobe implementations. While future requirements cannot be predicted in detail, it is important to accommodate requirements and industry trends.

### Design for Clarity

Expand All @@ -101,7 +98,7 @@ XDM is not an isolated standard, but incorporates and builds on standards. Whene

### Design for Compatibility

Interoperability with [Microsoft's Common Data Model (CDM)](https://docs.microsoft.com/en-us/common-data-service/entity-reference/common-data-model)is a top priority. This means that definitions that are present in CDM should be used or extended, where appropriate, by XDM. XDM should not attempt to duplicate definitions that are present in CDM.
Interoperability with [Microsoft's Common Data Model (CDM)](https://github.com/Microsoft/CDM)is a top priority. This means that definitions that are present in CDM should be used or extended, where appropriate, by XDM. XDM should not attempt to duplicate definitions that are present in CDM.

Where appropriate, we can 'lead' CDM, extend it to meet other requirements.
Another good source of data model elements is [schema.org](http://schema.org).
Expand Down
66 changes: 34 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![CircleCI](https://circleci.com/gh/adobe/xdm.svg?style=svg)](https://circleci.com/gh/adobe/xdm)

The [Experience Data Model](https://www.adobe.io/open/standards/xdm) (XDM) is the language of digital experiences.
XDM is a publicly documented specification, driven by Adobe to improve the interoperability, expressivness, and power of digital experiences.
XDM is a publicly documented specification, driven by Adobe to improve the interoperability, expressiveness, and power of digital experiences.
This repository contains the source code for the formal specification of the XDM model, using the JSON Schema language.

## Read the XDM Spec
Expand Down Expand Up @@ -49,9 +49,40 @@ You need:
1. Node.js and `npm`
2. `curl`

### AEM Package Generation
### Validation of local changes prior to creating any Pull Requests to adobe/xdm

When all dependencies are installed, simply run
This project contains a minimal validation script that depends on [NPM](https://www.npmjs.com). You can use it to validate the JSON example files against the JSON Schema files after making changes to either.

From the root directory of the local repository run:

```bash
$ npm install
$ npm test

> xdm-models@0.0.1 test /Users/lars/Code/models
> sh validate.sh

Validating schemas/common/eventenvelope.example.1.json against schemas/common/eventenvelope.schema.json
schemas/common/eventenvelope.example.1.json valid
Validating schemas/common/eventenvelope.example.2.json against schemas/common/eventenvelope.schema.json
schemas/common/eventenvelope.example.2.json valid
Validating schemas/common/eventenvelope.example.3.json against schemas/common/eventenvelope.schema.json
schemas/common/eventenvelope.example.3.json valid
Validating schemas/common/eventenvelope.example.4.json against schemas/common/eventenvelope.schema.json
schemas/common/eventenvelope.example.4.json valid
Validating schemas/common/eventenvelope.example.5.json against schemas/common/eventenvelope.schema.json
schemas/common/eventenvelope.example.5.json valid
```

If you see warnings or error messages (or an non-zero exit code), fix them before making a pull request.

## Naming Conventions

* see the [Contributor's guide](CONTRIBUTING.md)

### AEM Package Generation (optional)

With all dependencies installed, run the following commands from the root directory of the local repository:

```bash
$ npm install
Expand Down Expand Up @@ -93,35 +124,6 @@ This will generate documentation, create an AEM package, install it on (stage) a

The `package.json` script will fetch a released version of the AEM Markdown Importer JAR using curl.

### Validation

This project contains a minimal validation script that depends on [NPM](https://www.npmjs.com). You can use it to validate the JSON example files against the JSON Schema files after making changes to either.

```bash
$ npm install
$ npm test

> xdm-models@0.0.1 test /Users/lars/Code/models
> sh validate.sh

Validating schemas/common/eventenvelope.example.1.json against schemas/common/eventenvelope.schema.json
schemas/common/eventenvelope.example.1.json valid
Validating schemas/common/eventenvelope.example.2.json against schemas/common/eventenvelope.schema.json
schemas/common/eventenvelope.example.2.json valid
Validating schemas/common/eventenvelope.example.3.json against schemas/common/eventenvelope.schema.json
schemas/common/eventenvelope.example.3.json valid
Validating schemas/common/eventenvelope.example.4.json against schemas/common/eventenvelope.schema.json
schemas/common/eventenvelope.example.4.json valid
Validating schemas/common/eventenvelope.example.5.json against schemas/common/eventenvelope.schema.json
schemas/common/eventenvelope.example.5.json valid
```

If you see warnings or error messages (or an non-zero exit code), fix them before making a pull request.

## Naming Conventions

* see the [Contributor's guide](CONTRIBUTING.md)

## Links

### Specifications
Expand Down
38 changes: 19 additions & 19 deletions docs/reference/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,19 @@
* [Product List Item](./content/productlistitem.schema.md)`https://ns.adobe.com/xdm/content/productlistitem`
* [Content Repository](./content/repository.schema.md)`https://ns.adobe.com/xdm/content/repository`

## /common/

* [Address](./common/address.schema.md)`https://ns.adobe.com/xdm/common/address`
* [Audit Trail](./common/auditable.schema.md)`https://ns.adobe.com/xdm/common/auditable`
* [EventEnvelope](./common/eventenvelope.schema.md)`https://ns.adobe.com/xdm/common/eventenvelope`
* [Extensibility base schema](./common/extensible.schema.md)`https://ns.adobe.com/xdm/common/extensible`
* [Geo](./common/geo.schema.md)`https://ns.adobe.com/xdm/common/geo`
* [Identity Provider](./common/identity-provider.schema.md)`https://ns.adobe.com/xdm/common/identity-provider`
* [Organization](./common/organization.schema.md)`https://ns.adobe.com/xdm/common/organization`
* [Page](./common/page.schema.md)`https://ns.adobe.com/xdm/common/page`
* [Principal](./common/principal.schema.md)`https://ns.adobe.com/xdm/common/principal`
* [Customer Managed Environment](./common/selfservice.schema.md)`https://ns.adobe.com/xdm/selfservice`

## /channels/

* [ADM](./channels/adm.schema.md)`https://ns.adobe.com/xdm/channels/adm`
Expand All @@ -53,19 +66,6 @@
* [WeChat](./channels/wechat.schema.md)`https://ns.adobe.com/xdm/channels/wechat`
* [WNS](./channels/wns.schema.md)`https://ns.adobe.com/xdm/channels/wns`

## /common/

* [Address](./common/address.schema.md)`https://ns.adobe.com/xdm/common/address`
* [Audit Trail](./common/auditable.schema.md)`https://ns.adobe.com/xdm/common/auditable`
* [EventEnvelope](./common/eventenvelope.schema.md)`https://ns.adobe.com/xdm/common/eventenvelope`
* [Extensibility base schema](./common/extensible.schema.md)`https://ns.adobe.com/xdm/common/extensible`
* [Geo](./common/geo.schema.md)`https://ns.adobe.com/xdm/common/geo`
* [Identity Provider](./common/identity-provider.schema.md)`https://ns.adobe.com/xdm/common/identity-provider`
* [Organization](./common/organization.schema.md)`https://ns.adobe.com/xdm/common/organization`
* [Page](./common/page.schema.md)`https://ns.adobe.com/xdm/common/page`
* [Principal](./common/principal.schema.md)`https://ns.adobe.com/xdm/common/principal`
* [Customer Managed Environment](./common/selfservice.schema.md)`https://ns.adobe.com/xdm/selfservice`

## /context/

* [Browser Details](./context/browserdetails.schema.md)`https://ns.adobe.com/xdm/context/browserdetails`
Expand All @@ -86,8 +86,8 @@
* [Place](./context/place.schema.md)`https://ns.adobe.com/xdm/context/place`
* [Profile](./context/profile.schema.md)`https://ns.adobe.com/xdm/context/profile`
* [Push Notification Token](./context/pushnotificationtoken.schema.md)`https://ns.adobe.com/xdm/context/pushnotificationtoken`
* [Subscription](./context/subscription.schema.md)`https://ns.adobe.com/xdm/context/subscription`
* [Search](./context/search.schema.md)`https://ns.adobe.com/xdm/context/search`
* [Subscription](./context/subscription.schema.md)`https://ns.adobe.com/xdm/context/subscription`
* [Web Link](./context/weblink.schema.md)`https://ns.adobe.com/xdm/context/weblink`

## /data/
Expand Down Expand Up @@ -149,17 +149,17 @@
* [RDF Language Tagged String](./external/activity-streams-2/rdf-langstring.schema.md)`https://ns.adobe.com/xdm/external/activity-streams-2/rdf-langstring`
* [JSON-LD `@type`](./external/activity-streams-2/type.schema.md)`https://ns.adobe.com/xdm/external/activity-streams-2/type`

## /external/hal/

* [HAL Link](./external/hal/hal-link.schema.md)`https://ns.adobe.com/xdm/external/hal/link`
* [HAL Resource](./external/hal/hal.schema.md)`https://ns.adobe.com/xdm/external/hal/resource`

## /external/schema/

* [Geo Circle](./external/schema/geocircle.schema.md)`http://schema.org/GeoCircle`
* [Geo Coordinates](./external/schema/geocoordinates.schema.md)`http://schema.org/GeoCoordinates`
* [Geo Shape](./external/schema/geoshape.schema.md)`http://schema.org/GeoShape`

## /external/hal/

* [HAL Link](./external/hal/hal-link.schema.md)`https://ns.adobe.com/xdm/external/hal/link`
* [HAL Resource](./external/hal/hal.schema.md)`https://ns.adobe.com/xdm/external/hal/resource`

## /external/repo/

* [Access Control Entry](./external/repo/accesscontrolentry.schema.md)`https://ns.adobe.com/xdm/external/repo/accesscontrolentry`
Expand Down
36 changes: 18 additions & 18 deletions docs/reference/common/eventenvelope.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,8 @@
}
},
{
"@type": "http://ns.adobe.com/xdm/event/updated",
"xdm:objectType": "http://ns.adobe.com/xdm/asset",
"@type": "http://ns.adobe.com/xdm/event/published",
"xdm:objectType": "http://ns.adobe.com/xdm/page",
"activitystreams:published": "2016-07-16T19:20:30+01:00",
"@id": "https://events.adobe.io/event/id/82235bac-2b81-4e70-90b5-2bd1f04b5c7b",
"activitystreams:to": {
Expand All @@ -102,24 +102,21 @@
},
"activitystreams:generator": {
"@type": "http://ns.adobe.com/xdm/aem/instance",
"@id": "AEM-08B3E5CE5822FC520A494229@AdobeOrg_francois.corp.adobe.com"
"@id": "AEM-Sites-08B3E5CE5822FC520A494229@AdobeOrg1373843566"
},
"activitystreams:actor": {
"@type": "http://ns.adobe.com/xdm/aem/user",
"@id": "admin"
},
"activitystreams:object": {
"@type": "http://ns.adobe.com/xdm/asset",
"repo:assetID": "urn:aaid:aem:4123ba4c-93a8-4c5d-b979-ffbbe4318185",
"@id": "https://francois.corp.adobe.com:4502/content/dam/Fx_DUKE-small.jpg",
"xdm:name": "Fx_DUKE-small.png",
"xdm:path": "/content/dam/Fx_DUKE-small.png",
"dc:format": "image/png",
"repo:etag": "\"6fc55d0389d856ae7wddwebba54f110e\""
"@type": "http://ns.adobe.com/xdm/page",
"@id": "http://adobesummit.adobesandbox.com:4502/content/geometrixx/en/vintage.html",
"dc:title": "Vintage Collection",
"xdm:path": "/content/geometrixx/en/vintage.html"
}
},
{
"@type": "http://ns.adobe.com/xdm/event/published",
"@type": "http://ns.adobe.com/xdm/event/unpublished",
"xdm:objectType": "http://ns.adobe.com/xdm/page",
"activitystreams:published": "2016-07-16T19:20:30+01:00",
"@id": "https://events.adobe.io/event/id/82235bac-2b81-4e70-90b5-2bd1f04b5c7b",
Expand All @@ -143,8 +140,8 @@
}
},
{
"@type": "http://ns.adobe.com/xdm/event/unpublished",
"xdm:objectType": "http://ns.adobe.com/xdm/page",
"@type": "http://ns.adobe.com/xdm/event/updated",
"xdm:objectType": "http://ns.adobe.com/xdm/asset",
"activitystreams:published": "2016-07-16T19:20:30+01:00",
"@id": "https://events.adobe.io/event/id/82235bac-2b81-4e70-90b5-2bd1f04b5c7b",
"activitystreams:to": {
Expand All @@ -153,17 +150,20 @@
},
"activitystreams:generator": {
"@type": "http://ns.adobe.com/xdm/aem/instance",
"@id": "AEM-Sites-08B3E5CE5822FC520A494229@AdobeOrg1373843566"
"@id": "AEM-08B3E5CE5822FC520A494229@AdobeOrg_francois.corp.adobe.com"
},
"activitystreams:actor": {
"@type": "http://ns.adobe.com/xdm/aem/user",
"@id": "admin"
},
"activitystreams:object": {
"@type": "http://ns.adobe.com/xdm/page",
"@id": "http://adobesummit.adobesandbox.com:4502/content/geometrixx/en/vintage.html",
"dc:title": "Vintage Collection",
"xdm:path": "/content/geometrixx/en/vintage.html"
"@type": "http://ns.adobe.com/xdm/asset",
"repo:assetID": "urn:aaid:aem:4123ba4c-93a8-4c5d-b979-ffbbe4318185",
"@id": "https://francois.corp.adobe.com:4502/content/dam/Fx_DUKE-small.jpg",
"xdm:name": "Fx_DUKE-small.png",
"xdm:path": "/content/dam/Fx_DUKE-small.png",
"dc:format": "image/png",
"repo:etag": "\"6fc55d0389d856ae7wddwebba54f110e\""
}
}
]
Expand Down
Loading

0 comments on commit e0a085b

Please sign in to comment.