open-contracting / extension-explorer

Disclose more data about your contracting processes, using extensions to the Open Contracting Data Standard
https://extensions.open-contracting.org/
BSD 3-Clause "New" or "Revised" License
3 stars 0 forks source link

Add guidance #47

Closed jpmckinney closed 2 years ago

jpmckinney commented 5 years ago
jpmckinney commented 4 years ago
duncandewhurst commented 3 years ago

It would be great to progress this since we are still directing publishers to https://www.open-contracting.org/2018/07/16/creating-managing-ocds-extensions/ which is getting quite out of date (it doesn't mention the extension explorer, for example).

jpmckinney commented 3 years ago

The document in CRM-3987 was drafted a couple years ago, and isn't the same level of clarity and quality as more recent documentation. Can you edit it accordingly? If possible, it'd be good to complete the above tasks, too.

I had started integrating the content in July, but didn't get past the home page. The content needs to start simpler, e.g.

duncandewhurst commented 2 years ago
  • [x] Integrate content from CRM-3987

I've edited the document. Do you want to review it before I create a PR?

I'm not sure what's needed here and who the audience is - is it publishers or users? For publishers, do we need to explain the use of patternProperties for language-suffixed fields somewhere? I think the standard development handbook might be the best place for that.

  • [x] Add content relevant to passing extension review (see internal process document)
    • Consider which of the review criteria to add to the readmes of the extension registry or extension template

I've integrated the criteria from the 'quick checks' section of the process note, but left the 'in-depth checks'. Potentially, we could add the criteria under the 'individual files' subheading to the extension registry readme.

  • [ ] Decide whether to move content from the extension template to either the explorer or the standard documentation
    • This content might be split into multiple pages.
    • If moved, we can replace the extension template readme with sample headings and expand on what makes good documentation

There's a lot to integrate here and I don't think the current location is causing any problems, so I suggest we keep it as-is and open a follow-up issue on integrating it (if there is a need/demand). Does that sound good?

The guidance in this blog is more about the process for mapping additional fields than it is about using or creating extensions. I think it would fit better under https://standard.open-contracting.org/latest/en/guidance/map/#consider-using-extensions, The information that is not repeated elsewhere can be boiled down to:

Before using extensions, you should decide whether the additional data that you want to disclose affects how users should interpret fields in the OCDS schema. If so, consider whether you can include extra information in an existing field to alert users who only know about fields in the OCDS schema. For example, to disclose data about the disposal of state assets, in addition to using an extension, you can prefix tender.title with 'Disposal:'.

You should also double-check whether the additional data that you want to disclose can be modelled using an existing field. For example, to disclose the date by which the procuring entity will respond to enquiries, rather than adding a field, you can use tender.milestones.

What do you think?

Once the Extension Explorer is updated, we should add a note to this blog to direct readers to the updated guidance.

jpmckinney commented 2 years ago

I've edited the document. Do you want to review it before I create a PR?

No, let's integrate what you have, and we can always edit it later.

I'm not sure what's needed here and who the audience is - is it publishers or users? For publishers, do we need to explain the use of patternProperties for language-suffixed fields somewhere? I think the standard development handbook might be the best place for that.

I think I intended this for the publisher, to know that they don't need to define fields for different languages, and that they can instead use the patternProperties approach. I'm fine with opening an issue in the handbook, and then adding a link from the Extension Explorer once the content is ready.

Regarding users, I think only the Project extension uses this approach for multilingual support (others use it for currency exchange or arbitrary key-value pairs, like a metric's dimensions), so I don't think we need to add anything for users here.

  • [x] Add content relevant to passing extension review (see internal process document)
  • Consider which of the review criteria to add to the readmes of the extension registry or extension template

I've integrated the criteria from the 'quick checks' section of the process note, but left the 'in-depth checks'. Potentially, we could add the criteria under the 'individual files' subheading to the extension registry readme.

I'm not sure which heading you're referring to. Do you mean under each subheading under this heading in the template's repo? https://github.com/open-contracting/standard_extension_template#extension-repository-structure

  • [ ] Decide whether to move content from the extension template to either the explorer or the standard documentation

    • This content might be split into multiple pages.
    • If moved, we can replace the extension template readme with sample headings and expand on what makes good documentation

There's a lot to integrate here and I don't think the current location is causing any problems, so I suggest we keep it as-is and open a follow-up issue on integrating it (if there is a need/demand). Does that sound good?

Sounds good. Note that there is this other issue about moving just one section of the template out: https://github.com/open-contracting/standard_extension_template/issues/37

The guidance in this blog is more about the process for mapping additional fields than it is about using or creating extensions. I think it would fit better under https://standard.open-contracting.org/latest/en/guidance/map/#consider-using-extensions, The information that is not repeated elsewhere can be boiled down to:

Before using extensions, you should decide whether the additional data that you want to disclose affects how users should interpret fields in the OCDS schema. If so, consider whether you can include extra information in an existing field to alert users who only know about fields in the OCDS schema. For example, to disclose data about the disposal of state assets, in addition to using an extension, you can prefix tender.title with 'Disposal:'. You should also double-check whether the additional data that you want to disclose can be modelled using an existing field. For example, to disclose the date by which the procuring entity will respond to enquiries, rather than adding a field, you can use tender.milestones.

What do you think?

True - sounds good to me to integrate those points.

Once the Extension Explorer is updated, we should add a note to this blog to direct readers to the updated guidance.

👍

duncandewhurst commented 2 years ago

I've integrated the content in https://github.com/open-contracting/extension-explorer/pull/67. I did this by copy-pasting the content from the Google Doc and then adding the HTML tags. Let me know if there is an easier way - the output from Google's HTML export was a mess. I chose to split the publisher and user guidance into separate pages since they serve different audiences.

I've opened an issue to add guidance on multi-lingual support to the handbook: https://github.com/open-contracting/standard-development-handbook/issues/250

I've opened an issue about moving content from the standard extension template: https://github.com/open-contracting/standard_extension_template/issues/41

I've integrated the content from https://www.open-contracting.org/2018/01/30/fields-dont-map-first/ in https://github.com/open-contracting/standard/pull/1428

  • [ ] Add content relevant to passing extension review (see internal process document)
  • Consider which of the review criteria to add to the readmes of the extension registry or extension template

I've integrated the criteria from the 'quick checks' section of the process note, but left the 'in-depth checks'. Potentially, we could add the criteria under the 'individual files' subheading to the extension registry readme.

I'm not sure which heading you're referring to. Do you mean under each subheading under this heading in the template's repo? https://github.com/open-contracting/standard_extension_template#extension-repository-structure

Ah sorry, I was referring to the headings in the process note. I've integrated the quick checks, but left the in depth checks. My suggestion was to add the content from the individual files subheading to the extension registry readme - I hadn't thought about where exactly in the readme to put it, though.

jpmckinney commented 2 years ago

Right - I don't think it belongs in the registry repo, if the goal is for publishers to author good quality extensions (whether registered or not). I thought maybe it'd work better in the extension template repo (though if we move content out of there, then it probably makes sense to put it in the Extension Explorer). At any rate, can you create a follow-up issue?

duncandewhurst commented 2 years ago

Done!

jpmckinney commented 2 years ago

Aha, the deployment build error reminded what I meant about multilingual support.

If the Extension Explorer identifies that a field has multilingual support, it says so ("This field has multilingual support."). I'll link to https://standard.open-contracting.org/latest/en/schema/reference/#language.