Create a new Vocabulary that enforces JSON schema compliance in your ProcessMaker Platform assets.
A Vocabulary is a JSON schema designed to validate ProcessMaker Platform assets to which that Vocabulary is applied. Any ProcessMaker Platform asset to which that Vocabulary is applied must conform to that JSON schema. Vocabularies are granular, in that one or more Vocabularies can be assigned to specific BPMN 2.0 element types within a Process or the Process model itself to validate the ProcessMaker Platform asset that is referenced from that element.
See Vocabulary Design Best Practices before you start designing a Vocabulary.
Follow these steps to create a new Vocabulary:
View your Vocabularies. The Vocabularies page displays.
In the Title field, enter the name of the Vocabulary. This name must be unique from all other Vocabularies. This is a required field.
In the Description field, enter the description of the Vocabulary. This is a required field.
Optionally, click the Browse button beside the JSON Schema field to locate the JSON schema from which ProcessMaker Platform assets are to conform. This file must use the .json
file extension. This setting is not required because you can design the Vocabulary after is it is created.
Click Save. The Edit page displays the Vocabulary. See Edit a Vocabulary.
Understand what a Vocabulary is in ProcessMaker Platform.
Vocabularies apply to ProcessMaker Platform assets, including Processes, Scripts, and Screens.
A Vocabulary is a JSON schema. The JSON schema describes the data objects, properties data types, and structure in both a machine- and human-readable format. Apply one or more Vocabularies to your ProcessMaker Platform assets including the following:
Process models and/or specific BPMN 2.0 elements in your Process models to ensure the JSON data model in Request data complies with the data structure outlined in the Vocabulary's JSON schema.
Screens to ensure that designers comply with the Vocabulary when they design Screens, and therefore validate that Request participants and Collection records also comply with the JSON schema's data structure.
Complying with the Vocabulary's JSON schema ensures that you meet regulatory specifications and ensures that Request data and/or Collection records contains required information.
Need to learn how to design JSON schemas? Start with JSON Schema. Need to learn how to convert valid JSON to a JSON schema? Use the JSON Schema Tool, though do not use JSON intended for production on this free GitHub application.
ProcessMaker Platform uses a schema-less JSON data model from which to read, write, and store Request data. Since the JSON data model is schema-less (meaning that it does not require a specific schema or structure from which ProcessMaker Platform assets must conform), the JSON data model is structured from the JSON objects in assets used in a Request: the Variable Name setting values in a Screen or variables a Script creates. When an in-progress Request routes through the Process, Request data aggregates into the JSON data model, thereby becoming Request data.
Use Vocabularies to ensure Request data complies with a specific data structure. This is often mandatory for many types of business sectors including banking and healthcare. Ensure the quality and compliance of Request data. For example, during a Loan Application process, ensure that personal information has been included in the Request to that moment in that in-progress Request.
See an example in the following video how to use a Vocabulary.
Intended audience: Process designers, software developers, and coding engineers
Viewing time: 15 minutes; contains narration
Each moment ProcessMaker evaluates workflow routing for an in-progress Request, ProcessMaker Platform also evaluates the Request data's conformity to the Vocabularies applied to the Process and/or a specific BPMN 2.0 element in the Process model. The Request's JSON data model must conform to the Vocabulary's JSON schema.
During an in-progress Request, if ProcessMaker Platform evaluates that the Request data no longer complies with all Vocabularies to that moment, the Request status changes from In Progress to Error. The error displays in the Request summary. Vocabularies are cumulative in an in-progress Request: as the Request progresses, if Request data does not conform with any Vocabulary's JSON schema to that moment in the Request, the Request errors.
Vocabularies can be granular, in that they evaluate compliance only for specific objects in an in-progress Request's JSON data model. As a best practice, develop granular Vocabularies so that they can be re-used in multiple Processes and business sectors in your organization. Since you can add more than one Vocabulary to a Process or supporting BPMN 2.0 element, add as many smaller Vocabularies as necessary to target compliance. If you use Vocabularies that contain large JSON schemas, they will not be as re-usable to as many Processes.
Each Vocabulary is composed properties. A property is a key-value pair to define an object in the JSON schema.
Use Vocabularies throughout your organization in the following ways:
Set Vocabulary permissions: Determine which users and/or groups have permission to view, create, edit or delete Vocabularies. See Vocabulary permissions.
Manage your Vocabularies: Manage your organization's Vocabularies based on business sector, organizational department, or any way you want to maintain regulatory compliance in your ProcessMaker Platform assets. See related topics.
Configure which elements within a Process use a Vocabulary: After creating one or more Vocabularies, apply them to specific types of BPMN 2.0 elements and/or configuration within a Process. See the following topics:
Task elements
Edit the JSON data schema that a Vocabulary represents.
Do one of the following:
Edit the following information about the Vocabulary as necessary:
In the Title field, edit the Vocabulary name. This is a required field.
In the Description field, edit the description of the Vocabulary. This is a required field.
In the Content section, edit the JSON schema following one or both of these methods:
Changes made to the visual editor reflect in the coded JSON schema and vice versa.
Click Save.
Follow these steps to visually edit a Vocabulary:
Locate the Content section of the Vocabulary below the Description setting. The Visual tab displays by default.
Select from the Length or Inherit column whether this Vocabulary inherits its properties, at least in part, from another Vocabulary. A property is a key-value pair to define an object in the JSON schema. If no other Vocabularies exist, only the No inheritance option is available. Note that unless a JSON schema was uploaded when this Vocabulary was created, its root name is mainSchema
. The JSON schema root contains the JSON schema properties as noted in the Property column. The default setting for the Length or Inherit column is No inheritance, meaning this Vocabulary does not reference properties from another Vocabulary.
Follow these guidelines to add a property to this Vocabulary regardless of whether this Vocabulary inherits the properties from another Vocabulary:
Click the + icon. A new property embeds to the JSON schema root and below any existing schema properties.
Rename this property by clicking inside the property name below the Property column.
Select which data type this property requires by selecting it below the Type column for this property. Specifying a data type for this property is not required; however, if a data type is not selected, then validation for that property's value does not occur. A JSON schema property may use one of the following data types:
Text (String
data type)
Integer
Decimal (Request data stores as a Floating Point
data type)
Boolean
Datetime (Request data stores a validated datetime as a String
data type if that datetime is acquired from a Date Picker control)
Array
Object
Indicate if this property requires a value by selecting the checkbox below the Required column for that property.
Do any of the following as necessary:
Select the Code tab to view your entire JSON schema.
Code a Vocabulary from the Code tab in the Content section of a Vocabulary.
Follow these steps to code a Vocabulary:
Locate the Content section of the Vocabulary below the Description setting, and then select the Code tab.
Edit your JSON schema. Optionally, select the Visual tab to view your entire JSON schema in the graphical interface.
When a Vocabulary is deleted, ProcessMaker Platform assets that use that Vocabulary are not affected. However, that Vocabulary can no longer be used in other ProcessMaker Platform assets to maintain a uniform JSON schema.
Deleting a Vocabulary from the Vocabularies page cannot be undone.
Click Confirm.
Click the +Vocabulary button. The Create Vocabulary screen displays.
See the permissions or ask your Administrator for assistance.
Need to learn how to design JSON schemas? Start with . Need to learn how to convert valid JSON to a JSON schema? Use the , though do not use JSON intended for production on this free GitHub application.
Follow these steps to edit a :
. The Vocabularies page displays.
.
Click the Edit iconfor your Vocabulary.
The Edit page displays.
using a graphical interface that non-developers may find easier to design a Vocabulary.
.
Design a from the Visual tab in the Content section of a Vocabulary if you are not familiar with coding a JSON schema but understand the design compliance your ProcessMaker Platform assets must meet.
Changes to the Vocabulary in the Visual tab reflect in the , and vice versa.
Prior to editing the content of a Vocabulary, review the .
.
Date (Request data stores a validated date as a String
data type if that date is acquired from a control)
See for examples of each data type.
Click the View Property as Schema iconto view the JSON schema property as code.
Click the Delete Property iconto delete a property.
Changes to the Vocabulary in the Code tab reflect in the , and vice versa.
Prior to editing the content of a Vocabulary, review the .
.
See the permissions or ask your Administrator for assistance.
Follow these steps to delete a :
. The Vocabularies page displays.
Click the Delete iconfor your Vocabulary. The Caution screen displays to confirm the deletion of the Vocabulary.
View and searvh for Vocabularies that used to maintain uniform JSON schemas in your organization.
ProcessMaker Platform displays all Vocabularies in one table. This makes it easy to manage Vocabularies.
Follow these steps to view all Vocabularies in your organization:
Log on to ProcessMaker Platform.
Click the Designer option from the top menu. The Designer Welcome Screen displays.
The Vocabularies page displays the following information in tabular format about Vocabularies:
ID: The ID column displays the Vocabulary's ID. ProcessMaker Platform Platform automatically generates the ID value when the Vocabulary is created and represents a sequential number of how many total Vocabularies have been created to that time.
Title: The Title column displays the Vocabulary's name.
Description: The Description column displays the Vocabulary's description.
Modified: The Modified column displays the date and time the Vocabulary was last modified. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your user profile's Time zone setting is specified.
Created: The Created column displays the date and time the Vocabulary was created. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your user profile's Time zone setting is specified.
Use the Search field to filter Vocabularies that display.
Click the +Vocabulary button. See Create a New Vocabulary.
If no Vocabularies exist, the following message displays: No Data Available.
Control how tabular information displays, including how to sort columns or how many items display per page.
Use the Search function to filter all Vocabularies from the Vocabularies page based on your entered text.
Follow these steps to search for a Vocabulary:
View your Vocabularies. The Vocabularies page displays.
Enter in the Search field the text to filter Vocabularies using any of the following criteria:
Name: Filter by the Vocabulary name that displays in the Title column.
Description: Filter by the Vocabulary description that displays in the Description column.
As you enter text into the Search field, Vocabularies display that match your entered text.
If there are no search results, the following message displays: No Data Available.
Click the Vocabularies icon from the left sidebar. The Vocabularies page displays all Vocabularies.
Click the Edit icon. See Edit a Vocabulary.