TIBCO Business Studio - BPM Edition Installation Guide
TIBCO Documentation and Support Services
Installing TIBCO Business Studio - BPM Edition
Installation Features
System Requirements
Supported Platforms
Minimum Disk Space and Memory Requirements
Third-party Software Requirements
Compatibility
Installer Accounts
Installation Directory
Installer Log File
Installing on Windows
Installing on Linux/UNIX
Creating a Docker Image
Prerequisites to Using Docker
Installing in Silent Mode (All Platforms)
Uninstalling TIBCO Business Studio - BPM Edition
Using the Uninstaller
Using Programs and Features (Windows Only)
Legal and Third-Party Notices
TIBCO Business Studio - BPM Edition Application Designer's Guide
TIBCO Documentation and Support Services
Accessing Help
Modelling Processes
TIBCO Business Studio - BPM Edition Usage
Process Modeling Methodology
Model a Process
Projects, Assets, and Project Organization
Projects
Creating a Project
Deploying a Project
Project Lifecycle
Project Versioning
Project References
Creating Project References in a Selection Dialog
Creating References in the Project Properties
Using the Dependency Viewer
Finding Cyclic Dependencies
Copy and Reuse an old Project
Process Packages
Creating a Package
Copying a Package
Processes
Pageflow Processes and Business Services
Pageflow Processes
Pageflow Process Modeling
Creating a Pageflow Process
Business Services
Generate a Business Service
Example 1 - Starting a Business Process
Example 2 - Updating a Database
Creating a Business Process
Creating a Case Action Process
Generating Case Actions From Case Classes
Service Process Modeling
Creating a Service Process
Refactoring Service Processes and Service Process Interfaces
Activities
Types of Tasks
Activity Markers
Creating Scripts
User Tasks and Pageflow Processes
Selecting a Pageflow Process
Creating a Pageflow Process From a User Task
Synchronizing Parameters With a Pageflow Process
Mandatory Parameters and Pageflow Processes
Using Forms with User Tasks
Creating a New Form
Creating a New Form for an Existing User Task
Creating a New Form Manually from the Project Explorer
Creating a Free-standing Form
Switching Back to the Default Form
Updating Forms with the Synchronization Wizard
Using Live Development
Using Data Fields and Parameters with Process User Tasks
The Mode Property of User Task Parameters
Using Data Fields and Parameters
Data Types for Data Fields and Process Parameters
Process Components
Sending an Email Message from a Process
Configuring Service Tasks to Send Email Messages from a Process
Defining an E-Mail Service Type from a Service Task
Setting up Dynamic Data Inputs to an Email Message
Example of Setting up Dynamic Data Inputs to an Email Message
Using Email Templates
Creating your Email template files
Applying the Email template to a Project
Creating an Alternative Email Template
Deleting a Process
Process and Service Process Interfaces
Process Interfaces
Start Events
Creating a Process Interface
Creating Error Events
Modification of a Process Interface
Creating a Service Process Interface
Process Errors
Process Migration
Design Considerations for Process Migration
Migration Point Restrictions
Migration Point Viewing
Example of Process Instance Migration
Process Fragments
Using the Predefined Fragments
Creating Custom Fragments
Importing Custom Fragments
Resource Patterns and Work Distribution
Separation of Duties
Specifying Separation of Duties
Specifying Separation of Duties from the Work Resource Tab
Retain Familiar
Specifying Retain Familiar
Specifying Retain Familiar from the Work Resource Tab
Chained Execution
Chained Execution- Multiple Parallel Paths in a Chaining Group
Piling
Distribution Strategy
Sub-Processes
Refactoring Sub-Processes
Synchronous and Asynchronous Sub-Process Invocations
Creating Call Sub-Processes
Creating a Call Sub-Process Activity Call Using Drag and Drop
Creating a call sub-process call using the palette
Call Sub-Process Example
Expanding a Sub-Process
Configuring a Sub-Process
Invoking a Sub-Process Asynchronously
Embedded Sub-Processes
Adding Local Data Fields
Local Data Fields in Loops
Creating a New Embedded Sub-Process
Refactoring Activities into a Sub-Process
Inline Sub-Process Content
Refactoring a Call Sub-Process into an Embedded Sub-Process
Inline Sub-Process in Detail
Data Fields and Mapped Parameters
Sub-Process Data Fields and Unmapped Formal Parameters
Sub-Process Participants And Type Declarations
Event Sub-Processes
Dynamic Sub-Processes
Creating Dynamic Sub-Processes
Automatically Passing Different Data To and From Sub-Process Instances
Inputting Different Data To Each Sub-Process Instance
Returning Different Data From Each Sub-Process Instance
Correcting Validation Errors
Setting the Validation Preferences
Making a Sub-Process Call to a Process Interface
Creating a Call Sub-Process Call using Drag and Drop
Creating a Call Sub-Process Call Process Interface using the Palette
Controlling Flow
Controlling Flow in a Process
Flows
Associating a Script with a Conditional Flow
Loops
Creating a Standard Loop
Creating a Multi-Instance Loop
Adding Additional Instances to a Multi-instance Loop While the Task is Still in Progress
Associating a Script with a Loop
Gateways
Order of Flow Evaluation
Exclusive (XOR)
Inclusive (OR)
Complex
Parallel (AND)
Configuring a Task as Automatic Ad-Hoc
Refactoring Ad-Hoc Activities
Exclusive Event Based Gateway Example
Using Data
Using Process Data
Process Data Overview
Data Fields and Parameters
Declared Types
Adding Data Fields or Parameters to a Process
Adding Data Fields to an Activity
Deletion of Data Fields Parameters Participants and Type Declarations
Using the Properties View to Create a New Data Field or Parameter
Using the Wizards to Create a New Data Field or Parameter
Participants
Creating a Participant
Associating Participants with Activities
Using Properties View to associate a participant with an activity
Using Drag and Drop to associate a participant with an activity
Highlighting Participant References
Participants to Organization Model Mapping
Using Participants to Create Tasks
Organization Model Entities as Process Participants
Assigning Participants to a User Task
Using a Participant Expression to Define a Participant
Using a Performer Data Field or Parameter to Dynamically Define a Participant
Dynamic Organization Participants
Creating a Dynamic Organization Participant
Auditing Process Data
Correlation Data
Creating Correlation Data
Creating Correlation Data Using the Wizard
Creating Correlation Data Using the Properties View
Associating Process Data with Events and Tasks
Using Drag and Drop to Associate a Data Field or Parameter with an Activity
Using the Interface Tab to Associate a Data Field or Parameter with an Activity
Using Process Data to Create Tasks
Using Business Data
Business Object Models
Diagram Nodes
BOM Diagrams
BOM Classes
Primitive Types
To Set Restrictions on Primitive Types and Attributes
Attributes
Relationships
Associations
Composition
Business Object Modeler Tasks
Creating a Business Object Model in an Existing Project
Business Object Model Editor
Adding Diagram Nodes to a Business Object Model
Adding Classes Attributes
Adding Primitive Types
Connections
Creating an Association between Two Classes
Composition
Adding Text to a Model
Adding a Child Diagram to a Business Object Model
Adding Elements to the Child Diagram
Deleting Elements from the Child Diagram
Business Data Project Deployment
Business Data
BOM Class
Business Objects
Business Object Scope
Business Object Creation by Factory
Retrieving and Setting Business Object Attributes
Invoking Operations on Business Object Attributes
BOM Relationships and Process Data
Composition
Assignment by Value and by Reference
BOM Native Type or Primitive Type Object to Business Object Attribute
Assigning a Business Object
Assigning a Basic Type Object to a Process Data Field
Significance of the Script Boundary
Business Data Definition
Business Data Projects
Business Data Project Versioning
BOM Native Types
Value Spaces for BOM Native Types
BOM Design-time Model
Primitive Types
Multiplicity
Size Restrictions
Default Values
BOM Labels and Names
Label to Name Algorithm
BOM Class Label and Name
BOM Attribute Label and Name
BOM Package Label and Name
Reserved Words
Using Business Data in Tasks
Process Migration
Business Data Scripting
Factories
Creating a New Business Object
Create an Instance of a Class
Create a Copy of a Business Object
Using the Special Value Null
Checking for Null Attributes
Assigning a Null Value
Using Content Assist
Working with Single Instance Attributes of Business Objects
Multiple Instances of a BOM Class
Multiple Instances of a BOM Class in a Process Data Field
Multiple Instances of a BOM Class in a BOM Class Attribute
Working with Temporary Variables and Types
Loops Within Scripts
Scripting Containment Relationships
Working with Numeric Types
Working with Enumerated Types (ENUMs)
Additional JavaScript Global Functions
Business Data Modeling Best Practice
Choose Appropriate Data Types
Process Data Field Granularity
BOM Class Attribute and Variable Names
Do Not Split a Namespace Across Projects
Business Data Scripting Best Practice
Business Data Services Glossary
Advanced Business Data Concepts
UML Profiles
Applying a UML Profile to a Business Object Model
Applying Stereotypes to Business Objects
UML Profiles and Stereotypes
Unified Modeling Language (UML)
Importing Existing UML Models into the Business Object Modeler
Setting Diagram Preferences
Using Case Data
Case Data Overview
Case Data Terminology
Creating and Deploying a Case Data Model
Modeling Case Data in a BOM
Case Classes and Local Classes
Case Identifiers
Adding a Case Identifier to a Case Class
Configuring a Case Identifier
Case States and Case Actions
Configuring a Case State for a Case Class
Creating a Case Action
Generating a Case Action From a Case Class
Case Summaries
Specifying Attributes in a Case Summary
Searchable Attributes
BOM Relationships and BOMs
BOM Versioning
Upgrading a Case Data Model
Process Dependencies and Case Data Model Versions
Upgrading a Case Data Model to a New Major Version
Deleting a Case Data Model
Using a Case Data Model in a Business Process
Creating a New Case Object
Displaying a Case Object in a User Task - Using a Form
Displaying a Case Object in a User Task - Using a Pageflow
Updating a Case Object
Notifying a Process That a Case Object It Uses Has Been Modified
bpm.caseSignal Class and Methods
Deleting Case Objects
Reasons to Avoid Deleting Case Objects
Deleting Case Objects by Case Reference
Searching For and Reading Case Objects
Finding a Case Object by its Case Identifier
Finding All Case Objects of a Particular Type
Finding Case Objects by Criteria
Case Data Query Language (DQL)
Operators
Values
Navigating Association Links to find Related Case Objects
Association Links and Association Relationships
Creating an Association Relationship Between Two Case Classes
Creating an Association Link
Deleting an Association Link
Reading Case Objects
Processing a Paginated List of Case References
Generating a Business Service to Create/Update/Delete Case Data
Configuring Events
Events
Start Events
Intermediate Events
End Events
Setting Event and Task Visibility (Private and Public)
Throw and Catch Events
Creating References Between Throw and Catch Events
Throw and Catch Signal Events
Catch Signal Events
Throw and Catch Error Events
Configuring Error Events
Fixing Invalid Error Events
Error Data Mapping
Event Handlers
Signal Event Handlers
Using the Cancellation Event Handler
Event Handlers in Pageflows
Event Persistence
Compensation Events Configuration
Timer Event Scripts
Configuring Timer Event Scripts
Task Scripts on Events
Timer Event Rescheduling
Signals
Creating a Global Signal Definition Project
Creating Payload Data for Global Signals
Sending signals between processes
Creating a Global Signal Definition Project
Creating Payload Data for Global Signals
Correlation Data
Using Scripts
Using Scripts
Implementing Scripts
Using Process Data in Scripts
Using Structured Data Types
Factory Methods
WorkManager and Process Classes
Enumerations
JavaScript Exclusions
Data Mapping
Array Mapping Strategies
Like Mapping
Sample Scripts
Supplemental Information
Data Type Mappings
Process Primitive Data Type Mapping
JavaScript Features not Supported in TIBCO BPM Scripting
Using If For and While Expressions
Reserved Words in Scripts
bpm.scriptUtil
Process Manager and Work Manager Scripting
Process Instance Attributes and Methods
Organization Model Attributes and Methods
WorkManager
WorkItem
Troubleshooting Scripting
Reserved keywords to avoid using for attribute names
Break Script into Smaller Scripts
Examine the Server Logs
Write Variable Values and Progress Updates from the Script to the BPM Log File
eval()
Catch Exceptions
Calling REST Services
Defining the Interface to an External REST Service
Creating JSON Schemas
Creating JSON Schemas From a JSON Sample
Configuring the Process Project from Which you Want to Call the REST Service
Using a System Participant to Identify the REST Service Shared Resource
Defining Input and Output Mappings
Workflow Process and Data Pattern Support
Workflow Data Patterns Support
Workflow Process Patterns Support
Workflow Resource Patterns Support
Using Organization Models
Organization Model Concepts
Organization Model Deployment
Data Types
The Organization Model as an Analysis Tool
The Organization Model at Runtime
Elements of Organization Models
Benefits of Organization Models
Organization Model Creation
Creating a Project Containing an Organization Model
Adding an Organization Model in an Existing Project
Creating an Organization Model
Creating a Schema
Using Your Own Schema Types
Creation Types in the Schema
Creating a Location Type
Creating an Organization Type
Creating an Organization Unit Type
Creating a Position Type
Creating an Organization Unit Relationship Type
Creating a Resource Type
Using a Schema in an Organization Model
Organization Modeler Diagram Editors
Adding Objects in Organization Modeler Diagrams
To add Objects in Organization Modeler Diagrams using the Palette
Adding Objects in Organization Modeler Diagrams using the Project Explorer
Adding Notes and Labels
Tailoring the Appearance of Organization Modeler Diagrams
Organizations
Creating an Organization
Hierarchies and Associations
Organization Units
Creating an Organization Unit
Large Organizations with Branch Networks
Dynamic Organizations
Creating a Dynamic Organization
Dynamic Organization Units
Creating a Dynamic Organization Unit
Position
Creating a Position
Groups
Creating a Group
Participants
Participants from the Organization Model
Dynamic Organization Identifier Mapping
Dynamic Organization Participants
Capabilities and Privileges
Creating Capabilities
Creating Capability Categories
Creating Privileges
Creating Privilege Categories
Locations
Creating a Location
Resources
Resources and TIBCO BPM Enterprise
Creating a Resource
Queries
Creating Queries
System Actions
System Actions Reference
Schemas
Organization Modeler Default Schema
Attributes
Members
Multiplicity
Managing Work Using Organization Models
Using Organization Models in a Process
Creating or Importing an Organization Model
Organization Model Entities as Process Participants
Using Capabilities and Privileges in Allocating Work to Process Participants
Using System Actions for Processing Work
Mapping Resources to the Organization Model
About Participants
Assigning Participants to a User Task
Using a Performer Data Field or Parameter to Dynamically Define a Participant
Dynamic Organization Identifier Mapping
Using a Participant Expression to Define a Participant
Using Organization Entities in Performer Data Field or Parameter
Defining How Work Will be Assigned to Users
Offering and Allocating Work
Distributing Work Within the Target Pool
Allocating a Work Item to a Member of an Offer Set
Using Resource Patterns to Control How Work is Assigned
Chained Execution
Separation of Duties
Retain Familiar
Piling
Resource Query Language
Best Practices When Using Resource Query Language (RQL)
RQL Structure
Keywords
Operators
Organization Entities
Navigating the Organization Model with RQL Queries
Using the . Operator
Using only children and all
Combining Expressions
RQL Cleanup Configuration
Work List Facade
Work Item Attributes
Creating a Work List Facade
Setting the Display Label for Work Item Attributes
Mapping Process Data to Work Item Attributes
Importing Pre-Version 5.x Projects into TIBCO Business Studio - BPM Edition Version 5.x
What's Changed?
Importing Pre-Version 5.x Projects
Post migration tasks
Business Object Model Data Types
WSDL Activities
Other Service Tasks
Data Mapping
Participant Configurations
Multi-Instance Sub-Processes
Scripting
Forms
Legal and Third-Party Notices
TIBCO Business Studio - BPM Edition Forms User's Guide
TIBCO Documentation and Support Services
Concepts
The Modeling Environment for Forms
The Form and Form Elements
Form Builders and Form Validation
Viewing the Build Configuration of a Project
Data Mappings File
Structure of the Data Mappings File
Data Binding
Enabling the Generation of the Data Mappings File
Bindings
Direction of Bindings
Assigning Binding Both Ways
Actions
Actions Summary Table
Rules
Rules Summary Table
The Design Tab and Preview Tabs
Configuring Presentation Channels
Port Settings for Preview
Copy Form Preview URL
Logging
Locale
Logging Level
Reload
Performance Metrics
Instrumentation Level
View Datastore Data
Visibility in the Preview Tab
Outline View
Forms Compact Mode
Thumbnail Mode
Tree Mode
Usage of the Outline View with Forms
Data
Parameters
Data Fields
Shared Actions
Rules
Managing Form Elements From the Outline View
Use Business Labels in Outline View
Business Object Model
The Objects in a Business Object Model
Multiplicity of Relationships
Live Development of Forms
Using Live Development
Setting Preferences for BPM Live Dev
Cross-Resource References
Breakage Mechanisms
Quick Fixes
Problem Markers
Tasks
Creation of a New Form
Drag and Drop Gesture to Customize a Form
Setting Bindings
Adding a Binding from the General Properties Tab for a Control
Adding a Binding from the Parameter Dialog
Adding a Binding from the Mappings Tab
Removing a Binding
Setting Actions
Adding a Script Action Using the Outline View
Adding a Computation Action Using the Outline View
Editing an Action
Setting Rules
Adding a Rule Using the Outline View
Picking an Existing Action
Creating a New Action
Adding a Rule Using the Rule Wizard
Enhanced User Interface
Cascading Style Sheets
Data Validation in a Form
Validation Messages and Usability
Validation Script
Implementing Validations
Adding a Validation
Editing a Validation
Examples of Validation Messages
Example 1 Setting a Custom Validation Message
Example 2 Custom Validation Message with Substitution Variables
Example 3 Validation Message Referenced from External Resource
Calling External JavaScript Functions
Specialized Layouts
Nesting Panes
Creating Columns with Nested Panes
Positioning Controls into a Multi-Column Layout
Resequencing Tabbed Panes
Resizing a Tabbed Pane
Positioning a Modal Dialog Pane
Setting Visibility of Pane and Control Borders
Embedded Forms
Working with Embedded Forms
Creating an Embeddable Form
Embedding a Form by Using the Embedded Form Icon
Embedding a Form from the Project Explorer
Adding a BOM Class or Form Parameter to a Form
Embedded Form Parameters
Setting Bindings from the Mappings Tab
Rendering of Embedded Forms
Editing Embedded Forms
Mappings Tab
Coloration Feedback
Setting Bindings
Adding Computation Actions
Editing Computation Action Using the Script Editor Section
Editing Mappings
Property Resource Bundles
The Merging Process
Customizing Property Resource Bundles
Validations Related to Custom Common Resources
Customizing the Form’s Preview Data
Editing the File form-name .data.json
Configuring the Setting in the Properties View
Form Data Fields
Configuring a Form Data Field
Numeric Controls
Inserting a Numeric Control
Inserting External Reference Format
Creating a Custom Format
Adding the Properties File in the Resource List
Inserting a Custom Format
Editing a Numeric Control
Localization of Forms
Creating a Locale-specific Properties File
Language-specific and Country-specific Properties Files
Locale-specific Version of a Form at Runtime
Defining Localization Properties Outside the Form
Example Using a Localization Properties File Defined Outside the Form
Business Analysis and Solution Design Modes
Advanced Tasks
Using CSS to Customize the Rendering of a Form Control
Using Editable List Controls
Changing a Control’s Background Color Based on its Value
Performance Improvements
Static Rendering
Constraints on Model Validations
Restrictions on Runtime Functionality
Deferred Rendering and Deferred Initialization
Constraints on Model Validations
Restrictions on Runtime Functionality
Custom Controls
Working with the Component Library File
Working with the ControlWrapper
Usage of Custom Controls
Runtime Life Cycle of Custom Controls
Runtime Life Cycle of Custom Control Used within Grid Pane
Component Library Model
Library
Palette Drawer
Event Type
External Resource
Control Type
Capabilities
Property
Control Wrapper Implementation
initialize()
refresh()
destroy()
getValue()
getFormattedValue()
isReady()
setFocus()
compare()
renderStatic()
Component Interface
generateId()
Control
Factory
Form
hintId
labelId
locale
parentNode()
presentationURL()
resources
validationMessageIds
raiseEvent()
BOM JavaScript API for Custom Controls
Factory Methods
BOM Class Methods
BOM Class Instance Methods
Utility Methods
Reference
The Workbench
The Palette for the Form Designer
Panes
Types of Panes
Setting Pane Properties with Bindings and Rules
Controls
Edit as List with a Control
Control or Component Labels
Properties View Tabs
Properties View for Forms
General Tab
Mappings Tab
Child Labels Tab
Rules Tab
Resources Tab
Preview Data Tab
Properties View for Panes
General Tab
Properties Tab
Mappings Tab
Child Labels
Validations Tab
Rules Tab
Properties View for Controls
General Tab
Mappings Tab
Properties Tab
Validations Tab
Rules Tab
Configuration of Parameters
Context Menus
Keyboard Shortcuts
Grid Panes
Grid Panes in Display Mode
Grid Panes in Edit Mode
Grid Pane Column Headers
Grid Pane Navigation Bar
List Controls
List Controls in Display Mode
List Controls in Edit Mode
List Control Command Bar
Record Panes
Record Pane Body
Record Pane Navigation Bar
Tabbed Panes
CSS Classes
Built-in Static CSS Classes
Built-in Dynamic CSS Classes
Common Resource Keys
Keys for Number Patterns
Keys for Basic Number and Currency Symbols
Keys for Date-Time Patterns
Keys for Optionlist Controls
Keys for Built-in Buttons
Keys for Grid and Record Panes
Keys for Modal Dialog Panes
Keys for Built-in Validation Messages
Keys for List Controls
Keys for Implicit Validation Messages
Keys for Enhanced User Interface
Miscellaneous Keys
Design-time Constraints
Client-side Validations
Scripting
Forms Scripting Scope of Variables
Forms Scripting Order of Script Execution
API for Scripting
Members for Form Class
Members for Control Class
Members for Pane Class
Methods for Logger Class
Complex Data
Factories
Packages
Utility Methods
Tips and Tricks
Recommendations for Forms Modeling
Grouping Related Controls Together in Vertical Panes
The Visibility Property to Simplify User Experience
Configuration of the Pane Type Property (optional)
Modifying Excessively Long Forms
Expansion of Narrow Panes to Avoid Wrong Placement at Run Time
Creation of Tabbed Panes
Addition of a Tab to an Existing Tabbed Pane
FAQs on TIBCO Business Studio - BPM Edition Forms
Tips for Using TIBCO Business Studio - BPM Edition Forms
Legal and Third-Party Notices