open-contracting / standard

Documentation of the Open Contracting Data Standard (OCDS)
http://standard.open-contracting.org/
Other
138 stars 46 forks source link

Git version tag present for some extensions #515

Closed mpostelnicu closed 7 years ago

mpostelnicu commented 7 years ago

Hi guys,

I noticed that for some official OCDS extensions there is a git tag added v1.1 and for others there is no tag. Some questions:

I'm asking these because i want to automate some processes of applying these extensions over schemas, and i want to know if i need to include a version extension or it is OCDS related, etc...

Thanks much

PS: I also noticed the compatibility tag in the extension metadata, like "compatibility": ">=1.1.0" i guess these are in sync with the git tags for each extension...

kindly commented 7 years ago

The v1.1 tag is for OCDS core extensions. These extensions are ones that appear in the standard documentation. The tag is basically in order to fix the version so we know we are going to get the same result if we rebuild the docs. So I do not think this will be very useful for you.

This work around extensions is very immature still so sorry for lack of documentation and clarity.

To get what you need we are aiming to use the compatibility field. See issue here https://github.com/open-contracting/extension_registry/issues/47. In future we intend this to be a list, i.e ["1.1", "1.2"] without the minor version (as there should be no comparability issues between minor versions).

The reason that this has not been dealt with, is that the only version of the standard that actually supports extensions is version 1.1, so you can assume all work with that. Most will probably work with 1.0 but not all and there has not been a audit of which ones will and will not.

mpostelnicu commented 7 years ago

I remember i applied extensions over 1.0 as well, you had a location patch in 1.0. https://github.com/open-contracting/implementation-and-extensions/blob/master/proposed_extensions/proposed_location/schema_usecase_2.json

The difference is on 1.0 you guys used JSON Patch (RFC-6902) https://tools.ietf.org/html/rfc6902 while on 1.1 you started using JSON Merge Patch (RFC-7386) https://tools.ietf.org/html/rfc7386

ok so i should not care much about the git version tag.

How about the versions of the extensions themselves, if you need to track multiple versions of the same extension, like say you have a new bid extension in 1.2 that is incompatible with 1.1 meaning that if i take the trunk of the bid extension 1.2 and try to populate data using 1.1 , it will not work to apply it.

Anyway, you get what im saying, it has to do with version applied to the extension json and their life-cycle. I thought that this was the reason the git tag was used. Like you plan to tag the version 1.2 of the extension with v1.2 so one guy can use two versions of the same extension, one for 1.1 and one for 1.2...

jpmckinney commented 7 years ago

Thanks for the comments here. Let's move the discussion to https://github.com/open-contracting/extension_registry/issues/56