ChartsCompiler: Difference between revisions

m
(7 intermediate revisions by the same user not shown)
|__TOC__
|}
The ChartsCompiler is the "next-generation" method of creating charts for websites on the basis of CumulusMX based systems. Charts are defined in a dedicated [[Charts Definition Language (CDL)|Charts Definition Language]] and compiled into a file (or files) containing both the HTML/javascript menu infrastructure as well as the Highcharts javascript code to create the charts. Data - in JSON files assimilar like those produced by CumulusMX - is assumed to be present in the directory from where the page is called.
 
The compiler can be used within CumulusUtils website (intrinsic with the Website Generator [[ChartsCompiler#Implicit_activation|(Implicit Activation)]]) and the output can be used standalone (really standalone if you rename the output to .html) or standalone from within a users website (menu or link; [[ChartsCompiler#Explicit_activation|Explicit Activation]]). When used outside the CumulusUtils infrastructure, you must be aware of the [[cumulusutils.ini|parameters]] (section general) ''GeneratejQueryInclude'' and ''DoLibraryIncludes''.
 
'''NOTE: with the Website Generator, use of the ''CutilsCharts.def'' is always optional'''. If the file is not present, the generator will always fall back to the default charts.
 
== Language ==
There are principally no translations associated with these charts because the user writes his own text (titles), the Y-axis have been translated already throughsection the[website] oldor system[general] and only when new axis arrive new translations will be needed. New axis titles will be added to the section [Compiler].
 
Be aware that for the '''''Free axis''''', the user sees initially an entry in the section [Compiler] for ''ChartId''Dimensionless with the value Dimensionless. So for the ''SoilMoisture'' chart the Y-axis title will have an entry for ''SoilMoistureDimensionless'' with the value Dimensionless. Then the user has to translate this to e.g. ''Centibar'' or whatever unit the sensor has.
 
== Chart legend translations ==
The only exceptions are the legend words as those are formed by the reserved words of the plotvariables. If the users wishes to translate those (give another wording) he can find those terms in the language file under the section Compiler.
The legend of the compiler charts however may require some user action. Because the legend is created from the reserved words of the plotvariables, some of which may be created by the user, the descriptions of the legend may become somewhat incomprehensible for the unknown website user. Therefore, the legend descriptions get their own entries in the language file in the section compiler. You can use those entries for translation and/or change of description.
 
== Operation ==
=== Data activation ===
If the definition of the charts requires additional data not provided by CMX the the following command will automatically provide those data in a JSON in a way similar to CMX.
utils/bin/cumulusutils.exe [[UserAskedData]]
You have to schedule this command if you wish to use the FTP frequency CMX uses for its JSON's.
 
 
=== When using the CDL OUTPUT spec ===
For every OUTPUT specification in the definition file an output is created containing all charts defined from that point, including the chart on which it was defined. ''cumulusutilscumuluscharts.txt'' will always be created which means at least the first chart will be in there. ''cumulusutilscumuluscharts.txt'' will be used to fill the Home button in the CumulusUtils website.
 
So:
#An output spec ''file1.txt'' for the first chart will create ''cumulusutilchartscumuluscharts.txt'' containing the first chart and a ''file1.txt'' also containing the first chart but also the subsequent charts.
#An output spec ''file2.txt'' for the third chart will create chart 1 and 2 in ''file1.txt'' and chart 3 in ''file2.txt''.
#An output spec ''file3.txt'' for the last and eighth chart will create chart 3,4,5,6,7 in ''file2.txt'' and chart 8 in ''file3.txt''