BiologicalRecordsCentre / record-cleaner-rules

NBN RecordCleaner rules used for automated species verification
0 stars 0 forks source link

Record Cleaner Rules

About

The NBN RecordCleaner is a Windows application for checking species observations against rules drawn up based on past observations and expert knowledge.

The rules contain information such as where and when species can be observed so that records falling outside known ranges can be highlighted for additional checking.

The Indicia Biological Recording System has been developed so that it can apply these same rules to records and the wwwiRecord website, in particular, uses them to flag exceptional records to the recorder and verifier.

Each rule for each species is stored in a small text file complying with the specification.

There is a two-tier index listing where rulesets for different recording schemes can be downloaded from. In practise they are all hosted by the NBN currently.

This repository has been created in retrospect to help manage updates to the rules. It contains the rule files themselves and scripts for bundling them in to zip files.

The zip files cannot be served from Github because the Record Cleaner software does not support the https protocol.

How to update rule files

Clone the repository and apply updates to the files in the rules folder. Major updates are usually achieved by compiling information in a spreadsheet and running a script offline to create the rule files. The old files can be deleted and replaced by the new ones. When changes are complete they can be committed and pushed.

Rule generation scripts

Traditionally, the creation of rules files from CSV has been done by BRC. Schemes can now do this for themselves with the scripts in this repository, by following this procedure. There is a longer term ambition for this to happen automatically upon committing CSV files.

How to package rule files

To zip the rule files for a particular recording scheme,

The package script is written for Linux users but variants for other operating systems could be easily created.

To zip the rule files for all schemes, execute the ./package-all.sh script from the root directory.

Zip files are not committed to the repository as it is not necessary to keep them under version control. If it is desirable to preserve them, they can be attached to a Github release.

Testing rule files

You can serve the zip files locally by running ./serve.sh which builds the rule files and starts a docker container The top level index is then accessible at http://localhost:8080/servers.txt

You can configure Record Cleaner to use your local rule server by editing C:\Program Files (x86)\NBNRecordCleaner\NBNRecordCleaner.exe.config In that file, replace http://data.nbn.org.uk/recordcleaner/rules/servers.txt with http://localhost:8080/servers.txt