diff --git a/content/documentation/08-iframe-integration.md b/content/documentation/08-iframe-integration.md new file mode 100644 index 0000000..5bd22bc --- /dev/null +++ b/content/documentation/08-iframe-integration.md @@ -0,0 +1,725 @@ +# Iframe Integration Guide + +This guide explains how to integrate Corrad workflow forms into external applications using iframes. This enables seamless embedding of business processes into customer portals, external websites, or any web application. + +## Table of Contents + +- [Overview](#overview) +- [Basic Integration](#basic-integration) +- [Advanced Configuration](#advanced-configuration) +- [Multi-Process Workflows](#multi-process-workflows) +- [Error Handling](#error-handling) +- [Security Considerations](#security-considerations) +- [Examples](#examples) +- [Troubleshooting](#troubleshooting) + +## Overview + +Corrad provides a powerful iframe integration system that allows you to embed workflow forms into external applications. The system supports: + +- **Clean UI Mode**: Hide all debug information and UI chrome +- **Seamless Multi-Process**: Chain multiple workflows together +- **Real-time Communication**: Parent-child message passing +- **Error Handling**: Graceful error management +- **Progress Tracking**: Monitor workflow completion + +## Basic Integration + +### Simple Iframe Embedding + +```html + + +``` + +### URL Parameters + +| Parameter | Description | Example | +|-----------|-------------|---------| +| `debug=false` | Enable iframe mode (hide UI chrome) | `?debug=false` | +| `hideComplete=true` | Hide completion message | `?hideComplete=true` | +| `theme=dark` | Apply custom theme (if supported) | `?theme=dark` | + +### Complete Example + +```html + + +
+${error}
+ + +{{ error }}
-The workflow "{{ process.processName }}" has been completed successfully.
-Processing...
+No HTML content provided
Please choose one of the following options:
+Please choose one of the following options:
Please wait while we determine the next step...
@@ -1623,8 +1791,8 @@ function getConditionGroupResult(conditionGroup, variables) {{{ JSON.stringify(processVariables, null, 2) }}