ChartsCompiler: Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
908 bytes added ,  08:33, 17 September 2021
m
(7 intermediate revisions by the same user not shown)
Line 3: Line 3:
   |__TOC__
   |__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 - JSON files as produced by CumulusMX - is assumed to be present in the directory  from where the page is called.
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 similar 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''.
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 ==
== 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 through the old system and only when new axis arrive new translations will be needed.  
There are principally no translations associated with these charts because the user writes his own text (titles), the Y-axis have been translated already section [website] or [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.


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.
== Chart legend translations ==
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 ==
== Operation ==
Line 33: Line 38:
=== Data activation ===
=== 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.
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
   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.
You have to schedule this command if you wish to use the FTP frequency CMX uses for its JSON's.


Line 47: Line 52:


=== When using the CDL OUTPUT spec ===
=== 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. ''cumulusutils.txt'' will always be created which means at  least the first chart will  be in there. ''cumulusutils.txt'' will be used to fill the Home button in the CumulusUtils website.
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. ''cumuluscharts.txt'' will always be created which means at  least the first chart will  be in there. ''cumuluscharts.txt'' will be used to fill the Home button in the CumulusUtils website.


So:
So:
#An output spec ''file1.txt'' for the first chart will create ''cumulusutilcharts.txt'' containing the first chart and a ''file1.txt'' also containing the first chart but also the subsequent charts.
#An output spec ''file1.txt'' for the first chart will create ''cumuluscharts.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 ''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''
#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''

Navigation menu