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
In the project sidebar, click Dashboards and click + to create a new dashboard.
Name it Growth Trends.
Add a data source: click Manage Data Source, then Add Data Source.
Set the name to Observations, type to Table, and select Species Observations.
Test the connection and click Create.
Open the data source and make sure all columns are enabled. Click Save.
Return to the Growth Trends dashboard.
Add a Line chart
Click Create Component and set the Type to Line.
Name it Height Over Time.
Set Column Width to 12 and Height to 40.
Set Datasource to Observations.
Set Dimension (X-Axis) to
observation_dateand Metric Column (Y-Axis) toheight_cm.Set Calculation to Average.
Click Update.
Add a Bar chart
Add another component with Type set to Bar.
Name it Average Height by Site.
Set Datasource to Observations, Dimension (X-Axis) to
site, Metric Column toheight_cm, Calculation to Average.Click Update.
Add a Scorecard
A Scorecard shows a single aggregate number at a glance - useful for a running count of total observations.
Add a component with Type set to Scorecard.
Name it Total Observations.
Set Datasource to Observations.
Set Column to
id(the primary key) and Calculation to Count.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.
Add a component with Type set to Filter.
Name it Filter by Species.
Set Datasource to Observations and Column to
species_name.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
Click Settings on the dashboard.
Enable Allow Sharing and click Save.
Return to the dashboard and click Share to get the public URL.
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.
Open the Field Observation Form in the form builder.
Add a new question and name it Submitted At.
Set the Type to Short (it will store a text timestamp).
Link it to a new Text column called
submitted_atin the Species Observations table (create the column first if needed).Click the cog icon to open the expanded configuration panel.
Enter a Default value of the current datetime (or a placeholder your team uses).
Back on the question card, enable the Hidden toggle.
Also enable Locked to prevent any accidental editing.
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
Open the Species Observations table and add a new Text column called
specimen_id.
Add a QR Code question to the form
Open the Field Observation Form in the form builder.
Add a question at the top of the Observation Details section and name it Specimen ID.
Set the Type to QR Code.
Link it to the
specimen_idcolumn.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.
Open the Species Observations table.
Find a row you want to lock (for example, one of the first five manually entered rows).
Click the pencil icon to open the edit row form.
Enable the Lock row toggle.
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
Open the Fynbos in Siberia project and go to Settings.
In the Role Options card, click Create New Role.
Enter the name Field Assistant and click Create.
Set permissions
Click Update Role.
Select Field Assistant from the role selector.
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
Click Save.
Assign the role
Go to Users in the project sidebar.
Click the ellipsis next to the team member you want to restrict.
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
Open the Fynbos in Siberia project and go to Settings.
Under Visibility, switch the project to Public and save.
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:
In the project settings, click the Copy Project link.
Choose the Owner (yourself, an organisation, or a group).
Enter a new name (e.g., Fynbos in Patagonia).
Under Structures, tick which parts to copy: Dashboards, Forms, Tables, Storage, Manager, Wiki, Apps.
Under Data, tick any structures whose data you also want to include (tables with rows, storage files, etc.).
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
From the Home screen, click Marketplace in the sidebar.
Find the Fynbos in Siberia template card and click it.
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.
Open the Species Observations table.
Click the Analyse button in the toolbar.
Click the language toggle to switch between Python and R.
The panel shows a generated script that authenticates with your API key, fetches the table data, and loads it into a data frame.
Click the copy icon to copy the script to your clipboard.
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
Go to Tables and create a new table called Sites.
Add the following columns:
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
Add two rows:
Site Alpha
62.0355
129.6753
Subarctic
95
Site Beta
55.0084
82.9357
Continental
120
Add a foreign key column
Open the Species Observations table and click ADD > Add Column.
Enter the name
site_refand set the data type to Foreign Key.Configure it to reference the Sites table, linking to the
site_namecolumn.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.
Open the Field Observation Form in the form builder.
Add a new question and select the JSON question type.
Name it Environmental Conditions.
Link it to a new JSON column called
env_conditionsin the Species Observations table.In the question builder, define the fields:
wind_speed_kph(number)cloud_cover_percent(number)precipitation(dropdown: None, Light, Moderate, Heavy)notes(text)
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.
Open the Field Observation Form in the form builder.
Add a new question and select the Tabular question type.
Name it Batch Measurements.
Link it to a new Tabular column called
batch_datain the Species Observations table.Define the columns:
species_name(text)height_cm(number)leaf_count(number)soil_ph(number)condition(dropdown: Healthy, Stressed, Dead)
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.
Step 11: FILE columns as links to external resources
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
Open the Species Observations table and add a new File column called
reference.You will be prompted for a storage path configuration - enter any path (e.g.,
references/) even though you will not use it for uploads.
Manually enter an external link
Click the pencil icon on a row to open the edit form.
In the
referencefield, type a value in the following format:
For example:
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