CheckOnly

Revision as of 09:43, 16 May 2021 by Sfws (talk | contribs) (→‎Introduction: corrected 1 link)

Introduction

In the end every website based on CumulusMX is data driven and as a result the data needs to be OK. If there are errors in the datafiles - such as wrongly formatted dates, comma's where there should be points or a sudden change of separators because the users changed Locale without understanding the ultimate effects - it is very likely that CumulusUtils aborts, crashes or simply displays erroneous results. Therefore an error handling has been built into the reading of the datafiles (Dayfile.txt, the monthly logfiles and the AirLink logfile) and you can run CumulusUtils such that only the data is read and the possible errors are reported.

Operation

This command can only be given on its own: when ready CumulusUtils exits and the logfile needs to be studied. The following command is given:

   utils/bin/cumulusutils.exe CheckOnly

Output

This command has no output in itself (see Inner working below).

Inifile parameters

The command has one parameter by itself in the General section. IgnoreDataErrors plays a role.

   [General]
   IgnoreDataErrors=true | false            (true is default, see below)

Inner working

The general parameter IgnoreDataErrors regulates if CumulusUtils stops on first error or whether it continues reading all datafiles. If you have a lot of datafiles, it may be opportune to set this variable to false in the operational situation so it does not run to completion in case it finds a data error (e.g. after a power failure).

This command has no output in itself but possible data errors are reported in the logfile. It is then up to the user to either correct these or accept the errors as unavoidable and acceptable.

The following errors are detected:

  1. Overflow errors in the numbers
  2. Formatting errors in dates and numbers
  3. Old datafile formats where certain fields do not exist.

In all cases you get a message of the form (may differ slightly):

   {m} fail: {e.Message}
   {m}: in field nr {FieldInUse} ({FieldInUse-Name})
   {m}: line is: {line}

This message gives you field name, filename and line number in the datafile where the error occurred.