corrad-bp/content/documentation/04-process-builder.md
Md Afiq Iskandar e4548647b5 Update Documentation and Configuration for Corrad ProcessMaker
- Added comprehensive documentation covering key features, user guides, and best practices for the Corrad ProcessMaker platform.
- Introduced new API endpoints for serving documentation files dynamically.
- Enhanced the navigation structure to include a dedicated documentation section for improved accessibility.
- Updated the Nuxt configuration to optimize the development environment and ensure proper handling of dependencies.
- Included new dependencies in package.json to support documentation rendering and processing.
- Improved the user interface for the documentation page, enhancing the overall user experience.
2025-07-24 17:17:11 +08:00

465 lines
20 KiB
Markdown

# Process Builder
*Design professional BPMN-compliant workflows with visual drag-and-drop tools for complex business process automation.*
## Table of Contents
1. [Getting Started](#getting-started)
2. [Process Builder Interface](#process-builder-interface)
3. [Core Process Components](#core-process-components)
4. [Advanced Components](#advanced-components)
5. [Creating Your First Process](#creating-your-first-process)
6. [Advanced Process Features](#advanced-process-features)
7. [Best Practices](#best-practices)
---
## 🚀 Getting Started
### **🎯 Accessing Process Builder**
**Multiple Access Methods:**
1. **📱 From Main Menu**:
- Click **"Process Builder"** in the navigation sidebar
- Select **"Create New Process"** to start fresh
- Or **"Manage Processes"** to work with existing workflows
2. **🏠 From Dashboard**:
- Navigate to the main dashboard
- Locate **"Processes"** section
- Click **"Build New Process"** or **"View All Processes"**
3. **⚡ Quick Actions**:
- Use keyboard shortcut `Ctrl + N` for new process
- Access via **"Recent Processes"** for quick editing
### **🎨 Starting a New Process**
**Process Creation Steps:**
1. **📝 Process Details**:
- Enter descriptive **process name** (e.g., "Zakat Application Workflow")
- Add comprehensive **description** explaining the workflow purpose
- Select **process category** (HR, Finance, Operations, etc.)
- Choose **template** (optional) or start from scratch
2. **⚙️ Initial Configuration**:
- Set **process variables** that will be used throughout the workflow
- Configure **user roles** and permissions
- Define **process triggers** (manual start, scheduled, API-triggered)
3. **✅ Create Process**:
- Click **"Create Process"** to open the visual designer
- Start building your workflow immediately
> **💡 Pro Tip**: Use descriptive names and detailed descriptions to help team members understand the process purpose at a glance.
## 🖥️ Process Builder Interface
### **🎛️ Interface Layout Overview**
**Three-Panel Design:**
| Panel | Purpose | Key Features |
|-------|---------|-------------|
| **📚 Left Panel** | Component Library | Drag-and-drop components, search, categories |
| **🎨 Center Canvas** | Visual Design Area | Workflow canvas, grid alignment, zoom controls |
| **⚙️ Right Panel** | Properties & Config | Component settings, variables, connections |
### **📚 Left Panel - Component Library**
**Component Categories:**
- **🏁 Core Components**: Start/End points, Form tasks, Decision points
- **🔧 Integration**: API calls, Database queries, Web services
- **📊 Business Logic**: Business rules, Script tasks, Calculations
- **📢 Communication**: Notifications, Email, SMS alerts
- **🎨 Design Elements**: Swimlanes, Annotations, Visual aids
- **⚡ Advanced**: Sub-processes, Timer events, Error handling
**Search & Organization:**
- **🔍 Quick Search**: Type component name to find instantly
- **🏷️ Filter by Category**: Show only specific component types
- **⭐ Favorites**: Mark frequently used components
- **📚 Recent**: Access recently used components quickly
### **🎨 Center Canvas - Visual Design Area**
**Canvas Features:**
- **📐 Grid System**: Snap-to-grid alignment for professional layouts
- **🔍 Zoom Controls**: Zoom from 25% to 500% for detailed editing
- **🖱️ Pan Navigation**: Click and drag to navigate large processes
- **📏 Rulers**: Pixel-perfect positioning guides
- **🎯 Auto-Layout**: Intelligent component arrangement suggestions
**Canvas Tools:**
- **↩️ Undo/Redo**: Full history tracking with `Ctrl+Z` / `Ctrl+Y`
- **📋 Copy/Paste**: Duplicate components and sub-workflows
- **🗑️ Delete**: Remove components with `Delete` key
- **🔗 Quick Connect**: Smart connection suggestions between components
### **⚙️ Right Panel - Properties & Configuration**
**Configuration Tabs:**
- **🏷️ General**: Component name, description, and basic settings
- **⚙️ Properties**: Component-specific configuration options
- **🔗 Connections**: Input/output connections and data mapping
- **📊 Variables**: Process variables and data flow configuration
- **🎨 Appearance**: Visual styling and display options
### **🔝 Top Toolbar - Process Controls**
**Primary Actions:**
- **💾 Save**: Auto-save enabled, manual save with `Ctrl+S`
- **👁️ Preview**: Test process flow in simulation mode
- **🚀 Publish**: Make process available for execution
- **📊 Analytics**: View process performance metrics
- **⚙️ Settings**: Global process configuration
**Navigation Tools:**
- **📱 Device Preview**: Test on mobile, tablet, desktop views
- **🔍 Find**: Search for specific components or text
- **📐 Alignment**: Align and distribute components professionally
- **📂 Process History**: Access version control and change history
### **⌨️ Keyboard Shortcuts**
**Essential Shortcuts:**
| Shortcut | Action |
|----------|--------|
| `Ctrl + S` | Save process |
| `Ctrl + Z` | Undo last action |
| `Ctrl + Y` | Redo action |
| `Delete` | Delete selected component |
| `Ctrl + A` | Select all components |
| `Ctrl + D` | Duplicate selected component |
| `Ctrl + F` | Find in process |
| `Space + Drag` | Pan canvas |
| `Ctrl + 0` | Fit to screen |
| `Ctrl + +/-` | Zoom in/out |
## 🧩 Core Process Components
*Essential building blocks for creating professional business workflows with BPMN compliance.*
### **🏁 Process Flow Control**
**🟢 Start Point** - *Process Entry Gate*
- **🎯 Purpose**: Define where your business process begins
- **📍 How to Add**: Drag **"Start Point"** from Core Components
- **⚙️ Configuration Options**:
- Set descriptive process name and detailed description
- Configure automatic triggers (form submission, schedule, API call)
- Define initial process variables and their default values
- Set security permissions for process initiation
- **👁️ Visual**: Green circle with play arrow and "Start" label
- **📈 Analytics**: Track how often processes are initiated
- **💼 Business Scenarios**:
- **Employee Onboarding**: Trigger when HR submits new hire form
- **Purchase Requests**: Start when employee submits purchase request
- **Zakat Applications**: Begin when citizen submits Zakat application
- **Customer Complaints**: Initiate when complaint form is received
> **🔗 Connection Rule**: Start points can only have outgoing connections, never incoming ones.
**🔴 End Point** - *Process Completion Gate*
- **🎯 Purpose**: Define successful completion of your business process
- **📍 How to Add**: Drag **"End Point"** from Core Components
- **⚙️ Configuration Options**:
- Set completion conditions and success criteria
- Configure final actions (notifications, data updates, reports)
- Define process outcome variables and their final values
- Set cleanup actions for temporary data or resources
- **👁️ Visual**: Red circle with stop icon and "End" label
- **📊 Analytics**: Track completion rates and success metrics
- **💼 Business Scenarios**:
- **Approved Applications**: Process completed successfully
- **Rejected Requests**: Process ended with rejection outcome
- **Cancelled Orders**: Process terminated by user action
- **Expired Processes**: Process ended due to timeout
> **⚠️ Best Practice**: Every process should have at least one end point, but can have multiple end points for different outcomes.
**📝 Form Task** - *User Data Collection Point*
- **🎯 Purpose**: Collect user input through dynamic, intelligent forms
- **📍 How to Add**: Drag **"Form Task"** from Core Components
- **⚙️ Configuration Options**:
- **Form Selection**: Choose from existing forms or create new ones
- **User Assignment**: Assign to specific users, roles, or groups
- **Task Settings**: Set deadlines, priority levels, and instructions
- **Data Mapping**: Map form fields to process variables
- **Conditional Logic**: Show/hide fields based on previous inputs
- **Validation Rules**: Ensure data quality and completeness
- **👁️ Visual**: Blue rectangle with document icon and form name
- **📊 Analytics**: Track completion rates, response times, data quality
- **💼 Business Scenarios**:
- **Application Forms**: Collect customer or employee applications
- **Approval Forms**: Manager reviews and approval decisions
- **Verification Forms**: Document verification by officers
- **Feedback Forms**: Collect user feedback and satisfaction ratings
**Advanced Features:**
- **📱 Mobile Optimization**: Forms automatically adapt to mobile devices
- **💾 Auto-Save**: Progress saved automatically to prevent data loss
- **🔄 Version Control**: Track form changes and maintain consistency
- **🌐 Multi-Language**: Support for multiple languages and localization
**🔗 API Call** - *External System Integration*
- **🎯 Purpose**: Connect with external services, databases, and third-party systems
- **📍 How to Add**: Drag **"API Call"** from Integration Components
- **⚙️ Configuration Options**:
- **HTTP Methods**: GET, POST, PUT, DELETE, PATCH
- **URL Configuration**: Dynamic URLs with variable substitution
- **Authentication**: API keys, OAuth, Bearer tokens, Basic Auth
- **Request Headers**: Custom headers and content types
- **Request Body**: JSON, XML, form data with dynamic content
- **Response Handling**: Parse JSON/XML responses, error codes
- **Retry Logic**: Automatic retries with backoff strategies
- **Timeout Settings**: Configure request timeouts and fallbacks
- **👁️ Visual**: Purple rectangle with connection icon and API name
- **📊 Analytics**: Monitor success rates, response times, error patterns
- **💼 Business Scenarios**:
- **Identity Verification**: Check IC numbers with government databases
- **Payment Processing**: Integration with payment gateways
- **Credit Checks**: Verify financial information with banks
- **Address Validation**: Confirm addresses with postal services
- **SMS/Email Services**: Send notifications via external providers
**Advanced Features:**
- **🔄 Real-time Sync**: Keep data synchronized across systems
- **📊 Data Transformation**: Convert between different data formats
- **🔒 Security**: Encrypt sensitive data in transit
- **⚡ Caching**: Cache responses to improve performance
**💎 Decision Point** - *Intelligent Process Routing*
- **🎯 Purpose**: Create smart branching logic based on data conditions and business rules
- **📍 How to Add**: Drag **"Decision Point"** from Core Components
- **⚙️ Configuration Options**:
- **Condition Builder**: Visual condition creation with drag-and-drop
- **Logic Operators**: AND, OR, NOT for complex condition combinations
- **Comparison Types**: Equals, greater than, less than, contains, exists
- **Variable References**: Use process variables in conditions
- **Default Path**: Fallback route when no conditions are met
- **Path Labels**: Descriptive names for each decision branch
- **Priority Order**: Set evaluation order for multiple conditions
- **👁️ Visual**: Diamond shape with branching arrows and condition labels
- **📊 Analytics**: Track which paths are taken most frequently
- **💼 Business Scenarios**:
- **Approval Workflows**: Route based on amount thresholds
- **Risk Assessment**: Different paths for high/medium/low risk
- **Category Routing**: Route applications to appropriate departments
- **Eligibility Checks**: Determine qualification for services
**Advanced Decision Logic:**
- **📊 Score-Based Routing**: Calculate scores and route accordingly
- **🕐 Time-Based Decisions**: Route based on dates, business hours
- **👥 User-Based Logic**: Route based on user roles, permissions
- **📈 Data-Driven Decisions**: Use historical data for intelligent routing
**📢 Notification** - *Multi-Channel Communication Hub*
- **🎯 Purpose**: Send targeted communications via multiple channels with personalized content
- **📍 How to Add**: Drag **"Notification"** from Communication Components
- **⚙️ Configuration Options**:
- **Notification Types**: Info, warning, error, success, reminder
- **Delivery Channels**: In-app, email, SMS, push notifications, webhooks
- **Recipient Configuration**: Users, roles, groups, external emails/phones
- **Message Templates**: Rich HTML email templates, SMS templates
- **Personalization**: Dynamic content with user data and variables
- **Scheduling**: Immediate, delayed, or recurring notifications
- **Escalation Rules**: Automatic escalation if no response
- **Delivery Tracking**: Read receipts, delivery confirmations
- **👁️ Visual**: Orange rectangle with bell icon and notification type
- **📊 Analytics**: Track delivery rates, open rates, response rates
- **💼 Business Scenarios**:
- **Status Updates**: Inform users about application progress
- **Deadline Reminders**: Alert about approaching deadlines
- **Approval Requests**: Notify approvers of pending tasks
- **System Alerts**: Technical notifications and error reporting
- **Marketing Communications**: Promotional messages and updates
**Advanced Notification Features:**
- **🎨 Rich Content**: Images, attachments, formatted text
- **🌐 Multi-Language**: Automatic language detection and translation
- **⏰ Smart Timing**: Send at optimal times based on user preferences
- **📱 Cross-Platform**: Consistent messaging across all devices
**Business Rule**
- **How to Add**: Drag "Business Rule" from the Core Components category
- **Configuration**:
- Create rule groups with conditions
- Set actions for each rule
- Configure rule priority
- **Visual**: Rectangle with rule icon
- **Use Case**: Data validation, calculations, decision logic
- **Zakat Scenario**:
- **When to Use**: Calculate Zakat eligibility based on multiple criteria
- **Example**: "Pengiraan Kelayakan Zakat" business rule
- **Configuration**: Rule 1: Income < Had Kifayah, Rule 2: No luxury assets, Rule 3: Malaysian citizen
**Script Task**
- **How to Add**: Drag "Script Task" from the Core Components category
- **Configuration**:
- Enter JavaScript code
- Set input and output variables
- Configure error handling
- **Visual**: Rectangle with code icon
- **Use Case**: Data manipulation, calculations, custom logic
- **Zakat Scenario**:
- **When to Use**: Calculate monthly expenses or determine Zakat amount
- **Example**: "Pengiraan Perbelanjaan Bulanan" script task
- **Configuration**: Sum all monthly expenses, calculate average, determine eligibility
**HTML Content**
- **How to Add**: Drag "HTML Content" from the Core Components category
- **Configuration**:
- Enter HTML code
- Add CSS styling if needed
- Configure JavaScript for interactivity
- **Visual**: Rectangle with HTML icon
- **Use Case**: Rich content, embedded applications, custom UI
- **Zakat Scenario**:
- **When to Use**: Display Zakat calculation results or guidelines
- **Example**: "Keputusan Pengiraan Zakat" HTML content
- **Configuration**: Display formatted calculation results with charts and explanations
**Sub Process**
- **How to Add**: Drag "Sub Process" from the Core Components category
- **Configuration**:
- Select another process from the dropdown
- Configure data mapping between processes
- Set sub-process parameters
- **Visual**: Rectangle with sub-process icon
- **Use Case**: Modular process design, reusable workflows
- **Zakat Scenario**:
- **When to Use**: Separate verification process for complex applications
- **Example**: "Proses Pengesahan Dokumen" sub-process
- **Configuration**: Call document verification process with applicant data
## 🎨 Advanced Components
*Sophisticated tools for complex business logic, integration, and process optimization.*
### **🧠 Business Logic & Automation**
**Horizontal Swimlane**
- **How to Add**: Drag "Horizontal Swimlane" from the Design Elements category
- **Configuration**:
- Set lane name and description
- Assign roles or departments
- Configure visual styling
- **Use Case**: Department separation, role-based organization
- **Zakat Scenario**:
- **When to Use**: Separate different departments in Zakat processing
- **Example**: "Bahagian Permohonan" and "Bahagian Pengesahan" swimlanes
- **Configuration**: Assign application officers and verification officers to respective lanes
**Vertical Swimlane**
- **How to Add**: Drag "Vertical Swimlane" from the Design Elements category
- **Configuration**:
- Set lane name and description
- Configure time-based organization
- Set visual styling
- **Use Case**: Time-based organization, sequential steps
- **Zakat Scenario**:
- **When to Use**: Organize process by time periods
- **Example**: "Minggu 1", "Minggu 2", "Minggu 3" time-based lanes
- **Configuration**: Track application processing time across weeks
**Text Annotation**
- **How to Add**: Drag "Text Annotation" from the Design Elements category
- **Configuration**:
- Enter explanatory text
- Position the annotation
- Configure text styling
- **Use Case**: Documentation, instructions, notes
- **Zakat Scenario**:
- **When to Use**: Add explanatory notes to process steps
- **Example**: "Nota: Had Kifayah = RM2,208 (2024)" annotation
- **Configuration**: Position near decision point, use smaller font for notes
## Creating Your First Process
**Step-by-Step Instructions:**
1. **Start Process Builder**
- Navigate to Process Builder
- Click "Create New Process"
- Enter process name and description
2. **Add Start Point**
- Drag "Start Point" to the canvas
- Position it at the top of your workflow
3. **Add Form Task**
- Drag "Form Task" below the start point
- Click the component to configure
- Select a form from the dropdown
- Assign to appropriate users or roles
4. **Add Decision Point**
- Drag "Decision Point" after the form task
- Configure conditions (e.g., approval status)
- Set paths for different outcomes
5. **Add End Points**
- Drag "End Point" for each decision path
- Configure completion actions
6. **Connect Components**
- Click and drag from component edges to create connections
- Ensure all paths lead to end points
7. **Test Your Process**
- Click "Preview" to test the workflow
- Verify all connections and conditions
8. **Save and Publish**
- Click "Save" to save your process
- Click "Publish" to make it available for execution
## Process Builder Features
**Visual Canvas**
- **How to Use**: Drag components from left panel to canvas
- **Connections**: Click and drag from component edges to create flow
- **Resizing**: Use handles to resize components
- **Repositioning**: Drag components to move them
**Component Configuration**
- **How to Access**: Click any component on the canvas
- **Settings Panel**: Opens on the right side
- **Configuration Options**: Properties, labels, behavior, connections
**Variable Management**
- **How to Access**: Click "Variables" tab in the right panel
- **Add Variables**: Click "Add Variable" and configure
- **Variable Types**: Text, number, date, boolean, array
- **Default Values**: Set initial values for variables
**Conditional Logic**
- **How to Create**: Use Decision Point components
- **Condition Builder**: Click "Add Condition" in decision settings
- **Logic Operators**: Use AND/OR for complex conditions
- **Default Path**: Set fallback path for unmatched conditions
**Form Integration**
- **How to Connect**: Use Form Task components
- **Form Selection**: Choose from your saved forms
- **User Assignment**: Assign to specific users or roles
- **Data Mapping**: Configure how form data flows through the process
**API Integration**
- **How to Configure**: Use API Call components
- **HTTP Methods**: GET, POST, PUT, DELETE
- **Request Configuration**: URL, headers, body
- **Response Handling**: Set output variables and error handling
**Save & Version Control**
- **Save**: Click "Save" button regularly
- **History**: Access process history to view previous versions
- **Publish**: Click "Publish" to make process available for execution
---
*Previous Chapter: [Form Management](03-form-management.md)*
*Next Chapter: [Process Management](05-process-management.md)*