Webflow JSON Schema: Webflow
Webflow JSON Schema
This is the top level schema for a webflow definition. Follow links in the spec table to read specifications for sub-objects.
Summary
version: 1.0.0
webflow:
id: string
feature: string
singleton: boolean
meta: object
init: # {init}
layout: # {handler}
preCancelHandler: # {handler}
postCancelHandler: # {handler}
steps:
- # {step}
- # {step}
Properties
| Name | Required | Type | Description | |-------|--------|--------| | version
| true
| string
| Version of the schema. Must be 1.0.0
. | | webflow
| true
| object
| Object containing the webflow definition. | | webflow.id
| true
| string
| Unique identifier for the webflow. | | webflow.feature
| false
| string
| Preside feature that must be enabled in order for this flow to be registered | | webflow.steps
| true
| array
| Array of step objects. Must have two or more steps. | | webflow.meta
| false
| object
| Arbitrary data to help describe your flow. Not used by the engine. | | webflow.init
| false
| object
| Optional init object that can be used to definie initialisation and configuration options for the flow. | | webflow.layout
| false
| object
| Optional handler object defining coldbox handler event and args to be used to render the layout for this webflow. | | webflow.preCancelHandler
| false
| object
| Optional handler object defining coldbox handler event that is triggered before a webflow instance is cancelled. | | webflow.postCancelHandler
| false
| object
| Optional handler object defining coldbox handler event that is triggered after a webflow instance is canncelled. |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "webflow.schema.json",
"type": "object",
"title":"Webflow definition",
"additionalProperties": false,
"description":"Container object for a complete Preside webflow definition",
"required": [
"version",
"webflow"
],
"properties": {
"version": {
"type": "string",
"description": "Version number of the schema to validate against (i.e. this document)",
"enum": [
"1.0.0"
]
},
"webflow": {
"type": "object",
"description": "Container object for the webflow definition",
"required":[ "id", "steps" ],
"additionalProperties": false,
"properties":{
"id":{ "type":"string", "description":"Unique identifier for the webflow template" },
"feature":{ "type":"string", "description":"Preside feature that must be enabled in order for this flow to be registered" },
"singleton":{ "type":"boolean", "description":"Whether or not more than one configured instance of this flow can exist, or not." },
"meta":{ "type":"object", "description":"Abitrary struct of metadata to describe/enhance the webflow definition" },
"init":{ "type":"object", "$ref": "webflow.init.schema.json" },
"layout":{ "type": "object", "$ref":"webflow.handler.schema.json", "description":"Explicit webflow layout viewlet in which to display steps" },
"preCancelHandler":{ "type": "object", "$ref":"webflow.handler.schema.json", "description":"Handler action that is triggered before a webflow instance is cancelled." },
"postCancelHandler":{ "type": "object", "$ref":"webflow.handler.schema.json", "description":"Handler action that is triggered after a webflow instance is cancelled." },
"steps": {
"type": "array",
"minItems": 2,
"description": "The steps of the flow. Any webflow must have at least two steps.",
"items": {
"$ref": "webflow.step.schema.json"
}
}
}
}
}
}