Form Reform Developer provides a growing suite of resources to assist those developing blocks, handlers and more complex forms for Form Reform.
The core Form Reform addon provides some built in logging and diagnostic options and some logging form handler plugins. These should be enough for creating most forms.
Nevertheless, when developing extensions to Form Reform as handler plugins or as new form blocks, or when developing complex forms, sometimes it can be useful to know a bit more about what is going on behind the scenes. Hence Form Reform Developer. Here we have some extra form analysis and diagnostic tools developers can use with Form Reform to help understand what is going on.
All the form handlers in Form Reform Developer can be removed once your forms are developed and happily running. These handlers are development tools.
Form Reform Developer provides tools to review and validate the structure of a form. Watch the video Analysis with Form Reform Developer for details. These tools can help detect mistakes such as using the wrong form name, duplicating an input name or a mistake with a handler in the submit pipeline.
You will find a Developer Analysis button towards the bottom of each of our example form pages. This shows the same analysis as Form Reform Developer provides in the submit edit dialogue and on the dashboard toolbar.
This kind of analysis is not 100% confident. There could be false positives. Hence checks in the Validate Form Structure handler can be disabled individually or by input name.
Many of the extensions to Form Reform provide form data and metadata as {{place_holders}}, often by adding new categories and keys to a global data structure called StaticDataValues. These values change and are extended as a form executes and especially when iterating through a repeatable group of inputs.
Form Reform Developer provides new handlers to dump the current content of StaticDataValues and other internal data to a form output message and to the site log so developers can see what the values are and consequently what {{category:key}} placeholders are available at that point of the handler pipeline.
See Form Handler Plugins for the latest list of handlers provided by all Form Reform addons.
Form Reform Developer provides additional form handlers to expose data from within Form Reform.
The base Form Reform addon provides diagnostics as
The Developer tab in the submit block dialogue and the Form Analysis button in the main toolbar have subtle differences. The Developer tab provides analysis of the current form and pipeline. The Form Analysis button in the main toolbar provides analysis of all forms and pipelines on the page, in or out of edit mode, using the last saved blocks.
The analysis popup for both tools shares many similarities. The main toolbar Form Analysis button extends analysis to a wider scope which is particularly pertinent on pages containing multi-step forms or multiple forms. Watch the video Analysis with Form Reform Developer for details.
Form Reform Developer also provides a dashboard pages at:
Plugin Dialogue Explorer provides a quickly browsable reference copy of the edit dialogue for all form handlers. These reference dialogues won't save and may only partially work. The dialogues are only there for reference and browsing.
Block Dialogue Explorer provides a similar browsable reference copy of the dialogue and view for for all form blocks.
This can come in useful when developing your own handlers and blocks as a quick way of finding existing dialogues you can adapt.
Configuration options are held in the file at application/config/generated_overrides/jl_form_reform.php
The Developer tab for the Submit block edit dialogue can be disabled using the configuration setting:
jl_form_reform.form_reform_developer.enable_edit_tab
The main toolbar Form Analysis button will only be shown to users with page edit permission and can be disabled using the configuration setting:
jl_form_reform.form_reform_developer.enable_toolbar
In addition to all the reasons given for other extensions to Form Reform, the form handlers in Form Reform Developer are the kind of thing you may not want to leave available on a live site.
You could go to Dashboard > System & Settings > Form Reform and disable the handlers you are not using. But with this package you also have the easy solution of just uninstalling it and the handlers are gone.
A growing suite of resources to assist those developing blocks, handlers and more complex forms for Form Reform.
ConcreteCMS Marketplace v9.0.12
/dashboard/system/form_reform/plugin_dialogue_explorer
A reference copy of all plugin dialogues. They won't save and may only partially work. Just here for browsing.
/dashboard/system/form_reform/block_dialogue_explorer
A reference copy of all form input block dialogues. They won't save and may only partially work. Just here for browsing.
Reform the way forms are built. Build a form out of blocks. Take control of how form submissions are processed and how the submitted data is stored. Easy to extend. Easy to reconfigure. Tangible data. Easy to add your own integrations.
ConcreteCMS Marketplace v9.3.24
/dashboard/system/form_reform
Reform the way forms are built. Build a form out of blocks. Take control of how form submissions are processed and how the submitted data is stored. Easy to extend. Easy to reconfigure. Tangible data. Easy to add your own integrations.
/dashboard/system/form_reform/plugin_list
Plugins for Form Handlers.
/dashboard/system/form_reform/form_reform_blocks
Blocks for Form Reform.
/dashboard/system/form_reform/global_settings
Edit global settings and defaults for Form Reform Submission.
/dashboard/reports/form_reform
Reform the way forms are built. Build a form out of blocks. Take control of how form submissions are processed and how the submitted data is stored. Easy to extend. Easy to reconfigure. Tangible data. Easy to add your own integrations.
/dashboard/reports/form_reform/form_reform_default
Default storage for Form Reform submissions.
/dashboard/system/form_reform/advanced_config
Advanced Configuration for Form Reform including adapting styles for non-Bootstrap 5 themes.
List and display form submissions from Form Reform.
ConcreteCMS Marketplace v9.1.6
/dashboard/reports/form_reform/form_reform_report
Report generator for default Form Reform submissions.
Not just Form Reform and not just UTM! Capture and hold incoming UTM (or other) tags and make the tag values available to Form Reform and/or Conditional Redirect as {{place_holders}}. You don't need Form Reform to use this.
ConcreteCMS Marketplace v9.0.3
/dashboard/system/form_reform/utm
Redirects to UTM Configuration in SEO settings.
/dashboard/system/seo/utm
Capture and hold incoming UTM (or other) tags and make the tag values available to Form Reform as {{place_holders}}. Also integrates with Conditional Redirect. You don't need Form Reform to use this!
Save submitted forms to Express objects and user attributes. Add and remove users from groups.
Form Reform Image Picker provides an image picking input block for Form Reform. The Image Picker Input is preconfigured to connect to most Omni Gallery gallery and slider display widgets, the core gallery block, and thumbnail showing templates for the core page list block. Advanced settings allow the Image Picker Input to be configured to pick images from other galleries and sliders.
ConcreteCMS Marketplace v9.0.4
Form Reform Data Picker provides data picking input blocks for Form Reform. The Table Picker Input is preconfigured to connect to Universal Content Puller table display widgets. Advanced settings allow the Table Picker Input to be configured to pick data from other HTML tables.
ConcreteCMS Marketplace v9.0.4
Form handlers for querying Microsoft Dynamics, forwarding and updating form data to Microsoft Dynamics.
Extends Form Reform with form handler macros. Provides a new dashboard page at System & Settings > Form Reform > Form Reform Macros to manage macros, and form handlers to run macros.
ConcreteCMS Marketplace v9.0.0
/dashboard/system/form_reform/macro
Extends Form Reform with form handler macros. Provides a new dashboard page at System & Settings > Form Reform > Form Reform Macros to manage macros, and form handlers to run macros.
A growing suite of resources to assist those developing blocks, handlers and more complex forms for Form Reform.
ConcreteCMS Marketplace v9.0.12
/dashboard/system/form_reform/plugin_dialogue_explorer
A reference copy of all plugin dialogues. They won't save and may only partially work. Just here for browsing.
/dashboard/system/form_reform/block_dialogue_explorer
A reference copy of all form input block dialogues. They won't save and may only partially work. Just here for browsing.
If you need a specialized template or a custom input element, you can design new templates or new block types for form elements as you would any block type.
Blocks are easy for third party addition or extension. Block templates and are the first thing any Concrete CMS developer learns to code. They are one of the easiest things to code. The underlying mechanisms are well established and reliable.
Form handlers are built about the same extensible plugin system as many of my other addons (Universal Content Puller, Omni Gallery, Extreme Clean ...).
The whole system is aimed at easy extension within Form Reform, by third party addons, by agencies and by site building developers.
Handlers can be easily added to do whatever you want with the form data.
Saving form data with Form Reform is simply a handler in the processing pipeline. You can save to multiple locations or just one location.
If you need to save data elsewhere, such as to a dedicated table, a table provided through another addon, to another database, send it to an API, forward it to another server, or anywhere you can imagine, you can adapt or develop a form handler to do so.
The complexity of the code depends on where you are saving or sending the data, but wrapping that into a form handler plugin for Form Reform is straight forward.
The Form Reform handler plugin system is designed for easy extension.
Reform the way forms are built. Build a form out of blocks. Take control of how form submissions are processed and how the submitted data is stored. Easy to extend. Easy to reconfigure. Tangible data. Easy to add your own integrations.
List and display form submissions from Form Reform.
Not just Form Reform and not just UTM! Capture and hold incoming UTM (or other) tags and make the tag values available to Form Reform and/or Conditional Redirect as {{place_holders}}. You don't need Form Reform to use this.
Form handlers for querying Microsoft Dynamics, forwarding and updating form data to Microsoft Dynamics.
A suite of advanced image capture and upload tools. Enhanced drag and drop file uploading. Make screengrabs from within Concrete CMS. Capture images directly from device webcams. Edit images before uploading.
Save submitted forms to Express objects and user attributes. Add and remove users from groups.
Form Reform Image Picker provides an image picking input block for Form Reform. The Image Picker Input is preconfigured to connect to most Omni Gallery gallery and slider display widgets, the core gallery block, and thumbnail showing templates for the core page list block. Advanced settings allow the Image Picker Input to be configured to pick images from other galleries and sliders.
Form Reform Data Picker provides data picking input blocks for Form Reform. The Table Picker Input is preconfigured to connect to Universal Content Puller table display widgets. Advanced settings allow the Table Picker Input to be configured to pick data from other HTML tables.
Extends Form Reform with form handler macros. Provides a new dashboard page at System & Settings > Form Reform > Form Reform Macros to manage macros, and form handlers to run macros.
A growing suite of resources to assist those developing blocks, handlers and more complex forms for Form Reform.
While you may have plans to implement some much more complex forms using Form Reform, we strongly recommend you start with a simple form such as our contact form example in order to review the basic principles of using Form Reform before you move onto anything bigger.