ChartsCompiler: Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
3,063 bytes added ,  10:53, 24 June 2021
m
(14 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 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''.
 
'''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 section [website] or [general] and only when new axis arrive new translations will be needed.
 
The legend of the compiler charts however may require some user action. Because the legend is formed by 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 27: Line 36:
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.
Note that these JSON files specific to CumulusUtils always reside in the website root of CumulusUtils, even if you have more websites and define the ''CumulusRealTimeLocation''.
 
Note that these JSON files specific to CumulusUtils '''always reside in the website root''' of CumulusUtils, even if you have more websites and defined the ''CumulusRealTimeLocation''.


== Output ==
== Output ==
If the file ''CutilsCharts.def'' with the charts definitions is present in the ''utils'' directory, then the output for the ChartsCompiler is (until version 5.2.0) the file ''cumuluscharts.txt''. As such it replaces the default ''cumuluscharts.txt'' which will always be available as a backup in case of errors in the definitions or processing.
=== The Defaults ===
If the file ''CutilsCharts.def'' with the charts definitions is present in the ''utils'' directory, then the output for the ChartsCompiler is (until version 5.3.5) the file ''cumuluscharts.txt''. As such it replaces the default ''cumuluscharts.txt'' which will always be available as a backup in case of errors in the definitions or processing.
 
So cumuluscharts.txt contains either:
#When an error occurs during parsing of the ''CutilsCharts.def'': the standard (old version) of the charts which contains a mix of RECENT and DAILY charts.
#When parsing of ''CutilsCharts.def'' is without error: the charts as defined in the ''CutilsCharts.def''.
 
=== 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. ''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:
#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 ''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''
 
The Compiler outputs can be loaded standalone to present the charts if the data are available in the same directory. The txt files can be loaded in any way needed (PHP or javascript) or renamed HTML and loaded directly. Be aware that the inifile parameters ''GeneratejQueryInclude'' and ''DoLibraryIncludes'' have impact here depending on how you organise your website or wish to show the charts.


== Inifile parameters ==
== Inifile parameters ==

Navigation menu