Processes

Introduction

A Process is a sequence of steps an actor must take to achieve a particular business goal. A process must have one or more steps. Thinking about processes become easy when you compare it to features of a particular application. It can be described as a particular module in a software application.

Process Overview

Each Process has both a MongoDB generated ID and also a unique ID which can both be used to reference the processor.

The Process object is exposed to the processors via a $process property found in a processors arguments (this.args). This means that a process object can be accessed in processors using

this.args.$process

or

this.args.$description

$description is accessible in fetchProcessors for a process and it contains process information as well as information about the first step in the process.

This object returns all the enumerable properties that are in a process.

Process Object

Property NameTypeDescription
_idMongo ObjectIDMongoDB generated ID for the Process
titleStringThe title of the Process
uidStringUnique ID for the Process. Purpose is to have a human-readable alternative id for processes
descriptionStringThe description for the Process
fetchProcessorMongo ObjectIDProcesses usually need to run a processor to setup some initial data for the process. This fetchProcessor is a mongo id reference to a standalone processor that would run before the steps in the process.
requiresIdentityBooleanDetermines if a process will be accessed by only logged in users or also accessed by guests.
disableBackwardNavigationBooleanDetermines if a process will allow a user to go back. If this is true, the process will fail whenever the user tries going back.
isWizardProcessBooleanDetermines if a process can be described as a step wizard by the client calling the process. If this is true and the client provides an implementation for it, the process will be displayed as a form wizard.
stepsArrayAn array of steps defined in a particular process.
configObjectObject that can be used to make a process configurable in itself. This makes the configuration accessible in calling processors in the process. Seen as
this.args.$process.config