open-contracting / standard

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

Review Extensions conformance section #582

Open jpmckinney opened 7 years ago

jpmckinney commented 7 years ago

Possible new requirements for extensions:

We can offer tool support for this: both for validating extensions, and for automatically putting the codes from the codelists into the enum. (Both tools now exist.)

http://standard.open-contracting.org/latest/en/schema/conformance_and_extensions/#extensions

jpmckinney commented 6 years ago

Possible new requirements (related to https://github.com/open-contracting/standard-maintenance-scripts/issues/48):

This is to avoid an extension changing the semantics of the standard's schema and thereby breaking interoperability.

If an extension desires to further document the usage of a field, it should do so through documentation, rather than through changing a field's description property.

jpmckinney commented 6 years ago

Possible new requirements (related https://github.com/open-contracting/standard-maintenance-scripts/issues/45):

duncandewhurst commented 3 years ago

I'm in favour of all of the proposed requirements. However, there is some cross-over with parts of the schema style guide, so we should consider how to keep those in sync, or whether the style guide should defer to the extensions conformance section for some points.

If a field has an enum, should we require that it be expressed as a codelist?

I think so, so that titles and descriptions for the enum values can be translated.

jpmckinney commented 3 years ago

Yes, once this documentation exists, we can remove some content from the style guide and link to these docs.

This is quite an old issue. Some additional rules for extensions are expressed by the schema files for CSV codelists and extension.json files: https://github.com/open-contracting/standard-maintenance-scripts/tree/main/schema

These tests might also go beyond the above. (The jscc documentation might be easier to read.)

I'd consider this issue to be lower priority, as we have internal tools for checking extensions. For the rules to be really useful, we'd have to consider an online tool – but there are not a huge number of unregistered extensions.

jpmckinney commented 1 year ago

See also #1571 on rules for publishing extensions.

jpmckinney commented 1 year ago

Noting that normative.md mentions extension-schema.json and codelist-schema.json. If this issue mentions those, we should move them to this repository, and update normative.md.

duncandewhurst commented 1 week ago

@jpmckinney I know you said this was lower priority, but given that most other issues are blocked or pending review, shall @odscjen or I prepare a PR to update the extensions conformance documentation?

jpmckinney commented 1 week ago

Sure. Let's keep it succinct (e.g. bullet form, with subheadings to organize content as needed). Once the PR is approved, there can be a corresponding PR to delete content from the handbook and reference this page instead (it can link to the staging page until 1.2 is released).