Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
sudo: false
language: node_js
node_js:
- "10"
- "20"
script: bash ./deploy.sh
branches:
only:
Expand Down
1,449 changes: 565 additions & 884 deletions EditorsDraft/edit.html

Large diffs are not rendered by default.

Binary file added EditorsDraft/images/schema-diagram-20251218.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
171 changes: 171 additions & 0 deletions EditorsDraft/images/schema.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
---
config:
theme: base
themeVariables:
primaryColor: '#fff'
primaryTextColor: '#000'
primaryBorderColor: '#000'
lineColor: '#000'
fontSize: 11px
look: classic
layout: elk

---
classDiagram
direction LR
class Organization["Organization<br>(schema:Organization)"] {
id
name
description
image
address
logo
}

class Person["Person<br>(schema:Person)"] {
url
name
description
image
}

class Event["Event<br>(schema:Event)"] {
url
name
description
image
startDate
endDate
duration
location
organizer
contributor
leader
maximumAttendeeCapacity
remainingAttendeeCapacity
eventStatus
superEvent
subEvent
activity
category
programme
schedule
ageRestriction
genderRestriction
attendeeInstructions
isCoached
level
meetingPoint
offers
routeGuide
}

class Place["Place<br>(schema:Place)"] {
url
name
description
image
address
geo
amenityFeature
containsPlace
telephone
faxNumber
openingHoursSpecification
}

class FacilityUse["FacilityUse<br>(oa:FacilityUse)"] {
url
name
description
image
location
activity
events
offers
individualFacilityUses
}

class IndividualFacilityUse["IndividualFacilityUse<br>(oa:IndividualFacilityUse)"] {
url
name
description
image
location
activity
events
offers
}

class SportsActivityLocation["SportsActivityLocation<br>(schema:SportsActivityLocation)"] {
url
name
description
image
geo
containedInPlace
}

class Offer["Offer<br>(schema:Offer)"] {
identifier
price
priceCurrency
}

class Slot["Slot<br>(oa:Slot)"] {
startDate
endDate
duration
offers
remainingUses
maximumUses
}

class Programme["Programme<br>(skos:Concept)"] {
url
name
description
image
}

class RouteGuide["RouteGuide<br>(rt:RouteGuide)"] {
}

class ActivityList["Activity List<br>(skos:ConceptScheme)"] {
title
description
license
}

class PhysicalActivity["Physical Activity<br>(skos:Concept)"] {
prefLabel
altLabel
inScheme
description
image
broader
narrower
notation
}

Event --|> Organization : organizer or<br>contributor or<br>leader
Event --|> Person : organizer or<br>contributor or<br>leader
Event --|> Place : location
Event --|> Offer : offers
Event --|> Event : superEvent or<br>subEvent
Event --|> PhysicalActivity : activity
Event --|> Programme : programme
Event --|> RouteGuide : routeGuide
FacilityUse --|> Place : location
FacilityUse --|> Slot : events
FacilityUse --|> Offer : offers
FacilityUse --|> IndividualFacilityUse : individualFacilityUses
IndividualFacilityUse --|> Slot : events
Slot --|> Offer : offers
PhysicalActivity --|> ActivityList : inScheme
PhysicalActivity --|> PhysicalActivity : broader or<br>narrower
PhysicalActivity --|> Organization : activity
Place --|> Place : containsPlace
Place --|> Place : containedInPlace
SportsActivityLocation --|> Place : location
Organization --|> Place : location
69 changes: 0 additions & 69 deletions Gulpfile.js

This file was deleted.

15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This repository holds the source for the Modelling Opportunity Data specification developed by the [OpenActive Community Group](https://www.w3.org/community/openactive). Links to the published specifications are provided below.


Thw specification introduces a data model to support the publication of data describing opportunities for people to engage in physical activities ("opportunity data"). This model covers description of activities, as well as the events and locations in which they take place.
The specification introduces a data model to support the publication of data describing opportunities for people to engage in physical activities ("opportunity data"). This model covers description of activities, as well as the events and locations in which they take place.

The specification is intended to support the publication of opportunity data as open data for anyone to access, use and share. It will also guide reusers of opportunity data, introducing them to the key concepts relevant to that sector.

Expand All @@ -16,16 +16,21 @@ To contribute to the development of the specification, please [join our communit
* **[Latest Official Version](https://www.openactive.io/modelling-opportunity-data/)** (Candidate Specification)
* **[Current Editors Draft](https://www.openactive.io/modelling-opportunity-data/EditorsDraft/)**

For an introduction to using the specification read the [Publishing Opportunity Data Primer](https://www.openactive.io/opportunity-data-primer/) which contains a number of worked examples.
For an introduction to using the specification vist the [developer site](https://developer.openactive.io/) which contains a number of worked examples.

## Building the specification

The specification has been authored using [the W3C respec tool](https://github.com/w3c/respec) using the markdown syntax option.

The editors draft is the primary working document. Once this has been reviewed and agreed for release, then it can be promoted to be the latest published draft (copied into the `Latest` directory). At which point the publication date should be added to the document.
The editors draft is the primary working document. Once this has been reviewed and agreed for release, then it can be promoted to be the latest published version. At which point the publication date should be added to the document.

For live reloading of the document during editing, run `gulp`.
The mermaid markdown, in the editors draft image folder, can be adapted using tools like https://www.mermaidchart.com/ to produce the schema image. (The cutoff text in the image is a known issue.)

The specification will be automatically deployed following a merge of a pull request into the master branch. This is handled by [Travis](https://travis-ci.org/openactive/modelling-opportunity-data) which will render both versions of the specification to HTML and push them to the `gh-pages` branch of this repo.
For live reloading of the document during editing, use browser-sync via the following:
```
npm install
npm run dev
```

The specification will be automatically deployed following a merge of a pull request into the master branch. This is handled by [Travis](https://travis-ci.org/openactive/modelling-opportunity-data) which will render both versions of the specification to HTML and push them to the `gh-pages` branch of this repo.

7 changes: 7 additions & 0 deletions bs-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module.exports = {
server: true,
startPath: "EditorsDraft/edit.html",
files: ["EditorsDraft/**/*"],
ui: false,
notify: false,
};
Loading