Thissection contains CIMTool release notes and can be used for quick reference of what has changed in each version. Note that these notes are the sameas those available on GitHub here, but contain more versions since this log pre-dates GitHub being the version control system for CIMTool.
Defect Issue #115:During development of the CIMTool 2.1.0 release, issues in the generated output of the RDFS XSLT builders introduced in CIMTool 2.0.0 have been identified. Specifically, during the testing of the modeling of extensions for new .qea and .feap EA project files support. In the short term a 2.0.1 patch release must be issued that re-introduced the original builders until the fix is addressed in CIMTool 2.1.0.
Enhancement Issue #91:Migration of CIM Tool from the Eclipse 3.x to the Eclipse 4.x platform (e4) was done. This migration introduces no new functionality but instead addresses the need to re-baseline CIMTool to e4. This new 2.x release line of CIMTool will serve as the basis for future functionality, enhancements, and roadmap planning. Initial benefits of this release include:
Defect Issue #26:CIMTool's *.legacy-rdfs-augmented profile builder does not correctly generate the multiplicity of the secondary (i.e. inverse association) within the profile that it produces. This was discovered as part of the IEC 61970-452 published profile whereby the multiplicity for the Terminal.TieFlow inverse association 0..2 should have been generated as 0..2 but instead was generated as 0..n.
Defect Issue #77:This fix addresses a regression issue introduced in the 1.11.0 release of CIMTool. In that release the modifications to the XSLT builder for generating XSDs the CIMTool feature for allowing multiple profiles per class no longer properly generated two distinct ComplexType(s) in the XSD.
Enhancement Issue #81:CIMTool requires enhancements to support specifying when a top-level concrete class is to utilize an rdf:ID (local) or rdf:about (global) identifier within the profile. The introduction of the stereotype on a concrete class is used to flags this distinction in CimConteXtor. To represent the equivalent within CIMTool a new stereotype has been introduced that can be assigned by an end user via one of the following methods:2.0.0
Enhancement Issue #82:Currently, when the "Add" buttons are used to add selected class(s) or properties of a class to the profiles CIMTool defaults the cardinality on all member attributes to 1. Additionally, when selecting/adding a class to the profile that is intended to be concrete extra navigation to the "Restriction" tab is required to set it to "concrete". To provide enhanced usability and save time, the following updates have been made to the "Add/Remove" tab:
Defect Issue #58:The CIMTool builders were updated to produce target artifacts (RDFS, OWL, etc.) that now have RDF/XML elements ordered in a consistent and deterministic manner. This was needed so that CIMTool projects hosted in a GitHub repository could have file-based comparisons performed using GitHub's built in features.
Enhancement Issue #57:
Based on user feedback the "Import Copyright Templates" wizard needed to be enhanced to allow an end user to select an option for using the default UCAIug copyright headers for an existing project. This without having to import them from the file system. This feature already existed within the "New Project" wizard but needed to be added to the copyright templates wizard.
In the "New CIMTool Project" wizard the previous Steps 2 and 3 have been consolidated into the single screen shown below (click on the image to present a larger view). This removes ambiguity and improves usability for end users when creating projects.
On the "Import" wizard previously there were two separate import copyright template options; one for muiltline and another for single-line templates. This has been consolidated into a single screen.
Enhancement Issue #39:During preparation for the new CIMTool-Builders-Library repository it was discovered that the new profile-doc-rtf.xsl builder entry in the .builders file that was introduced in the 1.10.0 release was incorrectly defined. This has been corrected.
Enhancement Issue #40:Within the CIMCheck sub project it was discovered that when the upgrade to ICU4J-71.1 occurred during the 1.10.0.RC2 release that the .xml build script and html files for the project were not updated to reflect the needed changes for the classpath for CIMCheck. This has been corrected as part of this 1.10.1 patch release.
Enhancement Issue #3: As of release 1.10.0.RC1 CIMTool's internal XSLT transform builders "engine" has be made public to end users with new screens added to import custom profile builders. The internal XSLT processor in CIMTool was the Apache Xalan project. However, Apache Xalan is a W3C XSLT 1.0 compliant XSLT processor. To support the much richer feature set defined in the XSLT 3.0 specification the XSLT engine has been replaced by Saxon HE 10.8. Saxon is XSLT 1.0, 2.0, and 3.0 compliant.
Enhancement Issue #27: A new builder for auto-generation of profile documentation has been added to the set shipped OOTB. This builder produces a Microsoft Word compatible RTF (Rich Text Format) document when selected in the Profile Summary Tab. Click on the images to present a larger view.
Enhancement Issue #28: Additional screens have been added to the "New CIMTool Project" wizard used when creating a new CIMTool project. These screens now appear as Steps 2 and 3 in the create project process. Below provides an overview of the Wizard (click on the images to present a larger view).
Enhancement Issue #23: CIMTool's internal message model definition has been extended with the addition of two new attributes for Choice elements that can be used by CIMTool builders. The purpose of the new attributes is to make easily available to XSLT-based builders the topmost class in a type hierarchy for a union defined in a profile.
Enhancement Issue #22: Custom copyright templates are now supported in CIMTool. A copyright template is defined as an external file containing the text of either a multi-line or single-line copyright to be used by builders for inclusion in the artifacts that they generated (e.g. XSD schema, RDFS, or JSON schema profiles). A template must include a $year substitution variable which is recognized by CIMTool and substituted with the current year at the time a builder is executed. A UCAIug Apache 2.0 copyright template is bundled out-of-the-box with CIMTool and used as the default copyright template if an alternate is not set after a project is created. Both multi-line and single-line copyright templates are supported and can be imported/assigned using new import screens introduced in this release and shown below.
Feature Issue #16: Support for the new IEC 62361-104 draft standard for JSON schema profiles has been updated from that introduced in the RC1 release. The builder now reflects the most recent changes to the JSON draft specification. However, this does not yet include namespace support for custom extensions to be included in the published standard. Updates to the builder for namespace support is planned for RC3.
Fix Issue #14: CIMTool failed on startup when using the latest releases of the Java 8 JRE/JDK. It was determined that at some point in the release history of these JRE/JDKs that the ICU4J project utilized for internationalization support was upgraded in the JRE/JDK. Therefore, the ICU4J jar file originally included in the release of CIMTool has been upgraded to the latest release of jar file for the ICU4J project.
Feature: The RC1 release introduces support for the new IEC 62361-104 draft standard for JSON schema profiles. This RC does not include the variant of namespace support that will be included in the published standard. That is planned for RC2.
Enhancement: CIMTool supports a variety of different types of builders that generate profile artifacts. Examples include XSD schemas, JPA Java source code, RDBMS DDL scripts, RDFS profiles, etc. The ability to create custom profile builders has been available via CIMTool Eclipse plugin extension points, but such an approach requires an understanding of Eclipse plugin development. Internally, CIMTool supports a category of builders based on XSLT transforms. This release exposes this functionality by providing a configuration-based approach to adding custom XSLT transform-based builders that will automatically appear within CIMTool's "Profile Summary" tab. This enhancement allows for the use of tools such as Altova's XMLSpy to create and test XSLT 1.0 transforms and then import and manage them in CIMTool.
enhancement: direct import of EA project files. This is now the default option on the import file selector. The capability is provided by a new release of the jackcess library with MS Jet3 compatitbility.
enhancement: recognise ontology headers in annotations files. The given namespace overrides the default namespace for their schema (or CIM). This also triggers an improved package URI generation scheme.
enhancement: tree views in the user interface retain their state accross refreshes including save profile and navigation away from a node and back again. This makes it easier to keep your place in the model during profile building.
Updated Ecore functionality to enable registered EPackages to be used for the base schema. Updates to the Ecore generation to ensure profiled Ecore matches the package hierarchy of the base if the base is also Ecore. Removed unused legacy merged schema generation
correction: improved backwards compatibility with version 1.7 for profile (.owl) files. A profile can be round-tripped from 1.7 to 1.8.2 and back repeatedly. In 1.8.2 this caused errors in the profile editor.
enhancement: namespaces for OWL files are not longer stored as properties in the CIMTool project they are embedded in the files as part of the ontology header. This change affects the user interface for profile properties as well as several wizards and the Detail tab of the profile editor for the root element of the profile.
3a8082e126