Breaking changes

Templates created with older visionCATS versions may not work anymore after updating. If you only modified a few things, it may be more easy 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 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.

 //SASS variable's override 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:

{{#ifCond InstrumentType "Derivatization dip"}}

3.0:

{{#ifCond Instrument 1002}}

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 would be rendered as <OBSOLETE>. Please use the convertMicroConcentrationToBestUnitV2 and convertMicroMassToBestUnitV2 functions instead.

Sample reference amount

Sample reference amount was added in default templates.