Table of Contents | ||
---|---|---|
|
Working on it as we speak.
Participants
Jim Wilson Serm Kulvatunyou Elisa Kendall Farhad Ameri William Sobel Evan Wallace Mike Bennet Dusan Sormaz
Agenda/Minutes
Elisa spent the first 30 minutes giving the group an overview and demonstration of the key release artifacts, process and tooling used by FIBO.
We spent a bit of time talking about the Elisa’s IRI recommendations, and agreed to discuss this further in the Architecture Task Group.
We then proceeded to discuss some of the tools we will likely use in managing the development and release process – as in Jira, Confluence and GitHub, which are provided at no charge to IOF by OAGi, or are open source. Key discussion points were:
I believe general consensus was reached on utilizing Jira as the tool to manage the development and release efforts of the various IOF working groups, and utilize GitHub to manage WG outputs – reference ontologies and supporting artifacts, including the versioning thereof. William Sobel agreed to setup a basic workflow and project structure in Jira and apply that to the MT Connect WG as a prototype.
For raising, tracking and resolving issues, our choices from the FIBO discussion were that this can be done either in GitHub or Jira, or both. FIBO has some automation in place that synchronizes issues content between Jira and GitHub in both directions. Elisa mentioned making this available for the IOF and possibly improving some of its capabilities if the IOF gets some funding to streamline its processes. Elisa also mentioned that some members of FIBO don’t allow access to the public/cloud GitHub instance and that we might need to eventually stand up a private GitHub instance for IOF. We had no further discussion regarding next steps on this point but I think the requirements are: (1) we will utilize both GitHub and Jira. (2) Issues raised against terms and artifacts managed in GitHub should be visible in GitHub. (3) duplication and synchronization of issue content between GitHub and Jira, including the assignment of tracking identifiers and cross-referencing, must be automated. And (4) Jira should serve as the master “system of record” for all issues since some project issues lie beyond GitHub. Additional action item: We should poll our corporate members to see what sort of GitHub policies they have in place and understand if we have an immediate need to stand up a private GitHub instance, or not. Serm is volunteering for this?!?!?
The discussion then moved on to some of the release tools FIBO can make available to IOF.
The first tool discussed was the “RDF Serializer,” which standardizes the formatting of content in ontology files (eliminates white space, orders content in a consistent and repeatable manner).
Ontology term glossary generation tool. We talked a bit about “SourceTree” from Atlassian and certainly other tools currently in use by the WGs to generate such glossaries.
“Jenkins” job/automation supports various dimensions of the ontology publishing process: “hygiene test,” ontology viewer content generator, versioned IRI generation. Follow-on questions: does it automate versioned folder generation, redirect the virtual paths to the new versioned files and take care of deploy documents to the correct target folders?
The likely action items on the above is for some of the working groups to test out these tools and report back on their findings – from which we might glean some requirements on what we might need/require. Elisa has already run the Serializer against the annotation properties file (see here separate email and findings on this). Action item for Evan to update the annotation file and publish a new version.
Many of the above to be revisited and discussed in our next meeting.
We then discussed more general requirements for releases/release process:
What artifacts constitute a release (i.e., release products as FIBO calls them)?
Ontology files (including the additional IOF-authored & imported meta files)
Data files/data dictionary
Vocabulary (glossary as mentioned above)
Release notes
Other supporting documentation (version independent and both tool- and ontology-centric)
Use cases (likely not something we are ready to publish externally, but to be considered downstream)
For source (ontology files and related artifacts) workflows:
The review and approval step before a change is committed back into GitHub must include at least 2 approvers. Question: Who should these approvers be (as in perhaps 1 ontologist + 1 subject matter expert)?
Ontology publishing tools (in current use by FIBO and available to the IOF):
Hygene testing tool
Ontology Viewer/content generation tool
Jenkins job for automating Ontology content deployment
Authoring of release notes is currently a manual process.
Key questions:
Do we version ontologies at the domain level or at a more granular level (module/file level)?
What frequency of releases are we looking at (yearly vs quarterly)?
Do we synchronize releases across the domains, modules and core, or allow each to release on their own, potentially separate, schedule?