Breaking changes
Templates created with older visionCATS versions may not work anymore after updating. If you only modified a few things, it may be easier to redo these modifications from an up to date template.
In the case you did some complex and extensive modifications, please use the following list of changes to update your templates.
visionCATS 4.0
JSON
As the way the JSON data is generated has changed, some small JSON structure changed:
Partials/Evaluation/evaluationResultsSubstancesGroups.html
The dictionary
LimitTestDisplayItemsDictionary
should now be accessed as an object with properties, not as a list of keys and values.
Scripts/main.js
Main Point data (used for ChartData) were modified from
_x
and_y
toX
andY
.
- Comparison’s
Partials/profileTrack.html
ProfileTrackViewModel
property is deleted, replaced by several direct properties:ImportName
,ImportedBy
,ImportDate
andDisplayedColor
.
- Comparison’s
- DisplayedColor of Comparison’s Profile and Spectrum
The color is now in the hexadecimal RGB format of CSS Color Module Level 3 specification. This change removes the need to use
rgb()
in chart and forchartLegendRectangleItem
style.
- Date format
Every date fields use now a string representation using ISO 8601 format, the helpers like
dateFormat
were modified accordingly.
Report data
There is now a
IsAts4Application
JSON property used in analysis report templates to determine whether the ATS 4 rack position column must be displayed.The
IsAnalysis
property ofSequenceData
items is now correctly set.The following unused JSON properties have been removed because they were not used:
IsEvaluation
IsSST
IsSign
IsSequence
IsSystem
SCSS files
The Sass compiler (to generate the CSS from SCSS files) was switched to a recent DartSass (1.59.3). Some sass language features were deprecated, but more are now available.
To remove a warning, global.scss was modified from
$report-side-margin: (getPageWidthMm() - $report-width) / 2;
to
$report-side-margin: calc((getPageWidthMm() - $report-width) / 2);
Also, getPageWidthMm now correctly return value with the mm unit suffix.
A new rule was added:
.propertiesTable td img {
vertical-align: bottom;
}
visionCATS 3.2
Evaluation results
While visionCATS 3.2 includes a lot of changes in the Evaluation part of methods/analyses, these changes result essentially in new data, which should not break existing reports, except for the whole new structure Evaluation Results display and limit test options. The new structure is now organized in a tree Substance->Sample->Volume->Track result where each level has its own display items and associated limit tests. To learn how the new structure works, browse the following files in the built-in Full report analysis report template:
Partials/Evaluation/evaluationResults.html
Partials/Evaluation/evaluationResultsDisplayValue.html
Partials/Evaluation/evaluationResultsLimitTestDescription.html
visionCATS 3.1
CSS files
The PDF rendering engine use now @page rule to handle left and right margin.
The global CSS file (see Global CSS) should now contains the following rules. If you modified it in the past, you should add these rules.
$report-side-margin: (getPageWidthMm() - $report-width) / 2; /* Main styles */ @page { margin-left: $report-side-margin; margin-right: $report-side-margin; }
The main.scss
of each template should now override the $report-width
SASS variable if the report width isn’t the one defined in the global CSS.
//The override of SASS variable should be before import $report-width: 180mm; @import 'global.scss';
Libraries changes
wkhtmltopdf was replaced by EO.PDF
Handlebars was upgraded to 4.7.3
SignalR and Metamorphic were removed
Flot was replaced by D3.js
These modifications should not have visible impact (expect minor rendering difference like margin value), therefore no update to the custom template is needed, other than the above CSS changes.
Rendering changes
As noted above, wkhtmltopdf was discarded in favor of EO.PDF, which use the Chromium browser engine to render the HTML reports in PDF. This change allow the usage of modern web technologies, like many HTML 5 or new CSS features.
Note
The Chromium version is displayed in About visionCATS.
D3.js replacing Flot
Standard templates use now D3.js for plotting charts. Older custom templates will still work with Flot, only having a bit blurry display.
If you want to update your custom report to D3.js, the easiest way would be to replace the main.js
file of your template by the one from the standard template you used as base.
Warning
If your main.js
was modified, you should update it more carefully (function by function, or with a compare tool).
JavaScript version
The version of the language is now ES6 (ECMAScript 2015).
HTML changes
The rendering engine change made the CSS class hiddenTitle
obsolete. Its usage was removed, so the corresponding titles are now displayed in both report and table of content.
visionCATS 3.0
New instrument names
As instruments were renamed in visionCATS, the conditions used to select specific instrument partial templates needed to change. To avoid future changes, the user friendly names were discarded and replaced by an integer values.
2.5:
3.0:
It affects chromatography.html and dataAcquisition.html files.
2.5 |
3.0 |
---|---|
InstrumentType “ATS4” |
Instrument 5 |
InstrumentType “Linomat5” |
Instrument 7 |
InstrumentType “Nanomat” |
Instrument 101 |
InstrumentType “ADC2” |
Instrument 8 |
InstrumentType “AMD2” |
Instrument 4 |
InstrumentType “Chamber” |
Instrument 100 |
InstrumentType “Derivatization dip” |
Instrument 100 |
InstrumentType “Derivatization spray” |
Instrument 1004 |
InstrumentType “Derivatizer” |
Instrument 1005 |
InstrumentType “Visualizer” |
Instrument 9 |
InstrumentType “Visualizer 2” |
Should be removed (is also Instrument 9) |
InstrumentType “Scanner3” |
Instrument 3 |
InstrumentType “Scanner4” |
Instrument 10 |
visionCATS 2.5
Unit converter functions
The convertMicroConcentrationToBestUnit and convertMicroMassToBestUnit functions used in JavaScript and the corresponding Handlebars helpers are now obsolete. The text will be rendered as <OBSOLETE>. Please use the convertMicroConcentrationToBestUnitV2 and convertMicroMassToBestUnitV2 functions instead.
Sample reference amount
Sample reference amount was added in default templates.