Skip to content

Commit 58d4bc0

Browse files
authored
Merge pull request #166 from pflooky/feature/update-teams
Feature/update teams
2 parents ce14cba + 7488212 commit 58d4bc0

File tree

4 files changed

+111
-47
lines changed

4 files changed

+111
-47
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ This document tracks the history and evolution of the **Open Data Contract Stand
3535
* `slaProperties`
3636
* `support`
3737
* `team`
38+
* Alter `team` to be an object instead of an array.
39+
* Adds `name`, `description`, `members`, `tags`, `customProperties`, `authoritativeDefinitions` fields to `team`.
40+
* Adds `tags`, `customProperties`, `authoritativeDefinitions` fields to `team.members`.
3841
* **Changes** to logicalType and logicalTypeOptions:
3942
* Add `timestamp` and `time` to `logicalType` options.
4043
* Add `timezone` and `defaultTimezone` to `logicalTypeOptions` options for `timestamp` and `time`.

docs/examples/all/full-example.odcs.yaml

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ version: 1.1.0 # Version (follows semantic versioning)
55
status: active
66
id: 53581432-6c55-4ba2-a65f-72344a91553a
77

8+
authoritativeDefinitions:
9+
- type: canonical
10+
url: https://github.com/bitol-io/open-data-contract-standard/blob/main/docs/examples/all/full-example.odcs.yaml
11+
description: Canonical URL to the latest version of the contract.
12+
813
# Lots of information
914
description:
1015
purpose: Views built on top of the seller tables.
@@ -27,7 +32,7 @@ servers:
2732
database: pypl-edw
2833
schema: pp_access_views
2934

30-
# Dataset, schema and quality
35+
# Dataset, schema, and quality
3136
schema:
3237
- name: tbl
3338
physicalName: tbl_1
@@ -215,18 +220,21 @@ price:
215220

216221
# Team
217222
team:
218-
- username: ceastwood
219-
role: Data Scientist
220-
dateIn: "2022-08-02"
221-
dateOut: "2022-10-01"
222-
replacedByUsername: mhopper
223-
- username: mhopper
224-
role: Data Scientist
225-
dateIn: "2022-10-01"
226-
- username: daustin
227-
role: Owner
228-
description: Keeper of the grail
229-
dateIn: "2022-10-01"
223+
name: my-team
224+
description: The team owning the data contract
225+
members:
226+
- username: ceastwood
227+
role: Data Scientist
228+
dateIn: "2022-08-02"
229+
dateOut: "2022-10-01"
230+
replacedByUsername: mhopper
231+
- username: mhopper
232+
role: Data Scientist
233+
dateIn: "2022-10-01"
234+
- username: daustin
235+
role: Owner
236+
description: Keeper of the grail
237+
dateIn: "2022-10-01"
230238

231239

232240
# Roles

docs/examples/stakeholders/basic-four-dpo.odcs.yaml

Lines changed: 32 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,35 @@ name: my_table
77
dataProduct: my_quantum
88
schema: [ ]
99
team:
10-
- username: ceastwood
11-
role: dpo
12-
dateIn: "2014-08-02"
13-
dateOut: "2014-10-01"
14-
replacedByUsername: jwayne
15-
- username: jwayne
16-
role: dpo
17-
dateIn: "2014-10-01"
18-
dateOut: "2019-03-14"
19-
replacedByUsername: cjane
20-
- username: cjane
21-
role: dpo
22-
dateIn: "2019-03-14"
23-
description: Minor interruption due to sabbatical, will be back by end of April 2021
24-
dateOut: "2021-04-01"
25-
replacedByUsername: bkid
26-
- username: bkid
27-
role: dpo
28-
dateIn: "2021-04-01"
10+
name: Data Protection Office
11+
description: The Data Protection Office is responsible for the protection of data.
12+
tags:
13+
- data-protection
14+
- dpo
15+
customProperties:
16+
- property: dpo-policy
17+
value: "DPO policy"
18+
authoritativeDefinitions:
19+
- url: https://my-company-data-policy.com
20+
type: businessDefinition
21+
description: "Full definition of the data protection policy."
22+
members:
23+
- username: ceastwood
24+
role: dpo
25+
dateIn: "2014-08-02"
26+
dateOut: "2014-10-01"
27+
replacedByUsername: jwayne
28+
- username: jwayne
29+
role: dpo
30+
dateIn: "2014-10-01"
31+
dateOut: "2019-03-14"
32+
replacedByUsername: cjane
33+
- username: cjane
34+
role: dpo
35+
dateIn: "2019-03-14"
36+
description: Minor interruption due to sabbatical, will be back by end of April 2021
37+
dateOut: "2021-04-01"
38+
replacedByUsername: bkid
39+
- username: bkid
40+
role: dpo
41+
dateIn: "2021-04-01"

schema/odcs-json-schema-v3.1.0.json

Lines changed: 55 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,7 @@
9696
"$ref": "#/$defs/Pricing"
9797
},
9898
"team": {
99-
"type": "array",
100-
"items": {
101-
"$ref": "#/$defs/Team"
102-
}
99+
"$ref": "#/$defs/Team"
103100
},
104101
"roles": {
105102
"type": "array",
@@ -2392,23 +2389,18 @@
23922389
},
23932390
"additionalProperties": false
23942391
},
2395-
"Team": {
2392+
"TeamMember": {
23962393
"type": "object",
2394+
"description": "Team member information.",
2395+
"additionalProperties": false,
23972396
"properties": {
23982397
"username": {
23992398
"type": "string",
2400-
"description": "The user's username or email.",
2401-
"examples": [
2402-
"mail@example.com",
2403-
"uid12345678"
2404-
]
2399+
"description": "The user's username or email."
24052400
},
24062401
"name": {
24072402
"type": "string",
2408-
"description": "The user's name.",
2409-
"examples": [
2410-
"Jane Doe"
2411-
]
2403+
"description": "The user's name."
24122404
},
24132405
"description": {
24142406
"type": "string",
@@ -2431,9 +2423,57 @@
24312423
"replacedByUsername": {
24322424
"type": "string",
24332425
"description": "The username of the user who replaced the previous user."
2426+
},
2427+
"tags": {
2428+
"$ref": "#/$defs/Tags"
2429+
},
2430+
"customProperties": {
2431+
"type": "array",
2432+
"description": "Custom properties block.",
2433+
"items": {
2434+
"$ref": "#/$defs/CustomProperty"
2435+
}
2436+
},
2437+
"authoritativeDefinitions": {
2438+
"$ref": "#/$defs/AuthoritativeDefinitions"
24342439
}
24352440
},
2436-
"additionalProperties": false
2441+
"required": ["username"]
2442+
},
2443+
"Team": {
2444+
"type": "object",
2445+
"description": "Team information.",
2446+
"additionalProperties": false,
2447+
"properties": {
2448+
"name": {
2449+
"type": "string",
2450+
"description": "Team name."
2451+
},
2452+
"description": {
2453+
"type": "string",
2454+
"description": "Team description."
2455+
},
2456+
"members": {
2457+
"type": "array",
2458+
"description": "List of members.",
2459+
"items": {
2460+
"$ref": "#/$defs/TeamMember"
2461+
}
2462+
},
2463+
"tags": {
2464+
"$ref": "#/$defs/Tags"
2465+
},
2466+
"customProperties": {
2467+
"type": "array",
2468+
"description": "Custom properties block.",
2469+
"items": {
2470+
"$ref": "#/$defs/CustomProperty"
2471+
}
2472+
},
2473+
"authoritativeDefinitions": {
2474+
"$ref": "#/$defs/AuthoritativeDefinitions"
2475+
}
2476+
}
24372477
},
24382478
"Role": {
24392479
"type": "object",

0 commit comments

Comments
 (0)