Form Builder
Deprecated: Form Builder / Legacy Forms
Recommendation
Use a content type to create a form; use the workflow viewtool or workflow API to ingest each submission as a new contentlet of that content type.
See How to Build A Schema Driven Form in dotCMS for a tutorial.
Reason
Original legacy form functionalities, such as the FormTool, depended on Struts components, removed years ago — version 5.2.0, back in 2019.
The successor, the Form Builder, has likewise aged out; it renders out-of-date (sometimes nonstandard) tags that frequently fall short of WCAG or other standards, and custom fields like a captcha are not possible. Given more coherent alternative methods outlined above, we deemed this feature no longer worth updating.
There are two ways to create forms; The Form Builder or The Form Content API. This document will cover the Form Builder. To Learn more about the Form Content API please see the REST API documentation.Through the Form Builder forms can be created quickly and easily, with no knowledge of HTML or Velocity, and placed on a page in the same way that content is contributed to a page, see Adding New Content to a Page for more details. A special Base Content Type named "Forms" can be used to define Form Content Types whose content can be placed as Form content in any content container on any Page.
Advantages of Forms as Content
- Setting up Form fields does not require any knowledge of HTML or Velocity.
- Forms can be easily placed and re-used on any Page.
- Form submissions are stored as content.
- Form submissions can be set to be published or unpublished when the form is submitted.
- Form submissions which are automatically published and can be displayed dynamically on any Page.
- Form code is not exposed to content contributors who have access to Pages the form has been placed in but doesn't have access to forms.
To get started creating forms, please see the Form Creation documentation