From 188a54dac537ef450e626bc5629e8472efba0cd1 Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Tue, 24 Aug 2021 14:54:26 -0400 Subject: [PATCH 1/4] record-package-schema: remove releases in record requirement Signed-off-by: Yohanna Lisnichuk --- docs/schema/records_reference.md | 14 ++++++++++++-- schema/record-package-schema.json | 3 +-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/schema/records_reference.md b/docs/schema/records_reference.md index b6ea30f40..00e54284c 100644 --- a/docs/schema/records_reference.md +++ b/docs/schema/records_reference.md @@ -36,12 +36,22 @@ The following example demonstrates the package metadata and record fields. ## Record structure -A record **must** contain an [ocid](identifiers.md#open-contracting-process-identifier-ocid) and all [releases](#releases) about the contracting process at the time of the record's publication. As such, a record functions as an index of releases about a contracting process. +A record **must** contain an [ocid](identifiers.md#open-contracting-process-identifier-ocid) and it **should** contain either: -A record **should** contain a [compiledRelease](#compiled-release) object, which represents the state of the contracting process at the time of the record's publication. +* All [releases](#releases) about the contracting process at the time of the record's publication, and/or; + +* A [compiledRelease](#compiled-release) object, which represents the state of the contracting process at the time of the record's publication. + +As such, a record functions as an index of releases and/or as the latest version of a contracting process at the time of the record's publication. A record **may** contain a [versionedRelease](#versioned-release) object, which aggregates, into a single object, all values of all fields from all releases up to the time of the record's publication. The versioned release is designed to make it easy to see how values change from one release to another, and will often be generated by data users, rather than by publishers. +```{admonition} Releases +:class: note + +Version 1.2 of OCDS removes the need to publishing releases within a record. This allows publishing a record with only the latest version of a contracting process (a compiled release). This is relevant when the versioning history of the process (releases) is not available. +``` + ### Releases Each release in a record can be provided as either a linked release or an embedded release. diff --git a/schema/record-package-schema.json b/schema/record-package-schema.json index 200a28f5e..ace4d1954 100644 --- a/schema/record-package-schema.json +++ b/schema/record-package-schema.json @@ -169,8 +169,7 @@ } }, "required": [ - "ocid", - "releases" + "ocid" ] }, "LinkedRelease": { From de3c6a4d9442c5bb10bd7deaff78abd474f9cacc Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Tue, 24 Aug 2021 15:07:23 -0400 Subject: [PATCH 2/4] changelog: add records.releases entry Signed-off-by: Yohanna Lisnichuk --- docs/history/changelog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/history/changelog.md b/docs/history/changelog.md index 7d1da7811..2b7cb125b 100644 --- a/docs/history/changelog.md +++ b/docs/history/changelog.md @@ -169,6 +169,7 @@ Per the [normative and non-normative content and changes policy](https://docs.go * [#1307](https://github.com/open-contracting/standard/pull/1307) Clarify uniqueness rules for records. * [#1339](https://github.com/open-contracting/standard/pull/1339) Deprecate `packages`. * [#1374](https://github.com/open-contracting/standard/pull/1374) Remove `records.minItems` requirement. + * [#1393](https://github.com/open-contracting/standard/pull/1393) Remove `records.releases` requirement. * Release package schema: * [#1374](https://github.com/open-contracting/standard/pull/1374) Remove `releases.minItems` requirement. From 8afa65edde0ba3aedf50504235c05d4069b570ec Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Tue, 31 Aug 2021 16:19:04 -0400 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: James McKinney <26463+jpmckinney@users.noreply.github.com> --- docs/history/changelog.md | 2 +- docs/schema/records_reference.md | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/history/changelog.md b/docs/history/changelog.md index 2b7cb125b..c7e7de38d 100644 --- a/docs/history/changelog.md +++ b/docs/history/changelog.md @@ -169,7 +169,7 @@ Per the [normative and non-normative content and changes policy](https://docs.go * [#1307](https://github.com/open-contracting/standard/pull/1307) Clarify uniqueness rules for records. * [#1339](https://github.com/open-contracting/standard/pull/1339) Deprecate `packages`. * [#1374](https://github.com/open-contracting/standard/pull/1374) Remove `records.minItems` requirement. - * [#1393](https://github.com/open-contracting/standard/pull/1393) Remove `records.releases` requirement. + * [#1393](https://github.com/open-contracting/standard/pull/1393) Remove `releases` as a required field of the `Record` object. * Release package schema: * [#1374](https://github.com/open-contracting/standard/pull/1374) Remove `releases.minItems` requirement. diff --git a/docs/schema/records_reference.md b/docs/schema/records_reference.md index 00e54284c..c986b5039 100644 --- a/docs/schema/records_reference.md +++ b/docs/schema/records_reference.md @@ -36,14 +36,11 @@ The following example demonstrates the package metadata and record fields. ## Record structure -A record **must** contain an [ocid](identifiers.md#open-contracting-process-identifier-ocid) and it **should** contain either: - -* All [releases](#releases) about the contracting process at the time of the record's publication, and/or; +A record **must** contain an [ocid](identifiers.md#open-contracting-process-identifier-ocid) and one or more of: +* All [releases](#releases) about the contracting process at the time of the record's publication. * A [compiledRelease](#compiled-release) object, which represents the state of the contracting process at the time of the record's publication. -As such, a record functions as an index of releases and/or as the latest version of a contracting process at the time of the record's publication. - A record **may** contain a [versionedRelease](#versioned-release) object, which aggregates, into a single object, all values of all fields from all releases up to the time of the record's publication. The versioned release is designed to make it easy to see how values change from one release to another, and will often be generated by data users, rather than by publishers. ```{admonition} Releases From 62fbc072b891e05326875e7a12f40c53e2ebdc5c Mon Sep 17 00:00:00 2001 From: Yohanna Lisnichuk Date: Tue, 31 Aug 2021 16:21:00 -0400 Subject: [PATCH 4/4] recods_reference: remove record.releases admonition Signed-off-by: Yohanna Lisnichuk --- docs/schema/records_reference.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/schema/records_reference.md b/docs/schema/records_reference.md index c986b5039..1d0252e5c 100644 --- a/docs/schema/records_reference.md +++ b/docs/schema/records_reference.md @@ -43,12 +43,6 @@ A record **must** contain an [ocid](identifiers.md#open-contracting-process-iden A record **may** contain a [versionedRelease](#versioned-release) object, which aggregates, into a single object, all values of all fields from all releases up to the time of the record's publication. The versioned release is designed to make it easy to see how values change from one release to another, and will often be generated by data users, rather than by publishers. -```{admonition} Releases -:class: note - -Version 1.2 of OCDS removes the need to publishing releases within a record. This allows publishing a record with only the latest version of a contracting process (a compiled release). This is relevant when the versioning history of the process (releases) is not available. -``` - ### Releases Each release in a record can be provided as either a linked release or an embedded release.