Where do I start?
Last updated
Last updated
As a builder, you build templates for your team to fill out.
On the navigation side bar, ensure that you are in .
Everything in Seal is a Type. Types are self contained blobs of JSON data that conform to our schema. The different Types in Seal enables a wide range of templates to be built.
See table for the different Type configurations.
Charts
Continuous
Documents
Continuous
File
Continuous
Record
Completable
Row
Continuous
Script
Continuous
Workflow
Completable
*What defines the Lifecycle of a Type?
All Types have a top level status
field. There are two types of entity lifecycle that define the possible status
values - continuous and completable. Different Types may follow distinct lifecycles based on their purpose and workflow.
Completable
Completable lifecycles represent a discrete piece of work carried out at a specific time, and therefore are usually not modified once they've been finished. If mistakes are identified, you can make a new revision of the completable entity. The stages are:
Active → Done → In Revision → Revised Continuous
Continuous lifecycles are designed to be reused and improved over time. Continuous entities have numbered versions - the version number increases every time you publish a new version. The stages are:
Version 1 → Draft → In review → Version 2
Fields are stored as an object called fields
, keyed by the unique field names. Every field object has the following fields:
id
- a unique UUID given to every field, so it can be referenced. When a Data Record is created from a Data Step, it will have the same fields with matching id
s
the field's type
the field's dataType
(usually the same as the type, but multiple field types may use the same underlying data type). type
is how it appears in the UI, dataType
refers to the underlying data type
value
- the actual data. All field values are nullable - they are usually null in Data Steps (unless you want a default value for produced Records), and then populated in Data Records when a lab technician is doing data entry, for example.
config
- certain field have additional config, for example specifying a number display format, or whether the field can contain multiple values.
For example:
Description: Numeric value.
Value: A valid JSON number or null
.
Config:
Description: Text.
Value: A string or null
. The string must be at least length 1 - to represent an empty value, use null
.
Config: None
Description: True/false.
Value: A JSON boolean or null
.
Config: None
Description: A date in ISO 8601 format.
Value: An ISO date string or null
Config: None
Description: A datetime in ISO 8601 format, requiring a timezone.
Value: A timezone aware ISO datetime string or null
Config:
Description: An array of enum-like strings. Displayed in the UI as a dropdown/select field with multiple options.
Value: An array of strings.
Config:
Description: An entity reference field for referencing other entities (of any kind), including File entities for referencing files.
Value: An array of {id, version}
objects.
Config:
Types in Seal:
Charts
Documents
File
Record
Row
Script
Workflow
Custom
All types can have associated metadata fields, with each type potentially differing in page content and following a unique lifecycle.