BpmFlow
  • BPM Flow Manual
  • Introduction
    • Road Map
  • Installation
    • GemStone/S
      • Login to GemStone/S
        • Login to GemStone/S with JADE
        • Login to GemStone/S with Topaz
    • BPM Flow
      • Run Web Server from Interactive Session
      • Run Web Server from Script
    • Highcharts
    • Orbeon
  • Application Setup
    • Scripts to run the Application
    • Listing OS Processes
    • Indexing
  • Application Manuals
    • Backoffice Manual
      • Main Menu
        • Applications
          • Manage Environments
          • Manage Applications
          • Manage Orbeon Forms
          • Manage Calendars
        • Processes
          • Processes Definitions
          • Define New Process
            • Performers and Roles
            • Gateways Conditions
            • Versioning
            • Remove BPM Process Definition
            • Define a Task to run a Script
            • Bizagi Extended Attributes
            • RACI roles
            • Import Errors Codes
              • Generic errors codes
              • Activities error codes
              • Gateways error codes
              • Subprocess error codes
              • Runtime evaluations error codes
              • Interprocess Comunication codes
              • Integration error codes
              • Unsupported elements error codes
              • Transitions errors codes
          • Monitor Processes
          • Browse Timers
          • Process Categories
          • Cancelled Processes
        • Users and Roles
          • Monitor Users
          • Manage Users
          • Manage Roles
          • Import Roles and Users
          • Export Roles and Users
        • Messages
          • Inbox
          • Outbox
        • Configuration
          • User Preferences
          • Server Setup
          • Login Mode
          • Change Password
          • Set Language
          • Internationalization
    • Frontoffice Manual
      • Main Menu
        • My Tasks
          • Current Tasks
            • View Process Status
          • Finished Tasks
          • Process Categories
        • Unassigned Tasks
          • View Unassgined Tasks
        • New Process
          • Available Processes
          • Granted Tasks
        • Messages
          • Inbox
          • Outbox
        • Configuration
          • Change Password
          • Display References
          • Set Language
      • Main Menu
    • BI Manual
      • Main Menu
        • Dashboards
          • Current Dashboards
          • Old Dashboard
          • Historical Dashboard
        • User Charts
          • My Charts
        • System Charts
          • Global Charts
          • Applications Charts
          • Untitled
          • Processes Charts
            • Creation Day
            • Field Values
            • Field Evolution
            • Processes Average Time
            • Processes Instances
            • Tasks HeatMap
          • Roles Charts
            • Number of Tasks
            • Number of Users
            • Unassigned Tasks
            • Users in Time
          • Users Charts
            • Current Tasks by Type
            • Possible Tasks
            • Finished Tasks by Type
            • Tasks Average Time
        • Compare Fields
          • Field Comparison
        • Chart Repository
  • Functional and Technical Information
    • Anonymous Process Creation
    • Scalable Vector Graphics Support
    • Timers
      • Event Monitor Timespan
      • Process Creation Timer
      • Task Timers
      • Timers and Caledars
    • States
      • Process States
    • Tasks Assignation Policy
    • Partial Execution Framework
      • Technical Information
      • Functional Information
    • Roles and Performers
    • Debugging Process Execution
      • Manually inspect a BPM Process Instance
      • Automatically Generate a Test Case
  • Engineering Models
    • 4+1 Architecture Models
      • Logical View
        • BPM Components Architecture
        • BPM Environments or Tenants
        • Users & Roles - Processes & Forms
        • BPM Model
        • Orbeon Form Model
        • Seaside Component Model
        • Task Creation Clockwork
        • XPDL Process Generator
        • User Messages
          • User Inbox
          • User Outbox
        • Searching Field values in Bpm Processes
      • Development View
      • Process View
        • Seaside Orbeon Integration
          • GemStone to Orbeon
          • Orbeon to GemStone
      • Physical View
      • Scenarios
    • Architecture for Atop Applications
      • Atop Model Integration with BPM Flow
        • User Methods
          • asBpmUser
          • canDelete
          • finalizeAssignment
          • getAllAvailableTaskAssignmentsIn
          • getAllTaskAssignmentsWithId
          • getApplicationsIn
          • getBackofficeApplicationsIn
          • getBpmEnvironments
          • getCurrentAssignmentsIn
          • getMyTaskAssignmentsWithId
          • getProcessInstanceCategoriesFor
          • getProperty
          • getVisibleRolesIn
          • getVisibleUsersIn
          • isInAdminsEnvironment
          • languageName
          • lateralListPagingSize
          • regularListPagingSize
          • roleName
          • rolesIn
          • take
          • transitionDisplayModeIsExpanded
          • untake
          • username
          • userOptions
        • Role Methods
          • asBpmRole
          • bpmApplication
          • bpmEnvironment
          • getApplicationName
          • isBackofficeRole
          • isGranted
      • BPM Subclassification
        • Create subclass of Bpm Process Browser
        • Create subclass of Process Task List
        • Create subclass of Role Manager
        • Create subclass of User Manager
        • Create subclass of Unassigned Tasks Bag
  • Troubleshooting
    • Requests from Orbeon
  • Orbeon Integration
    • Orbeon Persistence Layer for GemStone/S
      • Install GemStone/S
      • Install Persistence Layer
      • Manage Persistence Layer
        • workwith script
        • List of Scripts
        • upgradeGemStone script
      • Manual Configuration
        • Restrictions when Saving Forms
        • Path for Attachments
        • Maintenance of OS Files and Attachments
        • Search Types
        • Indexing
        • Forms Audit
        • Deferred Processing
      • Service Diagrams
        • Form Runner Home
        • Publish or Unpublish Forms in Form Runner
        • Form Builder Summary
        • Orbeon Form Builder Toolbox
        • Forms Summary
        • Save Form Definition in Orbeon Builder
        • Publish Form Definition in Orbeon Builder
        • New Form with one draft
        • New Form with more than one draft
        • Edit
      • Service Http Methods
        • PUT
        • GET
        • POST
        • DELETE
        • LOCK & UNLOCK
      • Technical Information
        • 4+1 Architectual Model
          • Logical View
            • Objects relation Summary
          • Development View
          • Process view
          • Physical view
          • Scenarios
          • Troubleshooting
            • Request From Orbeon
      • Migration from Relational Database to GemStone/S
        • Migration from MySQL
    • Persistence Layer Backoffice
      • Orbeon Server Configuration
      • Orbeon Application Viewer
      • Create Charts with Highcharts
        • Chart Examples
      • Migrate from Relational Database
Powered by GitBook
On this page
  • Recomendations
  • Using 'name' as a field name in a condition
  1. Application Manuals
  2. Backoffice Manual
  3. Main Menu
  4. Processes
  5. Define New Process

Gateways Conditions

PreviousPerformers and RolesNextVersioning

Last updated 6 years ago

In this section gateways evaluation conditions will be described in detail.

When a Split Gateway is in a Process path the BPM Execution Engine will evaluate all possibilities. And it will follow a sub set of all possible path (the sub set depends on the gateway type and the condition).

The conditions are defined inside ®.

The condition must be defined as a Block of only one argument. This argument (process)is the BPM Process Instance itself. In the example above one of the conditions is:

[:process | process checkResult = 'rejected']

Block: [:process (argumentName) | (pipe) condition] Where:

  • process - represent the process instance.

  • checkResult - is the name of a process's variable (a field of any forms of the process or a defined variable).

  • 'rejected' - is the value to be used in the comparison.

In this case the variable [checkResult] is a String.

Basic Comparators: "=" - equal "!=" - not equal ">="- greater than "<" - less than ">="- greater than or equal "<=" - less than or equal

Example with all variable types: Number

[:process | process documentId = 123456]

Boolean In this case the field is defined as Boolean.

[:process | process checkPassed]

It is also possible to be defined as:

[:process | process checkPassed = true]

String

[:process | process checkPassed = 'passed']

Date

[:process | process sunsetDate = (Date fromString: '10/10/2016')]

Time

[:process | process sunsetTime = (Time fromString: '2:50:11 pm')]

TimeStamp

[:process | process sunsetDate = (TimeStamp fromString: '10/10/2016 2:15:36 pm')]

The conditions can be combined:

[:process | process sunsetDate = (TimeStamp fromString: '10/10/2016 2:15:36 pm') and:[process checkPassed = 'passed']]
[:process | process sunsetDate = (TimeStamp fromString: '10/10/2016 2:15:36 pm') or:[process checkPassed ~= 'rejected']]

The conditions can compare two Process variables:

[:process | process sunsetDate >= process extendedDate]

Recomendations

The name of the variable should NOT have "-" Hyphen character. If it is so then the evaluation condition must be defined as follow:

[:process | (process perform: 'string-hyphen-variable') = 'passed']

The perform sentence (perform:) must be used with the variable name enclosed with single quotes ('string-hyphen-variable').

Hyphen Minus "_" is accepted as it is:

[:process | process hyphen_minus_variable = 123456]

Using 'name' as a field name in a condition

If a form has a field named 'name' and is used in a gateway condition then the codition must be defined as:

[:proc | (proc getValueOf: 'name') = 'some name']

This rule is mandatory.

List of names in the same situation: andContextApplications applicationName assignedUserNames createdTime creator creatorEvent creatorName creatorTask currentActivities definition endEvents executedActivities executedGateways executedScripts generateProcessMap getActiveArtifacts getApplication getApplicationName getContextApplications getDefinitionName getExecutedArtifacts getFinishedProcessMatrix getProcessesTreeAsCollection getProcessMatrix getRunningArtifacts getTopProcess hasAndContext hasContextApplications hasFinalized hasOrContext hasSubprocesses id inheritContextApplications initialize isInCorruptedState isSubProcess isTopProcess orContextApplications parentProcess postExecution printAndContext printCurrentRols printOrContext printParentName printProcessState printRunningArtifacts processId processName runningGateways startEvent startEventIsAnonymous subprocesses transitions triggerStartEvent userAssignments version

Bizagi Modeler