For the complete documentation index, see llms.txt. This page is also available as Markdown.

Advanced: Analysis & Configuration

This section builds on the project from Beginner and Intermediate. You will build analytical dashboards with more component types, use advanced question types, configure detailed permissions, create reusable templates, and explore how FILE columns can link to external resources.

This section assumes you have completed the previous tutorials and have the Fynbos in Siberia project with 28+ rows in the Species Observations table.


Step 1: Build analytical dashboards

In Beginner you created a Field Map dashboard. Now Dr. Mwangi wants charts that show trends and summaries alongside it. Create a second dashboard for analysis.

Create the dashboard and data source

  1. In the project sidebar, click Dashboards and click + to create a new dashboard.

  2. Name it Growth Trends.

  3. Add a data source: click Manage Data Source, then Add Data Source.

  4. Set the name to Observations, type to Table, and select Species Observations.

  5. Test the connection and click Create.

  6. Open the data source and make sure all columns are enabled. Click Save.

  7. Return to the Growth Trends dashboard.

Add a Line chart

  1. Click Create Component and set the Type to Line.

  2. Name it Height Over Time.

  3. Set Column Width to 12 and Height to 40.

  4. Set Datasource to Observations.

  5. Set Dimension (X-Axis) to observation_date and Metric Column (Y-Axis) to height_cm.

  6. Set Calculation to Average.

  7. Click Update.

Add a Bar chart

  1. Add another component with Type set to Bar.

  2. Name it Average Height by Site.

  3. Set Datasource to Observations, Dimension (X-Axis) to site, Metric Column to height_cm, Calculation to Average.

  4. Click Update.

Add a Scorecard

A Scorecard shows a single aggregate number at a glance - useful for a running count of total observations.

  1. Add a component with Type set to Scorecard.

  2. Name it Total Observations.

  3. Set Datasource to Observations.

  4. Set Column to id (the primary key) and Calculation to Count.

  5. Set Column Width to 4 and click Update.

The scorecard now shows the total number of observation rows as a large number. It updates every time the dashboard is refreshed.

Add a Filter component

A Filter component lets anyone viewing the dashboard narrow all the other charts to a subset of the data - for example, showing only one species at a time.

  1. Add a component with Type set to Filter.

  2. Name it Filter by Species.

  3. Set Datasource to Observations and Column to species_name.

  4. Set Column Width to 4 and click Update.

The filter appears as a dropdown. Selecting a species name from the dropdown updates all other components on the dashboard to show only that species. Click the X reset icon to clear the filter and return to the full dataset.

Share the dashboard

  1. Click Settings on the dashboard.

  2. Enable Allow Sharing and click Save.

  3. Return to the dashboard and click Share to get the public URL.

  4. Go back to the Fynbos in Siberia - Collaborator Portal app and add the Growth Trends dashboard as a new page.

See Dashboards for all component types and configuration options.


Step 2: Hidden questions

Dr. Mwangi wants to automatically record the date and time of each submission without asking the field worker to enter it manually. A Hidden question with a default value does this silently.

  1. Open the Field Observation Form in the form builder.

  2. Add a new question and name it Submitted At.

  3. Set the Type to Short (it will store a text timestamp).

  4. Link it to a new Text column called submitted_at in the Species Observations table (create the column first if needed).

  5. Click the cog icon to open the expanded configuration panel.

  6. Enter a Default value of the current datetime (or a placeholder your team uses).

  7. Back on the question card, enable the Hidden toggle.

  8. Also enable Locked to prevent any accidental editing.

  9. Click Save.

The question no longer appears when anyone fills in the form, but the submitted_at value is included in every submission. Open the Species Observations table after submitting a test observation to verify the column is being populated.

Hidden + Locked + Default value is the pattern for any field you want to collect automatically without the respondent's involvement - timestamps, version markers, form identifiers, or environment metadata.


Step 3: QR Code questions

Each plant specimen at the field sites has a QR code sticker on its marker stake. Dr. Mwangi wants field workers to scan the QR code instead of typing the specimen ID, to eliminate transcription errors.

Add a specimen ID column

  1. Open the Species Observations table and add a new Text column called specimen_id.

Add a QR Code question to the form

  1. Open the Field Observation Form in the form builder.

  2. Add a question at the top of the Observation Details section and name it Specimen ID.

  3. Set the Type to QR Code.

  4. Link it to the specimen_id column.

  5. Click Save.

When a field worker opens the form and reaches the Specimen ID question, a camera preview opens automatically. Holding the phone over the QR code on the plant's stake reads the code and populates the field immediately - no button press required.

In the field, place this question at the start of the form so the scan sets the context for the rest of the observation.


Step 4: Row locking

After Dr. Volkov verifies an observation is correct, he wants to lock it so no one can accidentally edit the values. Row locking prevents edits at the row level without deleting the data.

  1. Open the Species Observations table.

  2. Find a row you want to lock (for example, one of the first five manually entered rows).

  3. Click the pencil icon to open the edit row form.

  4. Enable the Lock row toggle.

  5. Click Save.

The row now shows a lock icon in the grid. Locked rows cannot be edited until they are explicitly unlocked by someone with the appropriate permission.

Row locking is a data integrity tool, not an access control tool. It prevents accidental edits by any user, including admins. Unlocking requires opening the row edit form and toggling the lock off.


Step 5: Configure custom permissions

In the Beginner section, you used default roles. Now Dr. Mwangi wants more control: field assistants should be able to submit data but not delete rows or modify the table structure.

Create a custom role

  1. Open the Fynbos in Siberia project and go to Settings.

  2. In the Role Options card, click Create New Role.

  3. Enter the name Field Assistant and click Create.

Set permissions

  1. Click Update Role.

  2. Select Field Assistant from the role selector.

  3. Configure the permissions:

    • Forms: Can view and submit forms

    • Tables: Can view data and add rows, but not edit or delete rows

    • Storage: Can upload files, but not delete files

    • Manager: Can view boards and move cards, but not create or delete boards

    • Settings: No access

  4. Click Save.

Assign the role

  1. Go to Users in the project sidebar.

  2. Click the ellipsis next to the team member you want to restrict.

  3. Select Edit Role and change their role to Field Assistant.

See Users and Settings for details.


Step 6: Marketplace - create and use templates

Dr. Mwangi's group wants to start a similar study in a different region. Instead of setting everything up from scratch, she creates a template from the current project.

Designate a project as a template

  1. Open the Fynbos in Siberia project and go to Settings.

  2. Under Visibility, switch the project to Public and save.

  3. Enable the Template toggle and click Save.

Both steps are required - the project must be Public and have the Template toggle enabled before it appears in the Marketplace.

Copy the project directly

For one-off copies - for example, to hand off a full project clone to a collaborator - use Copy Project instead of the Marketplace:

  1. In the project settings, click the Copy Project link.

  2. Choose the Owner (yourself, an organisation, or a group).

  3. Enter a new name (e.g., Fynbos in Patagonia).

  4. Under Structures, tick which parts to copy: Dashboards, Forms, Tables, Storage, Manager, Wiki, Apps.

  5. Under Data, tick any structures whose data you also want to include (tables with rows, storage files, etc.).

  6. Click Copy.

The new project is created immediately with the selected structures and data. Copy Project is a direct, selective clone. The Marketplace template approach is for sharing a starting structure with many users over time.

Create a project from a Marketplace template

  1. From the Home screen, click Marketplace in the sidebar.

  2. Find the Fynbos in Siberia template card and click it.

  3. Information Hub navigates to that project. From there you can use Copy Project to make your own copy with a new name.

See Marketplace for more details.


Step 7: Analyse data

The Analyse tool generates ready-to-run R and Python scripts using your data and API key.

  1. Open the Species Observations table.

  2. Click the Analyse button in the toolbar.

  3. Click the language toggle to switch between Python and R.

  4. The panel shows a generated script that authenticates with your API key, fetches the table data, and loads it into a data frame.

  5. Click the copy icon to copy the script to your clipboard.

  6. Paste it into your local Python or R environment, replace the placeholder API key and table ID values, and run it.

The script loads the full table as a data frame. From there you can run any analysis - grouping, filtering, plotting, statistical tests - using whichever libraries you prefer.

See Analyse Data for details.


Step 8: Foreign key columns

As the dataset grows, Dr. Mwangi wants to normalise her data. Instead of storing the site name as free text (which is error-prone), she creates a dedicated Sites table and links to it.

Create a lookup table

  1. Go to Tables and create a new table called Sites.

  2. Add the following columns:

Column name
Data type
Purpose

site_name

Text

The name of the field site

latitude

Double Precision

Central GPS latitude

longitude

Double Precision

Central GPS longitude

climate_zone

Text

Climate classification

elevation_m

Integer

Elevation in metres

  1. Add two rows:

site_name
latitude
longitude
climate_zone
elevation_m

Site Alpha

62.0355

129.6753

Subarctic

95

Site Beta

55.0084

82.9357

Continental

120

Add a foreign key column

  1. Open the Species Observations table and click ADD > Add Column.

  2. Enter the name site_ref and set the data type to Foreign Key.

  3. Configure it to reference the Sites table, linking to the site_name column.

  4. Click Save.

When adding a row or filling in a form, the site_ref field shows a search interface populated from the Sites table. This prevents typos and ensures consistency across all observations.


Step 9: JSON questions

Some observations require structured data that does not fit neatly into a single field. JSON questions let form respondents enter key-value pairs or nested data in a structured sub-form.

  1. Open the Field Observation Form in the form builder.

  2. Add a new question and select the JSON question type.

  3. Name it Environmental Conditions.

  4. Link it to a new JSON column called env_conditions in the Species Observations table.

  5. In the question builder, define the fields:

    • wind_speed_kph (number)

    • cloud_cover_percent (number)

    • precipitation (dropdown: None, Light, Moderate, Heavy)

    • notes (text)

  6. Click Save.

When a field worker fills in this question, they see a structured mini-form within the main form. The data is stored as a JSON object in the env_conditions column.


Step 10: Tabular questions

Dr. Mwangi wants field workers to record multiple plant measurements in a single form submission - for example, measuring five plants at one site visit without submitting five separate forms.

  1. Open the Field Observation Form in the form builder.

  2. Add a new question and select the Tabular question type.

  3. Name it Batch Measurements.

  4. Link it to a new Tabular column called batch_data in the Species Observations table.

  5. Define the columns:

    • species_name (text)

    • height_cm (number)

    • leaf_count (number)

    • soil_ph (number)

    • condition (dropdown: Healthy, Stressed, Dead)

  6. Click Save.

When filling in the form, the respondent sees a small table where they can add as many rows as needed. All rows are submitted together as part of a single form response. The condition column inside the tabular question uses a Dropdown type so the cell presents a constrained list rather than a free-text field.


FILE columns in Information Hub are stored as text under the hood - specifically as a string in filename[url], format. The grid renders each entry as a clickable link. This means you can use a FILE column to link to any URL, including external resources you have not uploaded yourself.

Add a reference column

  1. Open the Species Observations table and add a new File column called reference.

  2. You will be prompted for a storage path configuration - enter any path (e.g., references/) even though you will not use it for uploads.

  1. Click the pencil icon on a row to open the edit form.

  2. In the reference field, type a value in the following format:

For example:

  1. Click Save.

The cell now renders Mwangi et al. 2026 as a clickable hyperlink that opens the DOI URL in a new tab.

You can store multiple links in one cell by separating entries with a comma and space:

Use cases:

  • Link observations to published papers or preprints

  • Link rows to external datasets or supplementary materials

  • Link records to external ticketing systems or project management tools

  • Store references to cloud-hosted assets not in your project's own Storage

FILE columns are not validated for URL format. Any text in the name[url] pattern renders as a link. Ensure the URLs are correct before saving - there is no broken-link checker.


What you have learned

  • How to build dashboards with Line, Bar, Scorecard, and Filter components

  • How to use Hidden + Locked + Default value for automatic metadata fields

  • How to add QR Code questions for scanning specimen labels in the field

  • How to lock individual rows to protect verified data from accidental edits

  • How to create custom roles and configure fine-grained permissions

  • How to designate a project as a Marketplace template and use Copy Project for direct clones

  • How to generate R and Python analysis scripts from the Analyse tool

  • How to add foreign key columns that link tables together

  • How to use JSON questions for structured sub-entries

  • How to use tabular questions for batch data entry with dropdown columns

  • How to use FILE columns to link to external resources without uploading files


Next steps

In the Super section, you will access data programmatically via the GraphQL API, configure key generators for human-readable primary keys, use URL query parameters to pre-fill forms, review row history in the audit log, set up webhooks, and configure dynamic file upload paths.

Last updated