Skip to content
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

Review Extensions conformance section #582

Open
jpmckinney opened this issue Sep 28, 2017 · 6 comments
Open

Review Extensions conformance section #582

jpmckinney opened this issue Sep 28, 2017 · 6 comments
Labels
Focus - Documentation Includes corrections, clarifications, new guidance, and UI/UX issues Focus - Extensions Relating to new or proposed extensions, or the governance and maintenance of extensions
Projects
Milestone

Comments

@jpmckinney
Copy link
Member

jpmckinney commented Sep 28, 2017

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 jpmckinney added the Focus - Documentation Includes corrections, clarifications, new guidance, and UI/UX issues label Sep 29, 2017
@jpmckinney jpmckinney changed the title Review Extensions conformance Review Extensions conformance section Nov 17, 2017
@jpmckinney jpmckinney added this to the 1.1.x Clarifications milestone Dec 27, 2017
@jpmckinney
Copy link
Member Author

jpmckinney commented Dec 28, 2017

Possible new requirements (related to open-contracting/standard-maintenance-scripts#48):

  • Conformant extensions should not delete fields from the standard's schema.
  • Conformant extensions should not change the properties of fields from the standard's schema. Note: api_extension changes required to [] and ocds_milestone_documents_extension changes deprecated to null.

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
Copy link
Member Author

jpmckinney commented Dec 28, 2017

Possible new requirements (related open-contracting/standard-maintenance-scripts#45):

  • Definition names should be UpperCamelCase.
  • Field names should be lowerCamelCase.
  • Both names should contain only ASCII alphabetical letters.
  • If an acronym is used within a name, the acronym should be all uppercase, unless it is at the beginning of the name, in which case it should be all lowercase.

@jpmckinney jpmckinney modified the milestones: 1.1.x Clarifications, 1.2 Sep 21, 2018
@jpmckinney jpmckinney added this to To do: Reference in OCDS 1.2 Jul 17, 2020
@duncandewhurst
Copy link
Contributor

duncandewhurst commented Jun 14, 2021

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
Copy link
Member Author

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
Copy link
Member Author

See also #1571 on rules for publishing extensions.

@jpmckinney
Copy link
Member Author

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.

@jpmckinney jpmckinney added the Focus - Extensions Relating to new or proposed extensions, or the governance and maintenance of extensions label Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Focus - Documentation Includes corrections, clarifications, new guidance, and UI/UX issues Focus - Extensions Relating to new or proposed extensions, or the governance and maintenance of extensions
Projects
OCDS 1.2
  
To do: Reference
Development

No branches or pull requests

2 participants