Modules

Revision as of 07:25, 16 April 2024 by HansR (talk | contribs)

Introduction

Modules are the basic building blocks of CumulusUtils. Identifying modules on the commandline they become synonym with commands to CumulusUtils and can be used in a users own website. The website is not seen as a module but it is the CUtils own aggregate of the modules.

The list of modules

CumulusUtils offers the following modules (which can be used as commands):

  1. SysInfo
  2. pwsFWI
  3. ExtraSensors
  4. Custom Logs
  5. Graphs
  6. Yadr
  7. Records
  8. NOAA
  9. Forecast
  10. StationMap
  11. UserReports
  12. Top10
  13. DayRecords
  14. AirLink (before version 6.1 this was AirQuality)
  15. ChartsCompiler
  16. MeteoCam
  17. UserAskedData

The multiple module commands

In addition to the true modules which are equivalent to commands, there are commands which are strictly spoken not modules because they do not comprise a single functionality:

  1. Website => generates the website which consists of all modules, the inclusion of the libraries is embedded in website's index.html.
  2. UserAskedData => a specific command used for generating JSON datafiles when required by other modules (e.g. AirLink, Extra Sensors and CustomLogs)
  3. CompileOnly => a command which activates the compiler only. This is a very specific command with more than one effect. Please check out its own page.

If you use modules but want the resulting server location outside of you main website location (e.g. in a subdirectory CUtils) then please create that directory and set your uploads for CUtils accordingly. To have your website find the specific realtime values (the JSON files) specifically generated for CUtils, than run the UserAskedData command and set the parameter where to locate those data. In the case as above:

DoModular=true
ModulePath=<path>

DoModular and the command Website are incompatibe

Javascript libraries

When using the Website Generator, all modules are used implicitly. Modules, with some exceptions, can be used standalone in any website by including the output of CumulusUtils in that website. When using the standalone mode you need to be aware of the inifile parameters (section general) GeneratejQueryInclude and DoLibraryIncludes.

  1. GeneratejQueryInclude will - if true - generate the required jQuery library reference line on top of the module.
  2. DoLibraryIncludes will - if true - generate the required library references (e.g. HighCharts, Leaflet etc...) on top of the module.

If you manage these libraries in your website yourself set these parameter values to false. If the modules don't work and you have no idea what this is about, set these values to true.

If you use the Website Generator, set both parameters to false.

Commandline parameters (v7 and up)

To have modules work properly with the commandline parameters introduced in version 7 of CUtils, you need to use a script in your own index file:

<script>
  const urlParams = new URLSearchParams(window.location.search);
</script>

You can also use - i.s.o. the script above - the runtime library for CumulusUtils:

<script src='lib/cumulusutils.js'></script>

This library is currently only generated with the website command (which you can run even if you don't use the website) but in future it will be possible to generate it separately with an additional command. It will then get it's own entry in the wiki.