Contents Index



Contents
 
Introduction
About This Guide
Assumptions
Conventions Used in This Guide
Viewing Documentation Online
 
Chapter 1 Introduction to Process Builder
About Processes and Process Builder
What is a Process?
What is Process Builder?
Who Should Use Process Builder?
What is a Process Instance?
About Applications
Sample Applications
Creating an Application
Deploying an Application
Starting Process Builder
The preferences.ini File
     Specifying a cluster

     Specifying a corporate directory

     Adding or Changing Local Application Folders

Starting Process Builder on Windows NT
Starting Process Builder on Solaris
Using Process Builder
Process Builder Applications
Application Tree View
Process Map
Map Palette
     Activities Tab

     Documentation Tab

Messages Window
Main Toolbar
Menu Commands
     Application

     Edit

     Insert

     Format

     Window

     Help

HTML Page Editor Toolbar
 
Chapter 2 Planning an Application
Planning Overview
Planning the Process Map
Entry Points
User Activities
Automated Activities
Custom Activities
Subprocesses
Decision Points
Parallel Processing
Exit Points
Transitions
Notifications
Exceptions
Planning Assignments
Planning Groups and Roles
Planning for Monitoring
Planning Delegations
Determining the Data Requirements
File Attachments
Planning Forms
Planning Access to Forms
Planning Custom Scripts
Planning Searches
Planning Deployment
 
Chapter 3 Creating an Application
Application Creation Overview
Getting Information from the Administrator
Creating a New Application
The New Application Dialog Box
Setting Application Properties
The Application Properties Dialog Box
Using Sample Applications
Applications and the Corporate Directory
Setting Your Corporate Directory
Deleting an Application
 
Chapter 4 Designing a Process Map
Drawing the Process Map
Saving a Process Map to a File
Adding Items with the Palette
Deleting Items
Entry Points
User Activities
Setting Activity Expirations
Setting Activity Assignments
Using Parallel Approval
     Parallel Approval Completion Script

Automated Activities
Subprocesses
Connecting the Parent and Child Process
Custom Activities
Using a Custom Activity
Custom Activity Inspector Window
Inspector Window After Setting a Custom Activity
Adding a Custom Palette
Exception Manager
Default Exception Manager
Creating an Exception Manager
Exception Manager Properties
Decision Points
Split-Join (Parallel Processing)
Properties of a Parallel Process
Adding a Parallel Process
Notifications
Notification Properties
Built-in Email Notification Scripts
Exit Points
Transitions
Types of Transitions
Adding a Transition
Transition Properties
     Setting the Property for a Virtual Transition

     Setting the Property for a Conditional Transition

Example Using a True/False Field
 
Chapter 5 Defining Groups and Roles
Groups and Roles Overview
Default Groups and Roles
Creating Groups and Roles
The Create a New Role or Group Dialog Box
     Types of Groups and Roles

     Adding a New Group or Role

The Application Group Dialog Box
The Corporate Group Dialog Box
The Dynamic Group Dialog Box
The Field Role Dialog Box
Prioritizing Groups and Roles
Deleting Groups and Roles
 
Chapter 6 Defining Data Fields
Data Field Overview
Creating a Data Field
The Create a New Data Field Dialog Box
     Creating a Custom Data Field

     Creating a Predefined Data Field

     Adding a Data Field

Setting Field Properties
Custom Data Fields with Predefined Class IDs
CheckBox
Computed
Date
DateTime
Digital Signature
File Attachment
     Usage Tips for File Attachments

     File Attachment Properties

Java Applet
Java Bean
Password
Radio Buttons
Select List
TextArea
TextField
URL
UserPicker Widget
Custom Data Fields with Your Own Class ID
Predefined Data Fields
Address
Name
Telephone
Deleting Data Fields
Setting Up the Content Store
The Content Store Inspector Window
Troubleshooting the Content Store
 
Chapter 7 Designing Forms
Planning Forms
Creating Forms
Modifying Forms
Using Process Builder's Form Editor
Using an External Editor
Using the HTML Page Editor Toolbar
Using the Edit, Insert and Format Menus
     Edit

     Insert HTML Element

     Format

Using Right-Mouse-Button Menu Commands
Changing Field Properties for a Form
Hints for Setting Field Properties
Accessing the Data Dictionary
Using Scripts to Validate User Input
Adding a Banner to Forms
Setting Access to Forms
Forms for Assignees
Forms for Monitoring the Process
Forms for the Administrator
Setting Access to an Entry Point
 
Chapter 8 Using Scripts
Overview of Scripts
Kinds of Scripts
When to Use Scripts
About Writing Scripts
Predefined Scripts
Assignment Scripts
Completion Scripts
Email Notification Scripts
     defaultNotificationHeader()

     defaultNotificationSubject()

     emailByDN(DN)

     emailById(userId)

     emailOfAssignees()

     emailOfCreator()

     emailOfRole(role)

Initialization and Shutdown Scripts
Creating Scripts
The Script Editor Window
Setting a Script as a Template
Using Client-side Scripts
 
Chapter 9 Setting Up Searching
Types of Searching
Global Searching
Application-Specific Searching
Enabling Searching
Allowing a Group to Search
Setting Up Forms
Allowing Searching for Fields
 
Chapter 10 Deploying an Application
Before You Deploy
Set up and Configure PAE
Deploy Subprocesses First
Save the Process Map, If Desired
Fix Application Errors
Steps for Deploying an Application
The Deploy Application Dialog Box
Revising a Deployed Application
Summary of Allowed Revisions
     Changes to Activities and Transitions

     Changes to Data Elements

     Changes to Forms, Scripts, and Content Store

Deployed Applications Compared with Local Copies
Using a Backup of a Local Application
Saving a Local Application to Another Name
Redeploying an Application
 
Chapter 11 The Data Sheet Application
Data Sheet Application Overview
Data Sheet Process Map
Data Sheet Walkthrough
The Data Sheet Entry Point
     The Title Field

Add Art Activity
     Assignment Script

     Expiration Setter Script

     The Forms

The Automated Activity
The Approve Pricing (Product Manager) Activity
     Assignment Script

     Forms

     Notification

The VP Approval Decision Point
The Approve Price (VP) Activity
     Assignment Script

     Forms

Exit Points
Groups and Roles
Data Dictionary
Forms
Script Dictionary
     The buildDS Script

     The lookupCode Script

     The buildDataSheet Script

     The computeTitle Script

Content Store
Finished Data Sheet Example
The description.txt File
The image.gif File
The printer.html Template File
The Finished Data Sheet
Configuring the Data Sheet Application
Configuration Hints
     How Users Access the Data Sheet

     Process Express and Netscape Application Server

Adding an Email Attribute for a User
Using File Attachments and Content Stores
     Step 1: Administer the Enterprise Server

     Step 2: Edit the Access Control List

     Step 3: Assign the Content Store's Style

     Step 4: Set the Values for the Application's Content Store

 
Chapter 12 The Office Setup Application
Office Setup Application Overview
Office Setup Process Map
Office Setup Walkthrough
Start Entry Point
Assign Office and Specify Computer Work Item
Basic Setup Split
Set Up Phone Work Item
Install Network Connection Work Item
Order Computer Work Item
Install Computer Work Item
Basic Setup Join
CheckSetup Work Item
Setup Complete Exit Point
The Office Setup Groups
Data Dictionary
Form Dictionary
Script Dictionary
Completion Scripts
     setRequesterField

     verifySetup

Toolkit Scripts
     buildExitNotification

Embedded Client-Side Script
Customizing the Appearance of the Forms
Configuring the Office Setup Application
 
Chapter 13 The Loan Management and Credit History Applications
Loan Management Application Overview
Credit History Application Overview
Loan Management Process Map
Credit History Process Map
Loan Management and Credit History Walkthrough
New Loan Request Entry Point
Verification Work Item
Check Credit History Subprocess
     Check Credit History Subprocess Properties

     Data Mapping

     Completion Script

     The Subprocess Failed Exception Manager

Credit History Application as a Subprocess
Check Authorization Work Item
LookUp Credit History Automated Activity
Canceled Exit Point
OK Exit Point
Meeting Work Item (Parent Process)
Loan Refused Exit Point
Loan Approved Exit Point
Groups and Roles
Data Dictionary
Loan Management Script Dictionary
storeCreditInformation Completion Script
CustomerId Toolkit Script
Credit History Script Dictionary
LookUpCreditHistory Automation Script
Configuring the Loan Management Application
Configuring the Credit History Application
 
Chapter 14 The Insurance Claim Processing Application
Application Overview
Process Map
Entry Point
Activities
Custom Activities
     Look Up Details

     Update Log

     Log Denial

Decision Point
Parallel Process
Exit Points
Notification
Application Walkthrough
The Entry Point (Enter Policy No.)
Custom Activity (Look Up Details)
Activity (Policy Details)
Activity (Re-enter Policy No.)
Activity (Enter Claim Details)
Activity (Confirmation)
Activity (Approver)
Activity (Clarification)
Activity (Inform Customer)
Parallel Activity
     Activity (Send Check)

     Custom Activity (Update Log)

Groups and Roles
Group and Role Priorities
Data Dictionary
Forms
     Entry.html

     Resubmit.html

     Details.html

     EnterClaim.html

     Confirmation.html

     Approver.html

     Clarify.html

     InfCustomer.html

     SendCheck.html

     ClaimApproved.html

     ClaimDenied.html

     ExpirationExit.html

Script Dictionary
Expiration Scripts
     Script at Policy Details Activity

     Script at Enter Claim Details Activity

     Script at Confirmation

     Script at Resubmit Policy No.

Completion Scripts
     Completion Script at Policy Details Activity

     Completion Script at Enter Claim Details Activity

Required Files
The database.xml File
The Policy.log File
The Banner Image
The Background Image
Configuring the Insurance Claim Processing Application
Custom Activity Code
The LogPerformer Activity
The LogdenialPerformer Activity
The LookupPerformer Activity
Code Walkthrough for LookupPerformer.java
     Definitions and Packages

     The init, perform, and destroy Methods

     The GetPolicy Method

 
Chapter 15 Advanced Techniques for Scripting
Introduction
Getting Information about the Current Process
Getting and Setting Data Field Values
Getting Data Field Values in Decision Point and Automation Script Transitions
Getting Information about Users and their Attributes
Finding Users and Accessing their Attributes
Modifying User Attributes
Verifying an Array of User DNs
Adding and Deleting Users
Accessing the Content Store
Example of Accessing a Stored Item
Storing Files in the Content Store
Logging Error and Informational Messages
Verifying Form Input
Verifying Form Input with Client-Side JavaScript
     Event Handler Example

     onSubmitForm Example

Verifying Form Data in Completion Scripts
Initializing and Shutting Down Applications
Debugging Hints
Undefined Items
Adding Helpful Messages to Script Failure Dialog Boxes
Displaying the Progress of a Script
Testing Expiration Setter and Handler Scripts
Sample Scripts
Assignment Script
Expiration Setter Script
Expiration Handler Script
Completion Script
Automation Script
 
Chapter 16 Scripting with EJB Components
Calling EJB Components from JavaScript
A Sample Script
Handling Exceptions
Data Conversion Issues
 
Chapter 17 Writing Custom Activities
Introduction
Comparison to Automated Activities
Usage Overview
Implementing ISimpleWorkPerformer
Methods of ISimpleWorkPerformer
     The init( ) method

     The perform( ) method

     The destroy( ) method

Sample Java Class
     Creating HelloWorldPerformer.java

Writing the XML Description File
File Format
     WORKPERFORMER Tag

     ENVIRONMENT Section

     INPUT Section

     OUTPUT Section

     PARAMETER Tag

     DESIGN Section

Sample XML Description File
Packaging a Custom Activity
Adding a Custom Activity to the Process Map
Adding a Custom Activity from a Custom Palette
Adding a Custom Activity without Using a Custom Palette
Working with a Custom Activity
Implementation Tips
Avoid Instance Data
Use Consistent Data Types
Avoid Non-default Constructors
When to Use a Custom Activity
 
Chapter 18 Writing Custom Fields
Introduction
Why Use a Custom Field?
Functional View of a Custom Field
Steps for Creating a Custom Field
Defining Field Properties in a JSB File
JSB_DESCRIPTOR Tag
JSB_PROPERTY Tag
     JSB_PROPERTY Attributes

     Required Data Field Properties

Writing the Java Classes
Consider the Design Issues
     Consider Your Data and Data Sources

     Design a Data Manager

     Design a Thread-safe Class

     Use an Entity Key

Implement IPresentationElement and IDataElement
     Displaying a Work Item

     Initiating a Process Instance

     Completing a Work Item

     Accessing a Custom Field from a Script

Packaging a Custom Field
Adding a Custom Field to an Application
Method Reference
IPresentationElement Interface
     display()

     update()

IDataElement Interface
     create()

     store()

     load()

     archive()

BasicCustomField Class
     loadDataElementProperties()

IPMElement Interface
     getName()

     getPrettyName()

 
Appendix A   JavaScript API Reference
ProcessInstance
     getConclusion()

     getCreationDate()

     getCreatorDN()

     getCreatorUser()

     getData (fieldName)

     getEntryNodeName()

     getExitNodeName()

     getInstanceId ()

     getPriority()

     getRoleDN(roleName)

     getRoleUser(roleName)

     getTitle()

     setData (fieldName, fieldValue)

     setPriority(value)

     setRoleByDN(roleName, userDN)

     setRoleById(roleName, userId)

     setTitle(title)

WorkItem
     assignTo(assigneeDnArray)

     expire()

     extend(newDate)

     getAssigneesDN()

     getCreationDate()

     getCurrentActivityCN()

     getExpirationDate()

     hasExpired()

     isStateActive()

     isStateRunning()

     isStateSuspended()

     moveTo(activityName)

     resume()

     setExpirationDate(expDate)

     suspend()

ContentStore
     copy(srcURL, dstURL)

     download(url, file)

     exists(url)

     getBaseURL()

     getBaseURL(path)

     getBaseURL(path, instanceid)

     getContent (url)

     getException(result_string)

     getRootURL ()

     getSize(url)

     getStatus(result)

     getVersion()

     initialize(url)

     isException(exception)

     list(url)

     mkdir (URLString)

     move (String URLString1, String URLString2)

     remove(url)

     rmdir(url)

     store (content, url)

     upload(file, url)

CorporateDirectory
     addUser (userDN, attributes, objectClasses)

     deleteUserByCN(userCN)

     deleteUserByDN(userDN)

     deleteUserById(uid)

     getUserByCN(userCN)

     getUserByDN (userDN)

     getUserById (uid)

     modifyUserByCN (userCN, attrName, attrValue, operation)

     modifyUserByDN (userDN, attrName, attrValue, operation)

     modifyUserById (userID)

User
     getUserId()

     getDN()

Logging and Error Handling Global Functions
     logErrorMsg (label, context)

     logHistoryMsg (label, comment)

     logInfoMsg(label, context)

     logSecurityMsg (label, context)

     setErrorMsg (errMessage)

Assignment, Completion, and Email Scripts
     checkParallelApproval (dataField, stopAction)

     defaultNotificationHeader()

     defaultNotificationSubject()

     emailByDN(DN)

     emailById(userId)

     emailOfAssignees()

     emailOfCreator()

     emailOfRole(roleName)

     randomToGroup(groupName)

     toCreator()

     toGroup(groupName)

     toManagerOf (userId)

     toManagerOfCreator()

     toManagerOfRole(role)

     toParallelApproval(arrayOfUserDNs, dataField)

     toUserById(userId)

     toUserFromField(dataField)

Miscellaneous Global Functions
     checkUserDNs(arrayOfUserDNs)

     ejbLookup(jndiName)

     evaluateTemplate(templateName)

     expireIn(val, unit)

     getAction()

     getApplicationName()

     getApplicationPath()

     getApplicationPrettyName()

     getBaseForFileName (processId)

     getConnector(connectorKey)

     getContentStore ()

     getContentStore(httpURL,user,password)

     getCreatorUserId ()

     getCorporateDirectory ()

     __getIncludePath ()

     getJndiNamingContext()

     getProcessInstance ()

     getSubProcessInstance ()

     getWorkItem ()

     __includeFile (fileName)

     mapTo(fieldName)

     mount(jndiName)

     setConnector(connKey, connObject)

     __setIncludePath (includePath)

     setRedirectionURL(stringURL)

     url_OnDisplayHistory()

     url_OnDisplayProcessInstance()

     url_OnDisplayWorkItem()

     url_OnDisplayWorklist()

     url_OnListApplications()

     url_OnListEntryNodes()

Alphabetical Summary of JavaScript Objects
 
Appendix B   Migrating from Previous Releases
Getting Started
Importing an Application to Process Builder
     Assigning Exception Nodes

Checking for Errors
Deploying the Application
Migrating SSJS-specific Objects
Migrating Custom Fields
 
Appendix C   Reserved Words
 
Glossary
 
Index
 

Copyright © 1999 Netscape Communications Corp. All rights reserved.