Creating an OCDS Extension
2020, remote
Introduction
Introduction: Welcome
Welcome everyone
Introduction: Expectations and Target Audiences
This webinar has been designed with the following people in mind:
Introduction: Aims and Objectives
Aim: Provide an overview of developing a OCDS extension
Introduction: Agenda
Target Length: 45 hour
Extensions recap
Extensions
OCDS implementation involves mapping your data to OCDS.
Some of your data might not match any field or code in OCDS. To cover such cases, you can use extensions to add extra fields and codes.
Extensions provide a way to document these extra fields and codes and define validation for them as well as declaring them as available for data users and tools.
OCDS�fields and codes
Your�data
Data that maps
Unused�fields and codes
Extensions
Do I need to use extensions?
Use the field level mapping template to identify data which:
Maps to the core OCDS schema�Extensions are not required to publish this data.
Maps to fields in a recommended extension�Use the extensions explorer to find out how to use the extension.
Doesn’t map to either of the above�Use the extension explorer to check if another extension exists which could be used to disclose your data.
Contact the helpdesk (data@open-contracting.org) if you have data that doesn’t map to the core OCDS schema or any existing extensions.
Declaring an extension
Extensions are declared in the package metadata for releases and records
Creating an extension
When to create an extension
Before you begin developing an extension; check that you definitely need to. Develop an extension when you are certain that:
✔ You have checked that your data does not map to an existing OCDS field or extension
✔ You have searched the OCDS Standard repo for open/closed issues
✔ Nobody else is working on a similar problem
Check your knowledge
Developing an extension requires an understanding of the following:
You can use the standard extension template to support you
JSON Schema
Creating an extension: 4Ds
Step 1: Discuss
1: Discuss
When creating an issue, make sure that you communicate clearly and include the following:
“I need an extension to represent multiple buyers”
This discussion lead to the multiple buyers - contract level extension
Practical tips for this step:
Step 2: Development
2. Development: The structure of an extension
2. Development: Getting started
Or using extension creator
Based on template repository
2. Development
1. design your field names and structures
String: procurementManager, Array (Cost Centre): costCentres
2. Mock up the data
2. Development
3. Consider the OCDS Schema conventions
Visit the style guide to check you’re meeting the style
4. Produce the JSON Schema merge patch
2. Development
Practical tips for this step:
Step 3: Documentation
3. Documentation
You should provide clear and concise documentation in the README file so that implementers and data users know how your extension works. Good documentation consists of:
3. Documentation
Example: Bid statistics and details extension
3. Documentation
Practical tips for this step:
Step 4: Demonstration & Testing
4. Demonstration & Testing
Before using your extension in an implementation it is important to test it out.
4. Demonstration & Testing
You should be testing for two things during this step:
4. Demonstration & Testing
Practical tips for this step:
Extension Creation Live demo
Extension Creation Live Demo
“I need an extension to model a tender with a predefined location”
Extension Creation Live Demo
Creating an extension is straightforward using our tools:
Sample files to try yourself:
Key Tools
Key Tools
Summary and Q&A
Summary
Questions and Answers
We’ll answer some questions from the notes document now and also send out answers to all questions via the OCDS Standard Mailing list.
English OCP Post-event Survey
www.surveymonkey.com/r/ocp-post-event
Scan the QR code below to access the survey on your device.