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?

  1. Quick Start Guide - Build a simple form in 15 minutes
  2. Core Concepts - Understand form architecture
  3. Form Designer - Learn the designer interface
  4. Examples - See complete solutions

Next Steps