Skip to main content

Reporting

What are Reports?

Reports in SoftyFlow provide comprehensive analytics and monitoring capabilities for your business processes. They allow you to track, analyze, and visualize data from process executions, giving you valuable insights into performance, bottlenecks, and outcomes.

Report Types

1. Instance Reports

Instance reports provide insights into process executions. Each time a process runs, it creates an instance - a unique occurrence of that workflow. Instance reports help you:

  • Monitor process performance and completion rates
  • Track instance status and timestamps
  • Analyze process data and outcomes
  • Identify patterns and bottlenecks

2. Task Reports

Task reports focus on user tasks within processes. They provide detailed information about tasks assigned to users, including:

  • Task completion times and status
  • User workload distribution
  • Task performance metrics
  • Screen-specific task filtering

Creating Reports

Basic Setup

  1. Navigate to the Reports section in your project
  2. Click "Create New Report"
  3. Configure the essential details:
    • Report Name: Choose a descriptive name
    • Process: Select the target process
    • Type: Choose Instance or Task report
Report Creation

Report Configuration

Once created, configure your report with these key settings:

Core Settings

  • Name: Modify the report name if needed
  • Process: Change the target process
  • Type: Switch between Instance and Task report types

Data Configuration

  • Columns: Select which process measures to include
  • Filters: Define conditions to filter your data
  • Sort: Set default sorting preferences

Task Report Specific

  • Screen Filters: Filter tasks by specific process steps/screens
  • State Filters: Show tasks by completion status (running, completed, etc.)
Report Configuration

Displaying Reports with Tables

Table Widget Integration

Reports can be displayed using the powerful Table widget, which provides:

  • Interactive Filtering: Real-time data filtering
  • Sorting: Click-to-sort functionality
  • Pagination: Handle large datasets efficiently
  • Export: CSV and Excel export capabilities

Data Source Configuration

When configuring a Table widget to display reports:

{
name: "Process Instance Report",
model: "instanceData",
options: {
remote: "report", // Use report as data source
report: { _id: "report_123", name: "My Instance Report" },
columns: [
{ field: "instanceId", label: "Instance ID", type: "string", filterable: true },
{ field: "status", label: "Status", type: "string", filterable: true },
{ field: "startDate", label: "Started", type: "date", sortable: true },
{ field: "duration", label: "Duration", type: "number", sortable: true }
],
limit: 25,
border: true
}
}

Advanced Table Features for Reports

Column Types

  • String: Process names, statuses, descriptions
  • Date: Timestamps, deadlines, completion dates
  • Number: Durations, counts, performance metrics
  • Currency: Cost analysis, budget tracking
  • Boolean: Completion flags, approval states

Interactive Features

  • Real-time Filtering: Filter by date ranges, status, users
  • Multi-column Sorting: Organize data by multiple criteria
  • Row Selection: Select instances/tasks for bulk operations
  • Export Options: Generate reports in CSV/Excel formats

Responsive Design

  • Mobile Optimization: Touch-friendly controls
  • Collapsible Details: Expandable row information
  • Adaptive Layout: Automatic column adjustment

Query and Filtering

Basic Filtering

Use simple expressions to filter your report data:

{ status: "completed", startDate: { $gte: "2024-01-01" } }

Dynamic Filtering

Include variables for interactive filtering:

{ 
assignee: {{currentUser}},
dueDate: { $lte: {{maxDate}} },
priority: {{selectedPriority}}
}

Advanced Queries

For complex analytics, use aggregation queries:

// Group tasks by assignee with completion statistics
{
$group: {
_id: "$assignee",
totalTasks: { $sum: 1 },
completedTasks: {
$sum: { $cond: [{ $eq: ["$status", "completed"] }, 1, 0] }
}
}
}

Process Measures

Reports automatically include key process measures:

Instance Measures

  • Instance ID: Unique identifier
  • Process Name: Associated process
  • Start/End Dates: Execution timeline
  • Status: Current state (running, completed, failed)
  • Duration: Execution time
  • Initiator: User who started the process

Task Measures

  • Task ID: Unique task identifier
  • Task Name: Human-readable task name
  • Assignee: Responsible user
  • Due Date: Task deadline
  • Completion Date: When task was finished
  • Screen: Associated process step
  • Priority: Task importance level

Security and Access Control

Reports respect SoftyFlow's security model:

  • Role-based Access: Users see only data they're authorized to view
  • Process Permissions: Reports inherit process-level security
  • Data Filtering: Automatic filtering based on user context
  • Audit Trail: Report access and modifications are logged

Best Practices

Report Design

  • Clear Naming: Use descriptive report names
  • Relevant Columns: Include only necessary data points
  • Logical Grouping: Organize related measures together
  • Performance: Limit data scope for better performance

Table Configuration

  • Appropriate Limits: Use pagination for large datasets
  • Smart Filtering: Provide useful filter options
  • Export Ready: Configure columns for easy export
  • Mobile Friendly: Ensure responsive design

Query Optimization

  • Specific Filters: Use targeted queries to reduce data load
  • Index Fields: Filter on indexed database fields
  • Reasonable Limits: Balance completeness with performance
  • Cache Strategy: Consider data refresh requirements

Troubleshooting

Common Issues

  • No Data Showing: Check process permissions and query syntax
  • Slow Performance: Reduce query scope or add filters
  • Missing Columns: Verify process measures configuration
  • Export Problems: Check data types and formatting settings

Debug Tips

  • Test queries independently before adding to reports
  • Use browser developer tools to inspect data loading
  • Verify user permissions for target processes
  • Check console for error messages during report generation