Why Forms?
Forms are a fundamental building block for creating user-facing applications in Ambience. They provide a powerful, flexible way to collect, display, and manage data while integrating seamlessly with workflows and ETL processes.
The Problem Forms Solve
Modern business applications need to: - Collect data from users in a structured way - Validate data before processing - Apply complex business rules dynamically - Integrate with business processes and workflows - Support multiple languages and regions - Control access based on roles and permissions - Provide responsive, user-friendly interfaces
Building these capabilities from scratch is time-consuming and error-prone. Forms provide a complete solution.
Key Capabilities
1. Visual Form Design
Design forms visually in the Form Designer without writing code: - Drag-and-drop interface - Real-time preview - Component library (30+ components) - Instant testing
Result: Build forms in minutes, not hours.
2. Dynamic Behavior with Rules
Create sophisticated UI logic without programming: - Show/hide fields based on conditions - Enable/disable components dynamically - Make fields mandatory conditionally - Navigate between pages based on user input
Example: Show “Manager Approval” section only if request amount exceeds $5,000.
3. Multi-Layer Validation
Ensure data quality with multiple validation layers: - Client-side validation (instant feedback) - Server-side validation (security) - ETL-based validation (complex business rules) - Custom script validation
Result: Catch errors early, prevent invalid data from entering your system.
4. Workflow Integration
Connect forms to business processes seamlessly: - Create workflow instances from forms - Display workflow state in forms - Submit events to progress workflows - Show approval history
Example: Leave request form creates a workflow instance, routes to manager for approval, updates employee on status.
5. ETL Integration
Transform and process form data with ETL chains: - Validate against business rules - Enrich data from databases - Send notifications - Update external systems - Generate reports
Result: Forms become part of your data pipeline.
6. Dataset-Driven Components
Populate form components from database queries: - Dataset Select - Dropdown from query results - Dataset Chooser - Searchable selection - Dataset Picker - Modal selection dialog - Cascading selections - Dependent dropdowns
Example: Select customer → Load customer’s projects → Select project → Load project tasks.
7. Internationalization
Support multiple languages automatically: - Base translations included - Custom translations supported - Language detection - Fallback mechanism
Result: One form definition serves global users.
8. Role-Based Access Control
Control who can access and see what: - Form-level access (roles, privileges) - Component-level visibility (rules) - Workgroup isolation (multi-tenancy) - Field-level permissions
Example: Employees see “Request Leave” button, managers see “Approve/Reject” buttons.
9. File Attachments
Handle file uploads with built-in support: - Multiple file uploads - File type restrictions - Size limits - Secure storage - Integration with workflows
Example: Expense claim form with receipt attachments.
10. Responsive Design
Forms work on desktop, tablet, and mobile: - Automatic responsive layout - Touch-friendly controls - Mobile-optimized components
When to Use Forms
✅ Use Forms For:
Data Entry Applications - Employee onboarding - Customer registration - Order entry - Survey collection
Approval Workflows - Leave requests - Expense claims - Purchase orders - Document approvals
Self-Service Portals - Password reset - Profile updates - Service requests - Feedback submission
Multi-Step Wizards - Complex data collection - Guided processes - Progressive disclosure
Data Editing - Record maintenance - Bulk updates - Configuration management
Interactive Dashboards - Filters and parameters - Data exploration - Report generation
❌ Don’t Use Forms For:
Pure Data Display - Use dashboards instead - Forms are for interaction, not just display
Batch Processing - Use ETL chains directly - Forms are for user interaction
Real-Time Monitoring - Use dashboards with live data - Forms are request-response based
Complex Visualizations - Use dashboard charting - Forms have limited visualization
Forms in the Ambience Ecosystem
Forms integrate with other Ambience modules:
Forms + Workflows
What: Forms create and interact with workflow instances.
Use Case: Leave request form creates workflow instance, routes through approval states, displays history.
Benefits: - State-driven business processes - Audit trail - Role-based approvals - Process visibility
Forms + ETL
What: ETL chains validate, transform, and process form data.
Use Case: Form submission triggers ETL chain that validates data, sends email, updates database, generates report.
Benefits: - Complex validation logic - Data transformation - External system integration - Automated processing
Forms + Datasets
What: Dataset queries populate form components dynamically.
Use Case: Customer selection dropdown populated from database, filtered by region.
Benefits: - Dynamic data-driven UI - Always current data - Reduced maintenance - Cascading selections
Forms + I18N
What: Internationalization module provides translations.
Use Case: Form displays in user’s preferred language automatically.
Benefits: - Global reach - Reduced duplication - Consistent translations - Easy updates
Forms + Workgroups
What: Workgroups provide multi-tenancy isolation.
Use Case: Each department has its own forms, invisible to other departments.
Benefits: - Data isolation - Access control - Organizational structure - Scalability
Real-World Examples
Example 1: Employee Leave Request
Problem: Manual leave approval process, email-based, no tracking.
Solution: Form + Workflow + ETL - Employee fills leave request form - Form creates workflow instance - Workflow routes to manager - Manager approves/rejects in form - ETL sends notifications - Calendar updated automatically
Result: 80% faster approval, complete audit trail, zero lost requests.
Example 2: Customer Support Portal
Problem: Support requests via email, difficult to track and prioritize.
Solution: Form + Workflow + Dataset - Customer submits issue via form - Form categorizes issue (dataset) - Workflow assigns to team - Status visible in form - Attachments supported - History tracked
Result: 50% faster response time, better prioritization, customer visibility.
Example 3: Purchase Order System
Problem: Paper-based PO process, slow approvals, budget overruns.
Solution: Form + Workflow + ETL + Rules - Requester fills PO form - Rules show/hide fields by category - ETL validates budget availability - Workflow routes based on amount - Multi-level approvals - Notifications at each step
Result: 70% faster processing, budget compliance, complete audit trail.
Comparison to Alternatives
Forms vs Pure HTML/JavaScript
| Aspect | Forms | Pure HTML/JS |
|---|---|---|
| Development Time | Minutes to hours | Days to weeks |
| Workflow Integration | Built-in | Custom coding |
| Validation | Multi-layer, declarative | Manual coding |
| Access Control | Built-in | Custom implementation |
| Maintenance | Visual updates | Code changes |
| I18N Support | Automatic | Manual implementation |
Use Forms: When you need rapid development and Ambience integration.
Use HTML/JS: When you need complete custom control or non-Ambience deployment.
Forms vs Dashboards
| Aspect | Forms | Dashboards |
|---|---|---|
| Primary Purpose | Data entry/interaction | Data display/visualization |
| User Action | Submit, save, approve | View, filter, explore |
| Validation | Yes, multi-layer | No |
| Workflow Integration | Deep integration | Limited |
| Data Collection | Primary use case | Not designed for this |
Use Forms: For data entry, approvals, user interaction.
Use Dashboards: For data visualization, monitoring, reporting.
Forms vs Direct ETL
| Aspect | Forms | Direct ETL |
|---|---|---|
| User Interface | Yes, visual | No |
| User Interaction | Interactive | Batch/scheduled |
| Validation Feedback | Immediate | After processing |
| Use Case | User-facing | Background processing |
Use Forms: When users need to interact and provide data.
Use ETL: For batch processing, scheduled jobs, background tasks.
Getting Started
Ready to build your first form?
- Quick Start Guide - Build a simple form in 15 minutes
- Core Concepts - Understand form architecture
- Form Designer - Learn the designer interface
- Examples - See complete solutions
Next Steps
- Core Concepts - Architecture and concepts
- Quick Start Guide - Build your first form
- Workflow Integration - Connect forms to workflows
- Complete Example - See a full implementation