Skip to main content

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

  1. Purchase and download the Form Builder module
  2. Extract the module files to Modules/FormBuilder
  3. Run the installation command:
php artisan module:enable FormBuilder
php artisan migrate
  1. 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

  1. Navigate to Forms from the main menu
  2. Click Create Form button
  3. Enter the form name and description
  4. Use the drag-and-drop builder to add fields

Available Field Types

The form builder supports various field types:

Field TypeDescription
Text InputSingle line text entry
Text AreaMulti-line text entry
NumberNumeric input with validation
EmailEmail address with format validation
PhonePhone number input
DateDate picker
TimeTime picker
Date & TimeCombined date and time picker
DropdownSingle selection from options
Multi-SelectMultiple selections from options
CheckboxSingle checkbox for yes/no
Checkbox GroupMultiple checkboxes
Radio ButtonsSingle selection radio group
File UploadFile attachment field
SignatureDigital signature capture
RatingStar or numeric rating
Section HeaderVisual 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:

  1. Click Preview to test the form
  2. Click Publish to make it available
  3. Choose the target audience (all employees, specific departments, etc.)
  4. Set start and end dates if applicable

Managing Submissions

View and manage form submissions:

  1. Go to Forms > Submissions
  2. Select the form to view its submissions
  3. Filter by date, status, or submitter
  4. 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 forms
  • GET /api/V1/forms/{id} - Get form structure
  • POST /api/V1/forms/{id}/submit - Submit form response
  • GET /api/V1/forms/{id}/submissions - List submissions (admin)
  • GET /api/V1/forms/submissions/{id} - Get submission details

Permissions

The module includes the following permissions:

PermissionDescription
forms.viewView available forms
forms.createCreate new forms
forms.editEdit existing forms
forms.deleteDelete forms
forms.submitSubmit form responses
forms.view_submissionsView form submissions
forms.exportExport 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