Form Builder
The Form Builder module provides a flexible framework for creating and managing forms within the application.
Features
- Drag-and-Drop Form Builder: Create forms visually without coding knowledge
- Form Fields: Support for various field types including text, dropdowns, checkboxes, and more
- Form Submissions: Collect and manage form responses from employees
- Form Analytics: Track submission rates, completion times, and response patterns
Requirements
- Open Core Business Suite (Base System)
- No additional module dependencies
Installation
- Purchase and download the Form Builder module
- Extract the module files to
Modules/FormBuilder - Run the installation command:
php artisan module:enable FormBuilder
php artisan migrate
- Clear the application cache:
php artisan optimize:clear
Configuration
Navigate to Settings > Modules > Form Builder to configure:
- Default Settings: Set default form behaviors
- Notification Templates: Customize submission notification emails
- Storage Options: Configure where form data is stored
Usage
Creating a Form
- Navigate to Forms from the main menu
- Click Create Form button
- Enter the form name and description
- Use the drag-and-drop builder to add fields
Available Field Types
The form builder supports various field types:
| Field Type | Description |
|---|---|
| Text Input | Single line text entry |
| Text Area | Multi-line text entry |
| Number | Numeric input with validation |
| Email address with format validation | |
| Phone | Phone number input |
| Date | Date picker |
| Time | Time picker |
| Date & Time | Combined date and time picker |
| Dropdown | Single selection from options |
| Multi-Select | Multiple selections from options |
| Checkbox | Single checkbox for yes/no |
| Checkbox Group | Multiple checkboxes |
| Radio Buttons | Single selection radio group |
| File Upload | File attachment field |
| Signature | Digital signature capture |
| Rating | Star or numeric rating |
| Section Header | Visual section divider |
Field Configuration
Each field can be configured with:
- Label: The field label displayed to users
- Placeholder: Hint text shown in empty fields
- Required: Mark field as mandatory
- Validation Rules: Custom validation patterns
- Conditional Logic: Show/hide based on other fields
- Default Value: Pre-populate with default data
Publishing Forms
After creating a form:
- Click Preview to test the form
- Click Publish to make it available
- Choose the target audience (all employees, specific departments, etc.)
- Set start and end dates if applicable
Managing Submissions
View and manage form submissions:
- Go to Forms > Submissions
- Select the form to view its submissions
- Filter by date, status, or submitter
- Export submissions to Excel or PDF
Form Analytics
Track form performance:
- Submission Count: Total number of responses
- Completion Rate: Percentage of started forms that were completed
- Average Time: Time taken to complete the form
- Field Analysis: Which fields cause the most abandonment
API Endpoints
The module provides API endpoints for mobile and external integrations:
GET /api/V1/forms- List available formsGET /api/V1/forms/{id}- Get form structurePOST /api/V1/forms/{id}/submit- Submit form responseGET /api/V1/forms/{id}/submissions- List submissions (admin)GET /api/V1/forms/submissions/{id}- Get submission details
Permissions
The module includes the following permissions:
| Permission | Description |
|---|---|
forms.view | View available forms |
forms.create | Create new forms |
forms.edit | Edit existing forms |
forms.delete | Delete forms |
forms.submit | Submit form responses |
forms.view_submissions | View form submissions |
forms.export | Export submission data |
Use Cases
- Employee Surveys: Gather feedback from employees
- Request Forms: IT support, equipment requests, etc.
- Onboarding Forms: Collect new employee information
- Incident Reports: Document workplace incidents
- Performance Reviews: Custom evaluation forms
- Exit Interviews: Gather feedback from departing employees
Best Practices
- Keep forms concise and focused on specific purposes
- Use conditional logic to show relevant fields only
- Test forms thoroughly before publishing
- Review analytics to improve form completion rates
- Archive old forms instead of deleting them