Fieldmark Integration 🧪
Introduction
Fieldmark is an open-source tool for structured offline field data collection. It enables researchers to create custom forms that suit their field collection workflows, then distribute these forms through a mobile app to collect complex and structured information while offline, such as sample geolocation and images. You can learn more about setting up in the Fieldmark documentation.
The RSpace integration allows users to easily import notebooks and records from their Fieldmark accounts.
An import from Fieldmark creates:
- a Container in RSpace, with metadata about the Fieldmark notebook (i.e. field collection project)
- a Sample template that matches the Fieldmark form used in the notebook (i.e. metadata schema used for collection)
- a Sample for each record in the notebook, based on the Sample template (i.e. collection entry)
Additionally, each Sample's Subsample is placed inside of the Container, keeping the imported items grouped.
Set up
Fieldmark
- Log into https://conductor.fieldmark.app/ and copy your Bearer Token
- Paste your Bearer Token into https://jwt.io/, and copy the jwt_token (without the quotes) from the Decoded panel
RSpace
- On the Apps page, open the Fieldmark entry in the list of Disabled appsIf Fieldmark shows up in the Unavailable apps list, please ask your system administrator to allow the App first by modifying System -> Configuration -> System Settings -> fieldmark.available.
- Paste your jwt_token into the API Key field, and Save
- Click on Enable to activate the integration. The integration will now appear in the list of Enabled apps and you will receive a confirmation notification
Import Fieldmark records into Inventory
To import your Fieldmark records into Inventory:
- From within Inventory, click on Create, then Fieldmark
- A list of Fieldmark notebooks available for import will be displayed. You can use the Columns button to toggle which notebook metadata fields are displayed in the table. Select the notebook you wish to import, then click on Import.
- After the import is complete, you will receive a success notification. The following content will have been created:
- An import container is created on your Bench, named after the Fieldmark notebook and time of import. The notebook metadata is visible as Custom Fields on the container.
- A sample template is created, with metadata fields corresponding to the Fieldmark schema used by the records in the notebook. A sample based on this template is created for each record in the Fieldmark notebook.
- Samples based on the sample template are created for each record. Metadata fields and their values, including images, are visible in the Custom Fields section.
- The import container on your Bench also groups the individual subsamples that are created for each of the imported samples (see Samples vs Subsamples). You can view the sample metadata from each subsample by expanding the Sample Fields section.
Current limitations
Since this integration is a prototype, there are several limitations in its functionality. We are actively working on this integration, so we'd love to hear from you on how it should evolve next!
Currently:
- We currently only support importing notebooks with records based on a single structure (named "Form" in Fieldmark): notebooks with more than one "Form" are not importable.
- The integration is a one-off, one-way import, meaning there is no way to trigger an update to samples that were already imported, if additional changes were made in Fieldmark. A second import will simply create a second set of samples.
- We support the following Fieldmark metadata types: text, integer number, boolean, date, date and time, location, and files (including images).
- We don't currently support importing relationships between records that are tracked by Fieldmark, e.g. samples and observations, and we don't support importing Fieldmark arrays.
- We don't currently support a comprehensive IGSN ID workflow, but users can register an IGSN ID and publish the custom sample fields on the landing page once the samples are imported into Inventory.