Skip to content

How it works

Understanding NaturaList's conceptual model before diving into the details will make every subsequent step more intuitive.

The spreadsheet is the entire database

Your xlsx workbook is the whole data source. There is no separate CMS to deploy, database server to install, or admin panel to populate. Everything - taxon hierarchy, descriptions, images references, maps data, identification keys, BibTeX bibliography, language variants, filter behaviour, category colors - flows from this one file. You can keep it on your own computer, in the cloud accessible to your collaborators, or in a shared version control system like GitHub.

The app compiles the workbook into a compressed JSON file (checklist.json) which is published to the apps usercontent/data folder and contains all the data the end users see. If you edit your spreadsheet, simply recompile, and republish. This single-file model means your data is always portable, version-controllable, and shareable without proprietary tooling. If you need external media files, you can reference them in your spreadsheet and keep inside the usercontent folder.

Three sheets, three roles

The workbook has three sheets, each with a distinct purpose:

SheetRole
checklistYour raw data - one row per taxon or occurrence; the sheet name is configurable
nl_contentWhat your data means - column definitions, filters, keys, bibliography
nl_appearanceHow it looks - branding, categorical data colors, map regions display names, language settings

The data sheet is intentionally "dumb" - it is just rows and columns of values. The nl_content and nl_appearance sheets are where every piece of interpretation happens.

Additional sheets

You can keep other sheets in your workbook if you need private supplementary data. NaturaList wont't touch or publish them.

The compilation step

You do not edit a live database. Instead, you upload your spreadsheet through the Manage screen inside the app. The compiler:

  1. Parses all three sheets and validates the structure
  2. Resolves any external file references (additional text files to include, media paths)
  3. Checks that referenced media files exist on the server
  4. Produces a checklist.json file

A detailed compilation log shows errors and warnings before you commit to publishing. If the compilation passes without errors, you will see a fully functional draft version which you can use to check all the data is as expected.

This file is then either uploaded directly to your server (if PHP is available) or downloaded for manual deployment. Once published, users devices will load this checklist.json - not your original xlsx file. The spreadsheet is processed locally and never leaves your device.

Before you start

These steps assume you already have a running NaturaList installation. If you have not yet deployed the app to a server, see Installation and Deployment first.

NaturaList documentation