Migrating to DeltaNova
DeltaNova offers a unified solution for compare, merge and check. Migrating to DeltaNova is straightforward and most existing integrations should work with minimal changes.
Old licenses for legacy products will not work with DeltaNova. Legacy products are supported for two years, beginning with the first release of DeltaNova.
Minimum Requirements
Refer to our prerequisites page to ensure you are meeting the minimum requirements of DeltaNova.
Licensing Changes
DeltaNova comes with Single Site, Multi-Site or Global licenses. See Licensing Models for more details. All the legacy licenses will not work with DeltaNova. Contact us to find out more about license migration.
Distribution Changes
-
deltanova-year.x.y.z.jarprovides the Java functionality of all the legacy products.-
All other legacy product jars such as
deltaxml-x.y.z.jar,deltaxml-docbook-x.y.z.jaranddeltaxml-dita-x.y.z.jarare deprecated, and their features are included in the DeltaNova jar.
-
-
deltanova-year.x.y.z.jarreplaces all the legacy Java command lines.-
All command line invocations must now begin with
java -jar deltanova-YEAR.x.y.z.jar.
-
-
deltanova-rest-year.x.y.z.jarprovides the REST functionality of all the legacy products.-
All other legacy product REST server jars have been deprecated and the
deltanova-rest-year.x.y.z.jarcontains a single unified REST server that covers all their features.
-
-
deltanova-rest-client-year.x.y.z.jarreplaces all the legacy Java command line clients.-
All other legacy product rest client jars have been removed and their functionality is contained within the new
deltanova-rest-client-year.x.y.z.jar.
-
Capabilities
A capability represents a particular feature within DeltaNova. There are two types of capability: base and advanced. All users of DeltaNova have all base capabilities available for use, and may have some, none or all of the advanced capabilities available. To support this, some of the default settings for certain comparators have changed. Find more information about the changes in the specific product sections below.
When configuring a feature governed by an advanced capability onto a comparator (e.g. Move Detection & Tracking via com.deltaxml.core.config.moves.MoveDetectionConfig), it is important to explicitly enable the advanced capability with the appropriate method (MoveDetectionConfig#setEnabled for the previous example).
General Java API Changes
-
com.deltaxml.api.DeltaXMLErrorhas been moved tocom.deltaxml.core.exceptions.DeltaXMLErrorand now extendsjava.lang.RuntimeExceptionas opposed tojava.lang.Error. -
Many common exceptions are now reused from the
com.deltaxml.core.exceptionspackage rather than duplicated in capability specific- packages For example,com.deltaxml.dita.DeltaXMLDitaErrorhas been replaced bycom.deltaxml.core.exceptions.DeltaXMLError, andcom.deltaxml.docbook.InvalidInputExceptionhas been moved tocom.deltaxml.core.exceptions.InvalidInputException.
See the JavaDoc for more details on exceptions.
-
Methods and classes previously marked as deprecated have been removed.
General REST Changes
For a comprehensive guide to the available REST endpoints, use the DeltaNova Postman Collection.
Endpoint Changes:
-
/api/X/v1/jobs→/api/jobs -
/api/X/v1/downloads→/api/downloads -
/api/X/v1/status→/api/status
General CLI Changes
The DeltaNova CLI is structured to reflect the three main operations in DeltaNova: compare, merge and check. Running the CLI with no arguments will give a brief rundown of the available pipelines for each operation. More details for a particular pipeline can be seen by using the describe command with the name of a particular pipeline.
Migrating to DeltaNova from Deprecated Products
XML Compare
Default value changes:
-
For
DocumentComparatorandPipelinedComparator, inResultReadabilityOptionsModifiedWhitespaceBehaviourhas changed fromAUTOMATICtoNORMALIZE. -
In
DocumentComparator: All advanced capabilities such as Diagram Processing, Image Processing, Table Processing are disabled by default. Should an UnavailableCapabilityException appear please contact us through the support portal.
DCP changes:
-
useDefaultis no longer a valid value forstandardConfig/resultReadabilityOptions/modifiedWhitespaceMode.
Java API
-
The package
com.deltaxml.cores9apino longer exists and has become part ofcom.deltaxml.core. This also goes for the various ‘sub packages’ -com.deltaxml.cores9api.*becomescom.deltaxml.core.*. -
com.deltaxml.cores9api.PipelinedComparatorS9has been renamed tocom.deltaxml.core.PipelinedComparator. -
The methods
setComparatorProperty,getComparatorProperty,setComparatorFeatureandgetComparatorFeaturehave been removed fromcom.deltaxml.core.PipelinedComparator. -
com.deltaxml.cores9api.config.ColumnKeyingModehas been removed, please use eithercom.deltaxml.core.config.CalsColumnKeyingModeorcom.deltaxml.core.config.HtmlColumnKeyingMode. -
com.deltaxml.core.DCPConfiguration#getDocumentComparator()has been renamed togetComparator(). -
Other Java API changes that apply to all legacy products are listed here.
REST
Endpoint changes:
-
/api/xml-compare/v1/pipelines/X→/api/compare/pipelines/X
Other REST changes that apply to all legacy products are listed here.
DocBook Compare
Default value changes:
-
For
DocBookCompare, inTextComparisonConfigWhitespaceProcessingModehas changed fromAUTOMATICtoNORMALIZE. -
In
DocBookCompare: All advanced capabilities such as Diagram Processing, Image Processing, Table Processing are disabled by default. Should an UnavailableCapabilityException appear please contact us through the support portal. -
In
ImageConfiguration,showImageChangesAtMediaObjectLevelnow defaults to true.
Java API
DocBook comparison is now configured using a hierarchical object based approach as opposed to the flat list of parameters used by DocBook Compare (see the translation table for full details).
Translation Table
|
Original Parameter Name |
New Path (classes in |
|---|---|
|
|
|
|
|
|
|
|
Removed - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Removed |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Other Java API changes that apply to all legacy products are listed here.
REST
Endpoint Changes
-
/api/docbook-compare/v1/compare→/api/compare/docbook
The default configuration file name has changed from default-configuration.xml to default-docbook-configuration.xml. This location can still be configured with the same system property com.deltaxml.docbook.rest.defaultConfiguration.
Configuration File Changes
|
Old element / behaviour |
New element / behaviour |
Change type |
|---|---|---|
|
Parameter values given as attributes |
Parameter values given as plain PCDATA |
Attributes are no longer used within the configuration file |
|
|
|
Renamed |
|
|
— |
Removed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
— |
Removed; its parameters have been moved up to become children of |
|
|
|
Moved from |
|
|
— |
Removed |
It is recommended that you load the provided XSD into your editor to help you migrate any existing configuration files.
Other REST changes that apply to all legacy products are listed here.
CLI
When doing a DocBook comparison from the command line, it is now required to use a configuration file if you wish to modify any parameters. An XSD and sample configuration is provided as part of the distribution to help you write a config file. Refer to the https://deltaxml.atlassian.net/wiki/spaces/DeltaNova/pages/5147164673/Migrating+to+DeltaNova#Translation-Table above for specific parameters equivalents.
java -jar deltaxml-docbook-x.y.z.jar compare inputA.xml inputB.xml result.xml \
(parameter=value)*
becomes
java -jar deltanova-YEAR.x.y.z.jar compare docbook inputA.xml inputB.xml result.xml \
(config.xml)?
DITA Compare
Default value changes:
-
For
DitaTopicCompare,DitaMapfileCompareandDitaMapTopicsetCompare, inTextComparisonConfigWhitespaceProcessingModehas changed fromAUTOMATICtoNORMALIZE. -
In
DitaTopicCompareandDitaMapTopicsetCompare: SVG processing, CALS table processing and image processing are now disabled by default.
Java API
DITA comparison is now configured using a hierarchical object-based approach as opposed to the flat list of parameters used by DITA Compare (see the translation table for full details).
The com.deltaxml.dita.DitaCompare class no longer exists in favour of three separate classes for each comparison type:
-
com.deltaxml.dita.DitaTopicCompare -
com.deltaxml.dita.DitaMapfileCompare -
com.deltaxml.dita.DitaMapTopicsetCompare
Translation Table
|
Original Parameter Name |
New Path (classes in |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Topic & Map Topicset Specific Parameters |
|
|
|
Removed - |
|
|
Removed - Use |
|
|
Removed - Use |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map Topicset Specific Parameters |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mapfile Specific Parameters |
|
|
|
|
|
|
|
Other Java API changes that apply to all legacy products are listed here.
REST
Endpoint Changes
-
/api/dita-compare/v1/compare/X→/api/compare/dita/X
Configuration File Changes
|
Old element / behaviour |
New element / behaviour |
Change type |
|---|---|---|
|
Attributes used for parameter values |
Plain PCDATA parameter values (except |
Structural change |
|
|
|
Renamed |
|
|
— |
Removed |
|
|
|
Renamed |
|
|
|
Removed — replaced |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Restructured |
|
|
Parameters moved up as direct children of |
Removed — restructured |
|
|
|
Renamed |
|
|
|
Renamed |
|
|
|
Moved |
It is recommended that you load the provided XSD into your editor to help you migrate any existing configuration files.
Other REST changes that apply to all legacy products are listed here.
CLI
When doing a DITA comparison from the command line, it is now required to use a configuration file if you wish to modify any parameters. An XSD and sample configuration is provided as part of the distribution to help you write a configuration file. Refer to the https://deltaxml.atlassian.net/wiki/spaces/DeltaNova/pages/5147164673/Migrating+to+DeltaNova#Translation-Table.1 above for specific parameters equivalents.
java -jar deltaxml-dita-x.y.z.jar compare {topic|mapfile|mts} inputA inputB result \
(parameter=value)*
becomes
java -jar deltanova-YEAR.x.y.z.jar compare {topic|mapfile|mts} inputA.xml inputB.xml result.xml \
(config.xml)?
XML Merge
Default Value Changes
-
In
ConcurrentMerge,SequentialMergeandThreeWayMerge, CALS and HTML table processing is now disabled by default.
Java API
-
com.deltaxml.mergecommon.MergeCommonandcom.deltaxml.mergecommon.MergeBaseno longer have generic parameters for the exceptions that they throw. The exceptions are now common across DeltaNova.
Other Java API changes that apply to all legacy products are listed here.
REST
The way Merge is configured via REST has changed to be more similar to other capabilities in DeltaNova. Rather than setting parameters directly in the structured request (XML or JSON) or via dedicated body parts for each parameter in the multipart request, Merge is now configured using a configuration file. An XSD and sample configuration is provided as part of the distribution. Refer to the DeltaNova Postman Collection for passing the configuration file to the REST API.
Endpoint Changes
-
/api/xmlmerge/v1/types/X→/api/merge/xml/types/X -
/api/xmlmerge/v1/typeshas been removed.
Other REST changes that apply to all legacy products are listed here.
CLI
java -jar deltaxml-merge-x.y.z.jar merge {concurrent|sequential|concurrent3} \
<ancestorName/version1Name> <ancestorFile/version1File> \
(<versionName> <versionFile>)+ \
<resultFile> <params>
Replace the jar in the command above with deltanova-YEAR.x.y.z.jar.
Parameter names have been changed from PascalCase to kebab-case e.g. ResultFormat → result-format. Parameter values remain the same.
DITA Merge
Default Value Changes
-
In
ConcurrentMerge,SequentialMergeandThreeWayMerge, CALS and HTML table processing is now disabled by default.
Java API
-
com.deltaxml.mergecommon.MergeCommonandcom.deltaxml.mergecommon.MergeBaseno longer have generic parameters for the exceptions that they throw. The exceptions are now common across DeltaNova.
Other Java API changes that apply to all legacy products are listed here.
REST
The way Merge is configured via REST has changed to be more similar to other capabilities in DeltaNova. Rather than setting parameters directly in the structured request (XML or JSON) or via dedicated body parts for each parameter in the multipart request, Merge is now configured using a configuration file. An XSD and sample configuration is provided as part of the distribution. Refer to the DeltaNova Postman collection for passing the configuration file to the REST API.
Endpoint Changes
-
/api/ditamerge/v1/types/X→/api/merge/dita/types/X -
/api/ditamerge/v1/typeshas been removed.
Other REST changes that apply to all legacy products are listed here.
CLI
java -jar deltaxml-dita-merge-x.y.z.jar merge {concurrent|sequential|concurrent3} \
<ancestorName/version1Name> <ancestorFile/version1File> \
(<versionName> <versionFile>)+ \
<resultFile> <params>
becomes
java -jar deltanova-YEAR.x.y.z.jar merge dita-{concurrent|sequential|concurrent3} \
<ancestorName/version1Name> <ancestorFile/version1File> \
(<versionName> <versionFile>)+ \
<resultFile> <params>
Notice the additional dita- prefix for the merge type to distinguish from the generic XML merge types.
Parameter names have been changed from PascalCase to kebab-case e.g. ResultFormat → result-format. Parameter values remain the same.
HTML Compare
HTML Compare was previously only accessible via a REST API, there is now the ability to use it via a Java API and via the CLI. Run java -jar deltanova-year.x.y.z.jar describe html to learn how to use the CLI for comparing HTML.
Default Value Changes
-
Image comparison, SVG Comparison and table comparison are now disabled by default.
The Java system property controlling the location of the default configuration file has been renamed from default-configuration to com.deltaxml.htmlcompare.rest.defaultConfiguration and a default value has been given as default-html-configuration.xml.
Configuration File Changes
-
Attributes are no longer used within the configuration file.
-
Parameter values are now given as plain PCDATA.
It is recommended that you load the provided XSD into your editor to help you migrate any existing configuration files.
Endpoint Changes
-
/api/html-compare/v1/compare→/api/compare/html.
Other REST changes that apply to all legacy products are listed here.
ConversionQA
ConversionQA is now known as DeltaNova Check or simply Check.
The version of DITA OT included with DeltaNova has been updated to the latest at the time of writing - 4.4. We have patched DITA OT to better integrate it into DeltaNova:
-
Removed an
<xsl:message>instruction in the/xsl/normalize.xslstylesheet of theorg.dita.normalizeplugin to reduce console noise. -
Removed
META-INF/services/org.apache.xerces.xni.parser.XMLParserConfigurationfromlib/dost.jarto prevent conflicts with the XML parser shipped with DeltaNova.
Java API
The rename is reflected in the Java package name: com.deltaxml.conversionqa -> com.deltaxml.deltacheck.
Classes within the com.deltaxml.deltacheck package have generally lost their Conversion prefix e.g. com.deltaxml.conversionqa.ConversionChecker → com.deltaxml.deltacheck.Checker.
Methods on com.deltaxml.deltacheck.Checker have been renamed:
-
checkConversion→check -
addConversionCheckerProgressListener→addCheckerProgressListener -
removeConversionCheckerProgressListener→removeCheckerProgressListener
Other Java API changes that apply to all legacy products are listed here.
REST
The REST server is no longer runnable via the CLI interface - it should be started by using the unified DeltaNova REST server jar.
Endpoint Changes
-
/api/conversionqa/v1/check→/api/check.
Other REST changes that apply to all legacy products are listed here.
CLI
java -jar deltaxml-conversion-qa-x.y.z.jar check \
docx --file mydoc.docx \
ditamap --file mydoc.zip --mapfile mydoc/mydoc.ditamap [parameter=value]*
becomes
java -jar deltanova-YEAR.x.y.z.jar check \
docx mydoc.docx \
ditamap mydoc.zip mydoc/mydoc.ditamap [parameter=value]*
Notice the removal of the --file / -f option after an input type (docx, xml or ditamap) and the removal of --mapfile / -m. The arguments to the ditamap input type are now positional and required to be in the order: zip, path to master map.