It's advised to use the latest maintained release from the list of maintained releases.
Governance
Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses.
A high quality governance framework provides implementers with confidence that UNCRMTP
- is a public good that cannot be captured by any specific commercial interest and is free to use without license constraints
- is developed via a consensus based process that ensures it will meet the needs of the Australian Agriculture sector
- is specific, testable, and rigorously versioned so that implementers can be confident of stability and interoperability
- is compatible with relevant national and international standards and regulations.
The governance framework described on this page is designed to meet these criteria.
Licensing
As required by UNTP Extensions Governance the UNCRMTP is made available under the Creative Commons 1.0 Universal license. This means that it is free to use and can be modified and extended for any purpose.
Governance Structure
TBD
Data Governance Scope
UNCRMTP is an extension of UNTP which is itself built on the W3C Verifiable Credentials Data Model (VCDM). Each of these layers define data models and a vocabulary that is protected. This means that UNTP must re-use and not re-define VCDM data elements such as "issuer" (party) and "validFrom" (date). UNTP in turn defines a suite of credential types such as a Digital Product Passport (DPP), Digital Conformity Credential (DCC), Digital Traceability Event (DTE) and Digital Facility Record (DFR) that are all represented as W3C Verifiable Credentials. UNTP is built using data elements defined by UN/CEFACT, Schema.org and some global sustainability standards.
As shown in the diagram, a valid UNCRMTP credential instance MUST
- reference and conform to the UNCRMTP JSON Schema that defines the valid data structure. The JSON Schema is a complete description of the entire credential and includes all data elements from VCDM, and UNTP, and UNCRMTP. It offers a simple and complete schema for implementers to follow.
- reference JSON-LD @context files(s) that map every extended data element to semantic meaning defined in an UNCRMTP reference vocabulary. JSON-LD @context files are a non-overlapping set of vocabulary mappings and therefore the instance file will reference the VCDM context, and the UNTP context, and the UNCRMTP context.
Consequently the scope of UNCRMTP data governance is
- to define data models and JSON schema for UNCRMTP credentials as required.
- to select reference vocabularies relevant to the agriculture sector.
- to define a JSON-LD @context file for each UNCRMTP credential.
- to maintain an UNCRMTP reference vocabulary for all elements that cannot be mapped to an existing standard vocabulary.
Development Process
All changes to UNCRMTP vocabularies, schema, and context files will follow a consistent development process as shown in the workflow diagram below. Each version change follows the entire process but bug fixes can bypass much of the development process.
The process ensures that no artifacts are released to production unless they are tested and approved. The process also provides for faster releases when there is no requirement to change UNCRMTP core vocabularies.
Version Management
All UNCRMTP artifacts are rigorously versioned following semver best practices.
- Version numbers are indicated as a dot-separated triple
{major}.{minor}.{patch}. For example version 2.3.4. {patch}version number increments indicate non-breaking bug fixes that do not add new capabilities of features. For example, implementers should see no difference between version 1.4.5 and version 1.4.6.{minor}version number increments indicate non-breaking enhancements. For example, implementations of version 1.4.5 are still compatible with version 1.5.0 but may not take advantage of new features.{major}version number increments indicate significant and breaking releases. For example implementations of version 1.5.0 will be incompatible with version 2.0.0 and may fail in unpredictable ways.
Release Management
Every version change is automatically published to the UNCRMTP test end point following a defined URL structure
- Structure :
https://example.com/{projectLongAcronym}/{domain}/{version}/{artefact}
When a given version meets criteria to justify a production release then the governance process will approve a release. Not all versions will be released to production. Production releases will be published as follows.
- Structure :
https://vocabulary.example.com/{domain}/{version}/{artefact}
Development Tooling
UNCRMTP has a complex set of dependencies, includes a rich set of versioned technical artifacts, and must follow a rigorous and collaborative development process. High quality tooling is essential to support UNCRMTP governance. The tooling includes
- Data Modeling Jargon data modeling tool provides business domain expert in UNCRMTP development working groups and teams with a tool for developing logical data models and vocabularies that requires relatively little technical expertise. Complex physical artifacts such as JSON schema, JSON-LD context files, and RDF vocabularies are all generated from the Jargon tool using built-in transformation rules. Jargon also provides an easy way to map UNCRMTP models to existing external vocabularies.
- Delivery Management GitLab is an open source development platform. It provides version controlled content management, project management, release workflows, and many more features. It is at the heart of UNCRMTP governance. Jargon generated artifacts such as schema are pushed to GitLab and then GitLab release workflows are used to publish the UNCRMTP artifacts.
- Publication Modern digital standards including all data element definitions must be published to permanent and highly available web locations. The Amazon Cloud S3 Service provides an effective and low cost solution which is also used by the UNTP. GitLab workflows will automatically publish new releases to UNCRMTP test and/or production hosting locations.
- Implementation Support requires a help-desk management system (implemented using Jira) as well as a suite of references implementations and test services - which are built from open source code in GitLab and deployed to Amazon infrastructure. Feedback and experience from actual implementations provide valuable input to close the loop back to the start for the next release of UNCRMTP.
- UNCRMTP Public Engagement is achieved using a website that is generated from content management in GitLab and presented for easy navigation using docusaurus
This collection of tooling provides UNCRMTP with a low cost and highly effective mechanism for long term governance.