Skip to content

Commit

Permalink
Merge pull request #68 from openpreserve/feat/schema-publication
Browse files Browse the repository at this point in the history
FEAT: Schema versioning and publication
  • Loading branch information
carlwilson authored May 9, 2023
2 parents 6956400 + ebca70e commit 62cdec9
Show file tree
Hide file tree
Showing 26 changed files with 2,456 additions and 67 deletions.
10 changes: 10 additions & 0 deletions docs/_data/navbar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@
- subtitle: "1.2"
subhref: "1.2/"

- title: "Schema"
href: "/schema/"
subcategories:
- subtitle: "1.0"
subhref: "1.0/"
- subtitle: "1.1"
subhref: "1.1/"
- subtitle: "1.2"
subhref: "1.2/"

- title: "Roadmap"
href: "/roadmap/"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
{
"$id": "http://www.parcore.org/schema/business-rule.json/#",
"$id": "http://www.parcore.org/schema/1.0/business-rule.json/#",
"$schema": "http://json-schema.org/draft-06/schema#",
"additionalProperties": false,
"definitions": {
"action": {
"properties": {
"optionalInputProperties": {
"items": {
"$ref": "http://www.parcore.org/schema/preservation-action.json/#/definitions/inputProperty"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action.json/#/definitions/inputProperty"
},
"type": "array"
},
"outputFilesRetrieved": {
"items": {
"$ref": "http://www.parcore.org/schema/preservation-action.json/#/definitions/outputFile"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action.json/#/definitions/outputFile"
},
"type": "array"
},
"outputPropertiesRetrieved": {
"items": {
"$ref": "http://www.parcore.org/schema/preservation-action.json/#/definitions/outputProperty"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action.json/#/definitions/outputProperty"
},
"type": "array"
},
"preservationAction": {
"$ref": "http://www.parcore.org/schema/types.json/#/definitions/parIdentifier"
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/parIdentifier"
},
"priority": {
"type": "integer"
},
"rawOutputsRetrieved": {
"items": {
"$ref": "http://www.parcore.org/schema/preservation-action.json/#/definitions/outputRaw"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action.json/#/definitions/outputRaw"
},
"type": "array"
}
Expand All @@ -51,19 +51,19 @@
"formatFamilies": {
"description": "A list of format families that this Business Rule should be applied to",
"items": {
"$ref": "http://www.parcore.org/schema/types.json/#/definitions/formatFamily"
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/formatFamily"
},
"type": "array"
},
"formats": {
"description": "A list of file formats that this Business Rule should be applied to",
"items": {
"$ref": "http://www.parcore.org/schema/types.json/#/definitions/parIdentifier"
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/parIdentifier"
},
"type": "array"
},
"id": {
"$ref": "http://www.parcore.org/schema/types.json/#/definitions/parIdentifier"
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/parIdentifier"
},
"localLastModifiedDate": {
"format": "date-time",
Expand All @@ -76,14 +76,14 @@
"preservationActionTypes": {
"description": "A list of Preservation Action Types that this Business Rule should be applied to. This might be a subset of those that the Preservation Actions themselves apply to. For example, a file format transformation action might itself apply to Migration and Normalization action types, but the Business Rule might be applicable only to Normalization",
"items": {
"$ref": "http://www.parcore.org/schema/preservation-action-type.json/#"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action-type.json/#"
},
"type": "array"
},
"preservationActions": {
"description": "A list of specific actions. These are defined internally to reference the Core Preservation Action, the priority order in which it should be performed, and any inputs and outputs that should be used.",
"items": {
"$ref": "http://www.parcore.org/schema/business-rule.json/#/definitions/action"
"$ref": "http://www.parcore.org/schema/1.0/business-rule.json/#/definitions/action"
},
"type": "array"
}
Expand Down
28 changes: 14 additions & 14 deletions docs/schema/format.json → docs/schema/1.0/format.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$id": "http://www.parcore.org/schema/format.json/#",
"$id": "http://www.parcore.org/schema/1.0/format.json/#",
"$schema": "http://json-schema.org/draft-06/schema#",
"additionalProperties": false,
"definitions": {
Expand Down Expand Up @@ -94,7 +94,7 @@
"additionalProperties": false,
"properties": {
"author": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/authorInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/authorInformation"
},
"availabilityDescription": {
"type": "string"
Expand Down Expand Up @@ -124,7 +124,7 @@
"type": "string"
},
"publisher": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/publisherInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/publisherInformation"
},
"titleText": {
"type": "string"
Expand Down Expand Up @@ -178,7 +178,7 @@
"properties": {
"byteSequences": {
"items": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/byteSequenceInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/byteSequenceInformation"
},
"type": "array"
},
Expand Down Expand Up @@ -320,7 +320,7 @@
},
"developers": {
"items": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/developerInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/developerInformation"
},
"type": "array"
},
Expand All @@ -329,13 +329,13 @@
},
"documents": {
"items": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/documentInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/documentInformation"
},
"type": "array"
},
"externalSignatures": {
"items": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/externalSignatureInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/externalSignatureInformation"
},
"type": "array"
},
Expand All @@ -346,18 +346,18 @@
"type": "array"
},
"id": {
"$ref": "http://www.parcore.org/schema/types.json/#/definitions/parIdentifier",
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/parIdentifier",
"description": "A persistent unique identifier for the format, in PAR form"
},
"identifiers": {
"items": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/identifierInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/identifierInformation"
},
"type": "array"
},
"internalSignatures": {
"items": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/internalSignatureInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/internalSignatureInformation"
},
"type": "array"
},
Expand All @@ -376,17 +376,17 @@
"type": "string"
},
"provenance": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/provenanceInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/provenanceInformation"
},
"registryVersions": {
"items": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/registryVersionInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/registryVersionInformation"
},
"type": "array"
},
"relatedFormats": {
"items": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/relatedFormatInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/relatedFormatInformation"
},
"type": "array"
},
Expand All @@ -398,7 +398,7 @@
"type": "string"
},
"technicalEnvironment": {
"$ref": "http://www.parcore.org/schema/format.json/#/definitions/environmentInformation"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#/definitions/environmentInformation"
},
"types": {
"items": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$id": "http://www.parcore.org/schema/par-property.json/#",
"$id": "http://www.parcore.org/schema/1.0/par-property.json/#",
"$schema": "http://json-schema.org/draft-06/schema#",
"additionalProperties": false,
"description": "this is a skeleton definition of a Property",
Expand All @@ -16,6 +16,10 @@
"other"
]
},
"description": {
"description": "A human readable description of the property",
"type": "string"
},
"equivalentTo": {
"description": "Equivalent To allows for assertions that a specific property is equivalent to named properties in other schemas or registries, for example, an Aspect Ration property for a video may be declared to be equivalent to the ebucore:aspectRatio, even if the representation of the measurement is different",
"items": {
Expand All @@ -24,7 +28,7 @@
"type": "array"
},
"id": {
"$ref": "http://www.parcore.org/schema/types.json/#/definitions/parIdentifier"
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/parIdentifier"
},
"localLastModifiedDate": {
"format": "date-time",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"$id": "http://www.parcore.org/schema/preservation-action-type.json/#",
"$id": "http://www.parcore.org/schema/1.0/preservation-action-type.json/#",
"$schema": "http://json-schema.org/draft-06/schema#",
"additionalProperties": false,
"description": "The type of the preservation action as defined by PREMIS v3 event types. http://id.loc.gov/vocabulary/preservation/eventType.html",
"properties": {
"id": {
"$ref": "http://www.parcore.org/schema/types.json/#/definitions/parIdentifier"
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/parIdentifier"
},
"label": {
"type": "string"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$id": "http://www.parcore.org/schema/preservation-action.json/#",
"$id": "http://www.parcore.org/schema/1.0/preservation-action.json/#",
"$schema": "http://json-schema.org/draft-06/schema#",
"anyOf": [
{
Expand Down Expand Up @@ -48,7 +48,7 @@
"type": "string"
},
"file": {
"$ref": "http://www.parcore.org/schema/types.json/#/definitions/parFile"
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/parFile"
},
"name": {
"type": "string"
Expand All @@ -73,7 +73,7 @@
"type": "string"
},
"parProperty": {
"$ref": "http://www.parcore.org/schema/par-property.json/#"
"$ref": "http://www.parcore.org/schema/1.0/par-property.json/#"
}
},
"required": [
Expand All @@ -92,7 +92,7 @@
"type": "string"
},
"file": {
"$ref": "http://www.parcore.org/schema/types.json/#/definitions/parFile"
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/parFile"
},
"name": {
"type": "string"
Expand All @@ -113,11 +113,20 @@
"description": {
"type": "string"
},
"groupIdBinding": {
"type": "string"
},
"groupIdLabel": {
"type": "string"
},
"name": {
"type": "string"
},
"parProperty": {
"$ref": "http://www.parcore.org/schema/par-property.json/#"
"$ref": "http://www.parcore.org/schema/1.0/par-property.json/#"
},
"toolBinding": {
"type": "string"
}
},
"required": [
Expand Down Expand Up @@ -158,19 +167,19 @@
"properties": {
"allowedFormats": {
"items": {
"$ref": "http://www.parcore.org/schema/format.json/#"
"$ref": "http://www.parcore.org/schema/1.0/format.json/#"
},
"type": "array"
},
"allowedPropertiesAllOf": {
"items": {
"$ref": "http://www.parcore.org/schema/par-property.json/#"
"$ref": "http://www.parcore.org/schema/1.0/par-property.json/#"
},
"type": "array"
},
"allowedPropertiesAnyOf": {
"items": {
"$ref": "http://www.parcore.org/schema/par-property.json/#"
"$ref": "http://www.parcore.org/schema/1.0/par-property.json/#"
},
"type": "array"
},
Expand All @@ -190,19 +199,26 @@
"type": "string"
},
"id": {
"$ref": "http://www.parcore.org/schema/types.json/#/definitions/parIdentifier"
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/parIdentifier"
},
"inputFiles": {
"additionalItems": false,
"items": {
"$ref": "http://www.parcore.org/schema/preservation-action.json/#/definitions/inputFile"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action.json/#/definitions/inputFile"
},
"type": "array"
},
"inputProperties": {
"additionalItems": false,
"items": {
"$ref": "http://www.parcore.org/schema/preservation-action.json/#/definitions/inputProperty"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action.json/#/definitions/inputProperty"
},
"type": "array"
},
"inputToolArguments": {
"additionalItems": false,
"items": {
"$ref": "http://www.parcore.org/schema/1.0/types.json/#/definitions/inputToolArgument"
},
"type": "array"
},
Expand All @@ -213,32 +229,32 @@
"outputFiles": {
"additionalItems": false,
"items": {
"$ref": "http://www.parcore.org/schema/preservation-action.json/#/definitions/outputFile"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action.json/#/definitions/outputFile"
},
"minItems": 1,
"type": "array"
},
"outputProperties": {
"additionalItems": false,
"items": {
"$ref": "http://www.parcore.org/schema/preservation-action.json/#/definitions/outputProperty"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action.json/#/definitions/outputProperty"
},
"minItems": 1,
"type": "array"
},
"rawOutputs": {
"additionalItems": false,
"items": {
"$ref": "http://www.parcore.org/schema/preservation-action.json/#/definitions/outputRaw"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action.json/#/definitions/outputRaw"
},
"minItems": 1,
"type": "array"
},
"tool": {
"$ref": "http://www.parcore.org/schema/tool.json/#"
"$ref": "http://www.parcore.org/schema/1.0/tool.json/#"
},
"type": {
"$ref": "http://www.parcore.org/schema/preservation-action-type.json/#"
"$ref": "http://www.parcore.org/schema/1.0/preservation-action-type.json/#"
}
},
"required": [
Expand Down
Loading

0 comments on commit 62cdec9

Please sign in to comment.