-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
847 record uniqueness #1307
847 record uniqueness #1307
Conversation
@jpmckinney, before I request a review from a helpdesk analyst, should we also document the uniqueness rules in the schema by adding the following to the description of
|
@duncandewhurst I have not reviewed, but yes, makes sense to also update the schema. |
You'll need to merge 1.2-dev to get tests to pass. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All these changes reflect the clarifications indicated, and are very well written.
docs/schema/records_reference.md
Outdated
@@ -1,6 +1,6 @@ | |||
# Record Reference | |||
|
|||
Whereas there can be multiple releases about a contracting process, there should be a single **record** per contracting process, aggregating all the releases available for the contracting process. | |||
A record aggregates the releases related to a contracting process. There should be a single record per contracting process per [distribution](https://www.w3.org/TR/vocab-dcat-2/#Class:Distribution), where a distribution might be a specific API endpoint or a specific bulk download file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer using "releases about a contracting process" throughout instead of related to, because a release is a data artifact that describes a real-world contracting process (an "about" relationship), whereas "relates to" is much more generic (e.g. a release about a contract renewal could, in a sense, "relate" to the original contract).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense. Fixed in 5b055f7
schema/record-package-schema.json
Outdated
@@ -122,7 +122,7 @@ | |||
"definitions": { | |||
"Record": { | |||
"title": "Record", | |||
"description": "An OCDS record must provide a list of all the existing OCDS releases related to a single contracting process and should provide a compiled release containing the current state of all fields in the release schema. An OCDS record may also provide a versioned history of all changes to the data in the compiled release.", | |||
"description": "A record aggregates the releases related to a contracting process. A record must include a `releases` list, should include a `compiledRelease` and may include a `versionedRelease`. There should be a single record per contracting process per [distribution](https://www.w3.org/TR/vocab-dcat-2/#Class:Distribution), where a distribution might be a specific API endpoint or a specific bulk download file.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "must" statement is enforced by required
, which I don't think we typically repeat in field descriptions. I wonder whether the should statement can be moved to the compiledRelease
description. The remaining "may" statement is not necessary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess the original intention was to have all the statements in one place. However, that need is met by records_reference.md
so I've made the changes you suggest in 5521210
Co-authored-by: James McKinney <26463+jpmckinney@users.noreply.github.com>
Remove repeated and unnecessary statements from `Record` description. Move should statement to `compiledRelease` description.
Thanks! |
Closes #847
records_reference.md
:releases_and_records.md
Change 'While releases are never updated, records are updated each time there is a change.' to 'While releases are never updated, records can be updated each time there is a change.' to clarify that there is no requirement to update old records.
Update
.description
inrecord-package-schema.json
to describe only a record package, similar todescription
inrelease-package-schema.json
. Previously,.description
also paraphrased the description of a record indefinitions.Record.description
, possibly because there is norecord-schema.json
file. However, I think it's best to document the description of a record in only one place in the schema.Update
.description
indefinitions.Record
:records_reference.md
.Previously,
.description
also paraphrased the descriptions from.properties.releases
,.properties.compiledRelease
and.properties.versionedRelease
. However, I think it's best to document the descriptions of each property in only one place in the schema.Update
.description
indefinitions.Record.properties.releases
to clarify that the releases list need only contain all releases at the time of the record's publicationUpdate
.description
indefinitions.Record.properties.compiledRelease
to clarify that the compiled release need only contain the latest values at the time of the record's publication and to replace 'latest version of all the contracting data' with 'latest value of each field'.Update
.description
indefinitions.Record.properties.versionedRelease
to clarify that the versioned release need only contain a history of changes up to the time of the record's publication and, since a versioned release can be published independently of a compiled release, replace 'all the data in the compiled release' with 'each field'.