Category:Cumulus MX: Difference between revisions

3,753 bytes added ,  20:56, 6 June 2020
m
Line 503: Line 503:
=== Notes by Steve Loft ===
=== Notes by Steve Loft ===


''please note these notes may now be obsolete, library routines have changed a lot since this was written in 2014''
''please note these notes ARE now obsolete, library routines have changed a lot since this was written in 2014''




Line 513: Line 513:


In some builds of MX you have to run as "root", there are ways of giving "root" like permissions when running MX as another user, see forum for details until this section has been updated.
In some builds of MX you have to run as "root", there are ways of giving "root" like permissions when running MX as another user, see forum for details until this section has been updated.
=== Library software ===
Cumulus MX uses library software for a lot of the standard functionality. The library software is largely included in the distribution zip.
==== Library software for admin interface ====
#'''Alpaca'''
#*Found on github, alpaca software is effectively a programming language extension, and you really don't need to worry about it.
#*It is used for most settings screens.
#'''Bootstrap'''
#*Also known by some as ''Twitter Bootstrap'' which gives a clue as to its origins as an internal tool for those building Twitter
#*The simplest way to think about this package is as a standard set of styling promoting easy responsive web site design.
#*To give just a few examples, it defines a standard way to represent buttons, form components, lists, navigation, and breadcrumbs. 
#*Currently, MX uses very little of its functionality. Amongst, what is not implemented are colouring text according to what it represents (primary, secondary, information, warning etc.), and providing for screen readers and other accessibility aids.
#'''dataTables'''
#*When MX sends out multiple lines of a log file to view or edit, the application programming interface (api) that transfers the information from the MX engine sends it in dataTables format for display on the web page in the admin interface.
#*Thus dataTables does all the work of splitting a log file with lots of lines into pages of just 10 lines, and providing the ability to move between these pages.
#*The free version of dataTables lacks the most useful functionality that needs a subscription licence.
#'''altEditor'''
#*This is an editing tool that can read what is in dataTables, create what it calls a modal (a pop-up dialog) where rows can be added, edited or deleted individually.
#*The result of whatever is done on the modal is sent back via another api to the server (the MX engine in our case) and that then regenerates the dataTables in the state after whatever action was done.
#'''datepicker'''
#*Although modern browsers generally will generate a calendar type interface when they meet an entry filed defined as a date, this date picker software ensures all MX users see exactly the same interface for date selection. It is used for picking which standard (monthly) log or extra (monthly) log is to be viewed by selecting a month and year only.
#*It is also used for selecting individual days in the weather diary editor.
#'''editable grid'''
#*As the name perhaps suggests MX only uses this for the extra web files screens where you can make selections within a grid like interface.
#*I suspect it could enhance some other functionality in the future.
#'''handlebars'''
#*Put simply this is a simple HTML generator based on templates.
#*I have not found any file in the admin interface actually using this, but I am scared to delete it just in case it stops something working.
#'''jQuery'''
#*The admin interface uses version 1.9.1 of this javaSript based library. At the time of typing this, the current jQuery is version 3.5.1.
#*Of all the old versions of jQuery, only one version, 1.9.1, has a serious error in its code, because it tries to load another script that does not match, and therefore the authors of jQuery strongly advise all 1.9.1 users to move to a later version.
#*Unfortunately, there are interdependencies between all the library code used by MX, so you cannot simply update this component.
#'''SteelSeies'''
#*MX uses a hacked version of the [[SteelSeries Gauges|steel series]] library described elsewhere for all the gauges (see dashboard and gauges tabs) in MX.
#'''x-editable'''
#*Put simply, this allows in-place editing of web pages using bootstrap.
#*In MX it is used for the record editing screens where you adjust the extreme values.


== Operating a web site with uploads from MX engine ==
== Operating a web site with uploads from MX engine ==
5,838

edits