Welcome to the Workflow Schema Page! If you haven’t already, please take some time to familiarize yourself with higher level schema concepts, such as Inputs, UI (and Groups), and Conditionals.
Note: All the supported features in Schema Guide 2.0 apply to V3 of our Workflow Schemas. If developing a workflow still on V2, please see the V3 Conversion Guide to get up to date.
V3 Conversion GuideNow that you’re all up-to-speed on the main concepts of a Form Bio schema and working on a V3 Workflow Schema, let’s take a look at what makes the Workflow Schema unique.
Let’s take a look at a simple example schema to analyze:
{
"id": "myWorkflowSchema",
"schema": "v3",
"displayName": "My Workflow Schema",
"description": "Here is my workflow schema",
"title": "formbio/nf-myWorkflow",
"workflowVersion": "v1.0.0",
"categories": ["My Workflow Category"],
"inputs": {
"myFirstTextInput": {
"title": "My First Text Input",
"type": "string",
"hidden": false,
"required": true,
"description": "Here is a description",
"help_text": "Here are more details....",
"default": "my default value",
"pattern": "someRegexPatternItMustMatch"
},
"mySecondTextInput": {
"title": "My Second Text Input",
"type": "string",
"hidden": false,
"required": true,
"description": "Here is a description",
"help_text": "Here are more details....",
"default": "my default value",
"pattern": "someRegexPatternItMustMatch"
}
},
"ui": {
"inputs": [
{
"id": "myGroup",
"title": "My Group",
"fields": ["myFirstTextInput", "mySecondTextInput"],
"help_text": "More information on this grouping...",
"description": "Here is a description",
"hidden": false
}
]
},
"conditionals": [
{
"if": [
{
"myFirstTextInput": {
"eq": "another value"
}
}
],
"then": {
"inputs": {
"mySecondTextInput": {
"hidden": true
}
}
}
}
],
"config": {
"mainScript": "main.nf",
"executionEngine": "nextflow"
}
}
id
- A unique id for identifying this workflow.
schema
- A pointer to the schema version, should be
v3
.
displayName
- A user-friendly name displayed in the UI for this workflow.
title
- A pointer to the repo name this workflow lives inside.
workflowVersion
- The version of this schema to be uploaded and selected in the UI. Should be incremented on any changes.
categories
- An array of categories this workflow belongs to.
- For a list of categories supported in the UI with their own icons, see the subpage. Categories do not have to match one of these.
description
- A description of this workflow to be explained to users in the UI.
inputs
- See Inputs
ui
- See UI (and Groups)
- Note that all workflow field inputs must be nested inside a Group.
- Note that workflows do not have outputs so only
inputs
is supported insideui
.
conditionals
- See Conditionals
config
- See Workflow Config
🚧 More details coming soon!
Workflow ManagementWorkflow Config