Form Reform

Reform the way forms are built. Build a form out of blocks. Manage how the form submission is processed, what you do with the data and how the submitted data is stored.

  • Easy to extend.
  • Easy to reconfigure.
  • Tangible data.
  • Easy to add your own integrations.

Requires php7.2+

Reform the way forms are designed

Do you find designing forms unnecessarily complex?  Do you end up compromising the design of forms to the limitations of the form builder? Do you long for forms that are as easy to layout as pages and as easy to style as blocks?

Form Reform re-thinks the way forms are built:

Form Reform implements each input element as a block type.

Concrete CMS provides excellent functionality for block design, layouts and versions.

With Form Reform you create forms by dragging a block for each form input onto the page. Form Reform uses the same system that any Concrete CMS site editor is immediately familiar with and can design with. Blocks for form elements can be arranged with other block types, grouped and reused in stacks, arranged with layouts and containers, fine tuned using block design, copied using the clipboard and managed with block and page versions.

Reform the way form submissions are processed

Are you frustrated by fixed form processing? Do you want to save data for some forms, but only send email for others? Do you need to process forms differently depending on what is entered on the form?

Form Reform re-thinks the way form submissions are processed to give you complete control:

Form Reform processes submissions with a configurable pipeline.

Form Reform processes each form submission through a pipeline of handlers you can configure just for that form. Form handlers do things like:

  • Check for Spam
  • Validate form fields
  • Return messages to the browser
  • Send emails
  • Save submitted data
  • Redirect to another page

When you configure the submit button for a form, you decide which handlers to add to the pipeline and the sequence in which they are executed. Handlers even support conditional logic so you can process forms differently based on conditions such as what the user enters or where they are located.

Reform the way form data is stored

Do you find form data difficult to use after it has been saved? Have you ever struggled to find and repair broken form data? Are you confused by the storage used by existing form builders? Does complex form data take too long to save?

Form Reform re-thinks the way form data is saved to make it simple and tangible.

The default Save handler for Form Reform saves each form submission is into one row of one table.

Modern databases support JSON database columns. The default Save handler for Form Reform utilizes this to serialize form submissions as JSON data and save each form submission as a single row of data. This keeps all the data for a submission in one place.

Saving a form submission involves just one write to one database table. Saving complex form data with Form Reform is fast. Saving complex form data with Form Reform is robust. No more skewed data spread across multiple database tables. Data saved by Form Reform is tangible.

Form save handlers currently implemented are:

  • Save to the site database in a dedicated table
  • Save to a CSV file
  • Save to user/visitor session data
  • Save to user/visitor browser cookie

Form Reform

jl_form_reform - v0.2.5 - resources v9.1.8*

Reform the way forms are built. Build a form out of blocks. Manage how the form submission is processed and how the submitted data is stored. Easy to extend. Easy to reconfigure. Tangible data. Easy to add your own integrations.

Block Types Single Pages
  • Form Reform /dashboard/​system/​form_reform Reform the way forms are built. Build a form out of blocks. Manage how the form submission is processed and how the submitted data is stored. Easy to extend. Easy to reconfigure. Tangible data. Easy to add your own integrations.
  • Form Handler Plugins /dashboard/​system/​form_reform/​plugin_list Plugins for Form Handlers.
  • Form Reform Blocks /dashboard/​system/​form_reform/​form_reform_blocks Blocks for Form Reform.
  • Form Reform Global Settings /dashboard/​system/​form_reform/​global_settings Edit global settings and defaults for Form Reform Submission.
  • Form Reform /dashboard/​reports/​form_reform Reform the way forms are built. Build a form out of blocks. Manage how the form submission is processed and how the submitted data is stored. Easy to extend. Easy to reconfigure. Tangible data. Easy to add your own integrations.
  • Form Submissions /dashboard/​reports/​form_reform/​form_reform_default Default storage for Form Reform submissions.

Additional Pages

Reform the way you add new input controls

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.

Reform what you can do with form data

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.

Reform where you can save 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.