Introduction:

The Form Builder is a powerful tool that simplifies the creation and management of forms across the system. It is currently implemented in both the Helpdesk and ServiceDesk modules. In the Helpdesk module, it is used for Ticket and Contact creation/edit pages, while in the ServiceDesk module, it supports Problems, Changes, Releases, Assets, Contracts, and Software Licenses.

For detailed instructions on modifying forms in each module, refer to:

Currently, only the Ticket module supports multiple forms.

Key Steps to Add a New Form:

To add a new form efficiently, follow these steps:

  1. Create a New Category: Use a seeder to create a new category, ensuring it is structured appropriately.
  2. Add Form Sections: Each parent field must be linked to a form section, as unlinked fields will not appear in the form rendering API.
  3. Handling Default Fields: To add default fields, set the attribute to default => 1 and specify the field’s key. This ensures default fields are recognized during form creation.
  4. Reports and Field Migration: Custom fields will automatically migrate, but default fields require custom code in the seeder for proper migration.
  5. Ignoring Certain Attributes: The display_for_user and required_for_user attributes can be ignored, as user roles are managed through the ServiceDesk modules.

Guidelines for Modifications:

  • Flexibility: The Form Builder is designed to allow easy modifications, whether you’re adding, removing, or changing form fields. This adaptability makes it easier for developers to maintain and enhance forms as needed.
  • Approval Process: Any new features or significant changes to the Form Builder must be approved by the original author or the most senior developer on the Faveo team, given the module’s critical role in the overall system.