Open Contracting for Infrastructure Data Standards¶
This profile is developed and maintained by the Open Contracting Partnership on GitHub. It is deployed with the standard documentation. It was previously deployed to https://open-contracting.github.io/infrastructure/, which uses meta refresh to redirect to the current deployment.
Maintenance¶
Copy schema and codelists from OCDS for PPPs¶
For each new release of OCDS for PPPs, run:
make update
Review the changes. If there were updates to the OC4IDS copy of shared fields and codelists since the last release of OCDS for PPPs, you may need to update the update function in manage.py accordingly.
To use a pre-release of OCDS for PPPs, run:
./manage.py update --ppp-base-url https://standard.open-contracting.org/staging/profiles/ppp/1.0-dev/en/_static/patched/
Update blank.json¶
Install json-schema-random:
npm install git+https://github.com/open-contracting/json-schema-random.git#opencontracting
Update blank.json:
node_modules/json-schema-random/cli.js --no-random --no-additional schema/project-level/project-schema.json > docs/examples/blank.json
Create a workbook with a sheet for each mapping CSV file¶
If you are making many changes to the mapping CSV files, you might want to create a workbook containing a sheet for each CSV file.
Install gnumeric on Ubuntu:
sudo apt install gnumeric
Or, on macOS:
brew install gnumeric
Create a workbook with one sheet per mapping CSV file:
ssconvert --merge-to=output.xlsx mapping/*.csv
You can then:
Edit the workbook in your preferred spreadsheet software
Export each sheet as a CSV file to the
mapping
directory
Update sustainability.yaml¶
For each change to the CoST IDS sustainability elements, update mapping/sustainability.yaml
:
./manage.py update-sustainability-elements
For each changed element, check and update its mapping
, example
and fields
. If you edit many examples, you can use the following command to update the associated fields
:
./manage.py update-sustainability-fields
Next, Update sustainability.md.
Update sustainability.md¶
For each change to mapping/sustainability.yaml
:
Lint it, and link any field names to the schema reference documentation:
./manage.py lint -l mapping/sustainability.yaml
Update
docs/cost/ids/sustainability.md
:
./manage.py update-sustainability-docs