Create new JSON schema for v3.0.1, update changelog, update examples to use v3.0.1

This commit is contained in:
Flook Peter
2024-12-22 10:17:08 +08:00
parent 0818280147
commit 5d93d5d883
21 changed files with 2405 additions and 35 deletions

View File

@@ -6,6 +6,15 @@ image: "https://raw.githubusercontent.com/bitol-io/artwork/main/horizontal/color
This document tracks the history and evolution of the **Open Data Contract Standard**.
# v3.0.1 - 2024-12-22 - APPROVED
* Added field `authoritativeDefinitions`
* Added field `description.customProperties`
* Added field `description.authoritativeDefinitions`
* Added field `role.customProperties`
* Updated `status` field to include examples
* Updated `authoritativeDefinitions` description to be vendor agnostic
# v3.0.0 - 2024-10-21 - APPROVED
* **New section**: Support & communication channels.

View File

@@ -43,7 +43,7 @@ This section contains general information about the contract.
### Example
```YAML
apiVersion: v3.0.0 # Standard version
apiVersion: v3.0.1 # Standard version
kind: DataContract
id: 53581432-6c55-4ba2-a65f-72344a91553a
@@ -66,16 +66,16 @@ tags: null
| Key | UX label | Required | Description |
|--------------------------------------|---------------------------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| apiVersion | Standard version | Yes | Version of the standard used to build data contract. Default value is `v3.0.0`. |
| apiVersion | Standard version | Yes | Version of the standard used to build data contract. Default value is `v3.0.1`. |
| kind | Kind | Yes | The kind of file this is. Valid value is `DataContract`. |
| id | ID | Yes | A unique identifier used to reduce the risk of dataset name collisions, such as a UUID. |
| name | Name | No | Name of the data contract. |
| version | Version | Yes | Current version of the data contract. |
| status | Status | Yes | Current status of the data contract. Examples are "proposed", "draft", "active", "deprecated", "retired". |
| status | Status | Yes | Current status of the data contract. Examples are "proposed", "draft", "active", "deprecated", "retired". |
| tenant | Tenant | No | Indicates the property the data is primarily associated with. Value is case insensitive. |
| domain | Domain | No | Name of the logical data domain. |
| dataProduct | Data Product | No | Name of the data product. |
| authoritativeDefinitions | Authoritative Definitions | No | List of links to sources that provide more details on the data contract. |
| authoritativeDefinitions | Authoritative Definitions | No | List of links to sources that provide more details on the data contract. |
| description | Description | No | Object containing the descriptions. |
| description.purpose | Purpose | No | Intended purpose for the provided data. |
| description.limitations | Limitations | No | Technical, compliance, and legal limitations for data use. |
@@ -218,16 +218,16 @@ schema:
#### Applicable to Elements (either Objects or Properties)
| Key | UX label | Required | Description |
|--------------------------|------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| name | Name | Yes | Name of the element. |
| physicalName | Physical Name | No | Physical name. |
| description | Description | No | Description of the element. |
| businessName | Business Name | No | The business name of the element. |
| authoritativeDefinitions | Authoritative Definitions | No | List of links to sources that provide more details on the table; examples would be a link to an external definition, a training video, a git repo, data catalog, or another tool. See `authoritativeDefinitions` below. |
| quality | Quality | No | List of data quality attributes. |
| tags | Tags | No | A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. |
| customProperties | Custom Properties | No | Custom properties that are not part of the standard. |
| Key | UX label | Required | Description |
|--------------------------|---------------------------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| name | Name | Yes | Name of the element. |
| physicalName | Physical Name | No | Physical name. |
| description | Description | No | Description of the element. |
| businessName | Business Name | No | The business name of the element. |
| authoritativeDefinitions | Authoritative Definitions | No | List of links to sources that provide more details on the table; examples would be a link to an external definition, a training video, a git repo, data catalog, or another tool. See `authoritativeDefinitions` below. |
| quality | Quality | No | List of data quality attributes. |
| tags | Tags | No | A list of tags that may be assigned to the elements (object or property); the tags keyword may appear at any level. |
| customProperties | Custom Properties | No | Custom properties that are not part of the standard. |
#### Applicable to Objects
@@ -647,7 +647,7 @@ roles:
| roles.access | Access | No | The type of access provided by the IAM role. |
| roles.firstLevelApprovers | 1st Level Approvers | No | The name(s) of the first-level approver(s) of the role. |
| roles.secondLevelApprovers | 2nd Level Approvers | No | The name(s) of the second-level approver(s) of the role. |
| roles.customProperties | Custom Properties | No | Any custom properties. |
| roles.customProperties | Custom Properties | No | Any custom properties. |
## Service-Level Agreement (SLA)

View File

@@ -16,7 +16,7 @@ description:
tenant: ClimateQuantumInc
kind: DataContract
apiVersion: v3.0.0 # Standard version (follows semantic versioning)
apiVersion: v3.0.1 # Standard version (follows semantic versioning)
# Infrastructure & servers
servers:

View File

@@ -4,7 +4,7 @@ id: 53581432-6c55-4ba2-a65f-72344a91553a
status: active
name: my_table
dataProduct: my_quantum
apiVersion: v3.0.0
apiVersion: v3.0.1
schema:
- name: transactions_tbl
description: Provides core payment metrics

View File

@@ -3,7 +3,7 @@ kind: DataContract
id: 53581432-6c55-4ba2-a65f-72344a91553a
status: active
name: my_quantum
apiVersion: v3.0.0
apiVersion: v3.0.1
schema:
- name: tbl
description: Provides core payment metrics

View File

@@ -4,7 +4,7 @@ id: 53581432-6c55-4ba2-a65f-72344a91553a
status: active
name: my_table
dataProduct: my_quantum
apiVersion: v3.0.0
apiVersion: v3.0.1
schema:
- name: Air_Quality
description: Air quality of the city of New York

View File

@@ -1,5 +1,5 @@
version: 1.0.0
apiVersion: v3.0.0
apiVersion: v3.0.1
kind: DataContract
id: 53581432-6c55-4ba2-a65f-72344a91553a
status: active

View File

@@ -1,5 +1,5 @@
version: 1.0.0
apiVersion: v3.0.0
apiVersion: v3.0.1
kind: DataContract
id: 53581432-6c55-4ba2-a65f-72344a91553a
status: active

View File

@@ -1,5 +1,5 @@
version: 1.0.0
apiVersion: v3.0.0
apiVersion: v3.0.1
kind: DataContract
id: 53581432-6c55-4ba2-a65f-72344a91553a
status: active

View File

@@ -5,7 +5,7 @@ status: active
name: my_table
dataProduct: my_quantum
schema: []
apiVersion: v3.0.0
apiVersion: v3.0.1
roles:
- role: microstrategy_user_opr
access: read

View File

@@ -3,7 +3,7 @@ kind: DataContract
id: 53581432-6c55-4ba2-a65f-72344a91553a
status: active
name: my_quantum
apiVersion: v3.0.0
apiVersion: v3.0.1
schema:
- name: tbl
logicalType: object

View File

@@ -1,4 +1,4 @@
apiVersion: v3.0.0
apiVersion: v3.0.1
kind: DataContract
id: orders
status: development

View File

@@ -1,4 +1,4 @@
apiVersion: v3.0.0
apiVersion: v3.0.1
kind: DataContract
id: orders
status: production

View File

@@ -4,7 +4,7 @@ id: 53581432-6c55-4ba2-a65f-72344a91553b
status: active
name: my_table
dataProduct: my_quantum
apiVersion: v3.0.0
apiVersion: v3.0.1
schema:
- name: tbl
physicalType: table

View File

@@ -4,7 +4,7 @@ id: 53581432-6c55-4ba2-a65f-72344a91553c
status: active
name: my_table
dataProduct: my_quantum
apiVersion: v3.0.0
apiVersion: v3.0.1
schema:
- name: tbl
physicalType: table

View File

@@ -1,5 +1,5 @@
version: 1.0.0
apiVersion: v3.0.0
apiVersion: v3.0.1
kind: DataContract
id: abc123
status: in development

View File

@@ -1,5 +1,5 @@
version: 1.0.0
apiVersion: v3.0.0
apiVersion: v3.0.1
kind: DataContract
id: abc123
status: in development

View File

@@ -1,5 +1,5 @@
version: 1.0.0
apiVersion: v3.0.0
apiVersion: v3.0.1
kind: DataContract
id: 53581432-6c55-4ba2-a65f-72344a91553a
status: active

View File

@@ -1,5 +1,5 @@
version: 1.0.0
apiVersion: v3.0.0
apiVersion: v3.0.1
kind: DataContract
id: 53581432-6c55-4ba2-a65f-72344a91553a
status: active

View File

@@ -16,9 +16,9 @@
},
"apiVersion": {
"type": "string",
"default": "v3.0.0",
"description": "Version of the standard used to build data contract. Default value is v3.0.0.",
"enum": ["v3.0.0", "v2.2.2", "v2.2.1", "v2.2.0"]
"default": "v3.0.1",
"description": "Version of the standard used to build data contract. Default value is v3.0.1.",
"enum": ["v3.0.1", "v3.0.0", "v2.2.2", "v2.2.1", "v2.2.0"]
},
"id": {
"type": "string",

File diff suppressed because it is too large Load Diff