-
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
Upgrade docs: Interaction with release immutability and dates #849
Comments
Postponing to 1.2.0, so that we can have a broader discussion about the rules around upgrades, of which this forms a part. |
👍 for Option 1.
That's right: OCDS 2.x will not be retro-compatible with OCDS 1.x, and as such can be considered as a new format, faithful to the spirit of OCDS, but distinct. And we wouldn't advise against publishing procurement data in a different format. It actually is good practice (e.g. French government publishes their data in national format + OCDS). However, publishing the same data in various flavours of the same format (say OCDS 1.1 and 1.2) should be advised against. |
Indeed, and we must not forget that the OCDS release is distinct from what it describes. It's an opinionated abstraction of reality, built for specific and limited purposes, and other abstractions, serving other purposes, may live alongside. |
Since we lean toward implementing option 1, here is what we should update:
|
For this issue, let's focus on specifying the rules. Let's leave checking for conformance with the aid of a Release
We can change it to something like:
For the merging routine, I think we can go even simpler, and simply specify that, "All releases must be upgraded to the same version of OCDS." (Merging releases from different versions has undefined behavior.) |
I would specify "major version". Publishing different datasets for different minor versions of the same major version (e.g 1.1 and 1.2 data) is not recommended, even in distinct datasets. Could we add a paragraph about that in the Build or Publish guidance?
Can a releases with different minor versions merge? If a field has been renamed between major versions, how can it be merged? Is the result valid and useful in any way? In other terms, shouldn't it be advised against in both cases? |
To clarify, merging releases from different major or minor versions has undefined behavior (i.e. not advised). For example, in OCDS 1.0, organizations were in-lined. There was no
Why is this a problem? Minor versions introduce changes that old software might not be able to handle (e.g. deprecating fields and moving organization details to the parties array, like in 1.1). It would be very frustrating to users if a publisher turned off 1.1 data the day they published 1.2 data. |
Right! I mixed up the use cases. Then there is the description of
|
Ah I had missed it, thanks! |
In that case, I think we can proceed with this description for
|
Sounds good. I might edit my earlier suggestion, to reference field titles instead of field names, and to avoid the use of Markdown where possible.
|
@jpmckinney Do we mention the possibility to publish several datasets for different OCDS versions in existing guidance pages (identifiers, easy releases, etc.) or do we only add it to the new version upgrade guidance content #1217? |
Let's just do it in #1217. It's going to be an edge case, so it's okay for the content to be on one page only. |
This comment assumes that the OCDS version is indicated at release level (may be implemented in #426), but currently it's only available at package level. The merge routine documentation doesn't mention packages and OCDS version. It's only about merging a number of releases into a combined or versioned release. We assume the releases come from a single or multiple release packages (with a potentially different OCDS version), but it looks like this aspect is out of the scope of this chapter. One change (in bold) we could do is change this sentence (first section of the chapter):
|
A publisher ought to be allowed to upgrade their data between OCDS versions. If they do so, we would presumably want the release
id
to remain the same; however, this would mean that there is an exception to a release's immutability.Furthermore, per #848, they would need to either keep the release
date
values the same, or ensure that the releases have the same chronological order after an upgrade.For dates, I propose:
date
fields remain the same. We might need to clarify the description of thedate
field to make it clear that upgrading a release doesn't entail its re-publication. It's currently: "The date this information was first released, or published."For immutability, we can either:
id
to be scoped by theocid
and the version, such that there can be two releases with the sameid
as long as they have different versions.$schema
to indicate this in Add describedby field for the extended release schema #426.id
, then they should be treated as duplicates and one should be ignored (presumably the one whose version matches the fewest other releases).I prefer something like option 1.
The text was updated successfully, but these errors were encountered: