9.6.3 -
v9.6.2 - Many small details to support maintaining forms and handler pipelines.
9.6.1 -
9.6.0 -
9.5.13 - Fix saving of validation constraints for Date, Date Time and Time inputs.
9.5.12 -
9.5.11 -
9.5.10 -
9.5.9 -
9.5.8 -
9.5.7 -
9.5.6 -
9.5.5 - Change sorting of kitchen sink from handle to name.
9.5.4 -
9.5.3 -
9.5.2 -
9.5.1 - Fix dashboard issue arising from Snapshot docs integration when snapshot not installed.
9.5.0 - Make block save methods compatible with CIF import.
9.4.5 -
9.4.4 -
9.4.3 -
9.4.2 - Speed up handler pipeline when resolving handlers in a multilingual site.
9.4.1 -
9.4.0 -
9.3.25 -
9.3.24 -
9.3.23 -
9.3.22 - Improve and optimize plugin resolution for languages. Update resources to 9.4.0.
9.3.21 - Improve error handling in Address Lookup form control when Google API key is not set.
9.3.20 -
9.3.19 -
9.3.18 -
9.3.17 -
9.3.16 -
9.3.15 -
9.3.14 -
9.3.13 -
9.3.12 -
9.3.11 - Fix macro expansion for non-admin users.
9.3.10 - Fix pipeline step 'disabled' checkbox persistence for macros. Improved install messages.
9.3.9 -
9.3.8 -
9.3.7 - Fix disable/enable of rich text in multistep ajax form.
9.3.6 - Compatibility with Captcha by Cloudflare Turnstile.
9.3.5 -
9.3.4 -
9.3.3 - Fix encryption for cookie store (strong encryption got lost somewhere in a previous update). If your application uses already submitted forms from the cookie store, you can configure continued reading of unencrypted cookies by setting the configuration key jl_form_reform.cookie_store.accept_unencrypted to 1. Set yourself a reminder to clear it again in a few weeks time.
9.3.2 -
9.3.1 -
9.3.0 -
9.2.11 -
9.2.10 -
9.2.9 - Alias PermissionKey to avoid autoloader confusion with AttributeKey. Update resources to 9.2.29.
9.2.8 - New form controls: Uppercase, Lowercase, Handle, Numeric, Masked Text.
9.2.7 -
9.2.6 - Update resources to 9.2.27.
9.2.5 - Provide OviDigital\JsObjectToJson\JsConverter class required by all blocks using the Icon Picker.
9.2.4 - Prevent Submit control validation from whoopsing when spoofed.
9.2.3 -
9.2.2 -
9.2.1 - Resources updated to 9.2.24, improvements to named settings and compatibility with Stored Settings Manager.
9.2.0 - With so much new functionality through v9.1.x it was about time for v9.2. Form Reform 9.2 also adds many new capabilities.
9.1.12 - Fix {{data_values}} dot expansion for list inputs filling attributes. Update resources to 9.2.23.
9.1.11 -
9.1.10 - Fix {{data_values}} back compatibility issue with 8.5.12.
9.1.9 -
9.1.8 -
9.1.7 -
9.1.6 -
9.1.5 -
9.1.4 -
9.1.3 -
9.1.2 -
9.1.1 - Fix php8 issue when form submission endpoint called illegally by bot. Update resources to v9.2.19.
9.1.0 -
9.0.24 - New Set Error Conditional handler. Refactor ConditionIF handler.
9.0.23 - Compatibility with core v9.2.0. Update resources to v9.2.14.
9.0.22 -
9.0.21 - Fix checkbox list bootstrap3 template for php8.
9.0.20 -
9.0.19 -
9.0.18 -
9.0.17 -
9.0.16 -
9.0.15 -
9.0.14 - Implement single point for registration and loading of Google Maps api.
9.0.13 -
9.0.12 - Widen accepted characters within {{place_holders}} to facilitate use in default values.
9.0.11 -
9.0.10 - Refactor of lazy block install/update, now simpler and uses database configuration.
9.0.9 - Development only.
9.0.8 - Send Email handler now supports sending email with embeded and attached images and other files.
9.0.7 -
9.0.6 -
9.0.5 - Dodge whoops if a stack providing form components is deleted.
9.0.4 -
9.0.3 -
9.0.2 - Improvements to lazy block install/update.
9.0.1 - Facilitate Form Reform Display.
9.0.0 - PRB approval release.
0.4.9 - Fix $bID check in php8.1.
0.4.8 - Enhancement to results search class to facilitate Form Reform Display addon.
0.4.7 - blocks_used template now lists ANY_FORM on the page.
0.4.6 - Fix BlocksInForm for non-default form name on v8.
0.4.5 - Form field help in submit block. Styling for invalid inputs on non-BS5 themes.
0.4.4 - Input validation classes.
0.4.3 - New form submit routing to support clean URLs for regular submits and submit buttons in stacks for regular and AJAX submits.
0.4.2 - Update resources to v9.1.22.
0.4.1 - Extend presentation of install/update progress across block dialogues. Fix saving and implementation of process_data_values for form input data.
0.4.0 - Improved and refactored handler dialogues. IP address detection through proxy. More explanation about lazy install in pre/post install screens. Lazy updater.
0.3.22 - Fix php8 issue in progress reporting at end of ConditionIf handler.
0.3.21 - Change .css route to remove .css file type. Change rendering of label/required etc. for improved layout consistency. New docs template for Kitchen Sink Required. Redirect block now supports #fragments.
0.3.20 - Fix issue with {{visitor:locale}} placeholder, values are keys.
0.3.19 - Fix php8 $fv issue in save to CSV. Fix issue with growing lists not saving all items introduced with v0.3.15
0.3.18 - Unescape html in {{place_holders}}
0.3.17 - Fix php8 compatibility of lazy install.
0.3.16 - Lazy install of blocks to allow installation on slower sites/servers. Some adjustment to uninstall and upgrade (but not lazy in the same way).
0.3.15 - Fix issue with rich text containing un-matched double quote ".
0.3.14 - Mostly to do with install/uninstall on v8. Also some fixes to Captcha in ajax.
0.3.10 - Improve support for unicode in form inputs. Prefix page/block location to log reports.
0.3.9 - Fix corrupted JS in Redirect handler.
0.3.8 - Fix styling of radio buttons spoiled by v0.3.7. Clarify and improve logging and debug states for Submit button.
0.3.7 - php8 compatibility. Debug modes now compatible with AJAX forms. Further consolidation of common code across form blocks.
0.3.6 - Add route to controller. Remove unnecessary commas in function calls. Remove <?php at end of some files.
0.3.5 - Development version
9.4.1 - Fix issue with report builder when expanding repeatable groups containing zero values (also requires Form Reform v9.6.2+).
9.4.0 -
9.3.4 -
(Database Entities should be refreshed automatically by the package update. If not. visit dashboard/system/environment/entities and Refresh Entities)
9.3.3 -
9.3.2 -
9.3.1 -
9.3.0 - New Form Reform handlers to import reports and analysis into the form processing pipeline.
9.2.5 - Make block save methods compatible with CIF import.
9.2.4 - New analysis for average and statistics on repeatable group. More options/variations for excluding and counting.
9.2.3 - Fix issue with divisor when calculating averages to exclude empty items.
9.2.2 - Alpha sort of reports list.
9.2.1 - Add edit mode marker for empty analysis reports.
9.2.0 -
9.1.10 - Add active and info highlight to completion list item matching current page.
9.1.9 -
9.1.8 -
9.1.7 - New Advanced Form Dependency form input control. This works similarly to Require Form and Prohibit Form, with extended filtering of form results using the report/query generating now provided by Form Reform Display.
9.1.6 - Completion list now works with page and/or form. Accepts an absolute date for time window. Extended form_name suggestions.
9.1.5 - MariaDB 10.6 didn't like some column names. Change column names order_by to result_order_by; offset to result_offset.
9.1.4 - Fix support panel to show version history notes.
9.1.3 - New report generator dashboard page at Dashboard > Reports > Form Reform > Form Report Generator. Minimum core version now 9.1.3.
9.1.2 - Add missing 'continue' to custom display option handling.
9.1.1 - Output formats for Fid - image, download, etc. Cid - page link. Fix php7.4 back compatibility.
9.1.0 -
9.0.7 - Update minimum dependency on Form Reform. Extended install information
9.0.6 - Fix object display for php8.2 in default results list.
9.0.5 - Support display of forms saved to attributes, files and csv. Fix 'Cid' to 'cid'.
9.0.4 - Fix sequencing issue with updating Universal Content Puller integration
9.0.3 - New Completion List block. Update Form Reform first. Requires Form Reform v9.2.0. Fix linking to page from results blocks.
9.0.2 - Display user attribute textarea. Improve display for list values.
9.0.1 - Change to Universal Content Puller detection for more flexible install.
9.0.0 - PRB approval release.
0.2.5 - Fix aliases and a few undeclared's in case php8 decides it doesn't like them.
0.2.4 - Fix filtering for cookie/session store and php8.
0.2.3 - Support for nested array data using dot notation.
0.2.2 - Ensure form_reform_display block type set is used.
0.2.1 - Add missing use for Arr class in table output.
0.2.0 - Refactor common code. Fix block cache settings. Submit for marketplace approval.
0.1.3 - Blocks to display form results from cookie or session storage.
0.1.1 - php8.1 compatibility.
0.1.0 - Autoloader race issue.
0.0.6 - Development version.
9.0.4 - Improve rendering in Form Reform Developer's Block Dialogue Explorer dashboard page.
9.0.3 - Make block save methods compatible with CIF import.
9.0.2 - MariaDB 10.6 didn't like some column names. Change column names order_by to result_order_by; offset to result_offset.
9.0.1 - Support panel compatibility with new marketplace.
9.0.0 - Marketplace Approval. Minimum core version now 9.1.3
0.5.0 - Last bit of tidy up before PRB submission.
0.4.6 - Rebuilt reviews system based on Form Reform.
0.3.0 - Final version of previous implementation of Reviews, not upward compatible with the new Form Reform based Reviews.
9.0.3 - Fix store retrieval stores other than php $_SESSION.
9.0.2 - Minimum core version now 9.1.3. Compatibility with new marketplace and linter.
9.0.1 - Extended install information
9.0.0 - PRB approval release.
0.1.2 - Fix skewed dashboard page in v8.
0.1.1 - Optional required tags.
0.1.0 - Ready for marketplace review.
0.0.4 - Development version.
0.2.2 - Extended install information.
0.2.1 - Update minimum dependency on Form Reform. Update some comments on api use. Add is_array() test to value of query param in DynamicsAPI.
0.2.0 - Php8.2 compatibility.
0.1.2 - Use text-indigo as the convention for handler calling an external API.
0.1.1 - Trim white space from ends of dynamics parameter names. Ensure global API settings are kept consistent when multiple handlers are edited in the same pipeline.
0.1.0 - Available for direct sale, please contact me for details.
9.1.0 - Reset and clear controls.
9.0.18 - New Remove From User Textarea Attribute handler.
9.0.17 - Minimum core version now 9.1.3. New handler to Validate User by group or permission.
9.0.16 - Developer convenience, Save to Express returns the ID of the express object as {{express:id}}.
9.0.15 - Extended install information. Extended L2 debug output for user and Express saved values.
9.0.14 - Save to Express and Save to Current User handlers - new ah control to populate with attribute handle.
9.0.13 - Update minimum dependency on Form Reform. Align garbage collection with Form Reform.
9.0.12 - New form handler Save to Page Attribute. Fix 'Cid' to 'cid'.
9.0.11 - Accommodate null $required_input_classes.
9.0.10 - Required and validation options for select control.
9.0.9 - Option to shuffle choices.
9.0.8 - Renamed to 'Form Reform Attributes, Express and Users'. New User Groups handler to manage user groups. (Previously named Form Reform Save to Attributes)
9.0.7 - Update Form Reform before updating Form Reform Save to Attributes. Requires Form Reform 9.2.0. Refactor time offsets to accommodate DST.
9.0.6 - Support display update to 9.0.2.
9.0.5 - Guard user attribute handlers against erroneous use when a user is not logged in.
9.0.4 - Fix default parameters in v8 compatibility for kitchen sink demo.
9.0.3 - Fix back compatibility with kitchen sink demo for c8.5.12
9.0.2 - New form input blocks for ease of working with options attribute.
9.0.1 - Fix back compatibility issue for c8.5.12
9.0.0 - PRB approval release.
0.7.2 - Fix issue with undefined constant for priority of initial data.
0.7.1 - Require form reform >= 9.1.0.
0.7.0 - Ready for marketplace review.
9.0.6 - Make block save methods compatible with CIF import.
9.0.5 - Minimum core version now 9.1.3.
9.0.4 - Extended install information.
9.0.3 - Compatibility with Enlil Page List and Enlil Page Tease. For any users who have added their own picker options to jl_form_reform.image_picker.source_types, you may need to clear this configuration value so to allow Form Reform Image Picker to set the new and extended defaults before adding your own options again.
9.0.2 - Fix type mismatch when comparing $bID in ajax action.
9.0.1 - Accommodate null $required_input_classes.
9.0.0 - Release/approval version
0.0.10 - Handler to Extend From File Properties.
0.0.9 - Style placeholders with italic to match bootstrap. Reduce effect of scale transform on larger screens.
0.0.8 - Trick autoload for form reform built in documentation. Provide data-fid fallback for legacy picker. Tidy up repeater animation on add/remove. Compatibility with touch gallery default template. Fix thumb button behaviour with repeatable input groups.
0.0.7 - Extend {{DataValues}} for image URLs and for repeatable groups.
0.0.6 - Development and testing. An extension for Form Reform to facilitate picking an image from Omni Gallery with the capability to be configured to pick images from other galleries and sliders.
9.0.8 - Make compatible with clear & reset controls. Fix id/name issues arising from enabling id field.
9.0.7 - Make block save methods compatible with CIF import. Fix issue with empty picker when a pick is required.
9.0.6 - Identification of previous form submission IDs extended to evaluate {{placeholder}} to extract previous form IDs to work with.
9.0.5 - New Table as Select Combi and JSON as Select Combi inputs add a combi text input option to the existing Table as Select and JSON as Select inputs.
9.0.4 - Minimum core version now 9.1.3. New Calendar Picker control to pick events from a calendar.
9.0.3 - Suggestions for result source. Read From Default Store handler.
9.0.2 - New Result Picker control. New handlers Update Default Store, Delete From Default Store.
9.0.1 - Extended install information.
9.0.0 - Release/approval version.
0.0.5 - Fix typo in help text.
0.0.4 - Pretty much ready for review.
9.0.0 - Minimum core version now 9.1.3. PRB Approval.
0.0.4 - Fix macro expansion for non-admin users.
0.0.3 - Fix pipeline step 'disabled' checkbox persistence for macros. Extend support for Form Reform Developer.
0.0.2 - Ready for review.
9.1.3 - New analysis test for required fields which could be hidden without being disabled or redacted.
9.1.2 - Fix some undeclared variables affecting the Dialogue Explorer dashboard pages. Cache each item in the Dialogue Explorer dashboard pages. Provide a ?refresh=1 query string parameter to force a cache refresh.
9.1.1 - Add floating templates for State Hacker block. Remove unnecessary view.css for State Hacker block default template.
9.1.0 - New log handlers for $_POST and $_GET data. Log handlers always log irrespective of the logging level configured in submit options. Prevent spurious developer console reports about missing CK editor during pipeline analysis. Form analysis extended to include live analysis of form states. New Form State Hacker block for testing form states.
9.0.15 - Further analysis for placeholders {{...}}
9.0.14 - Optimize Find My Forms query.
9.0.13 - New Find My Forms dashboard page, also connects to form analysis popup. Block Dialogue Explorer updated for mixed checkbox/radioset example.
9.0.12 - More diagnostics in Block Dialogue Explorer and Plugin Dialogue Explorer.
9.0.11 - Strengthen error tolerance of dashboard preview of blocks.
9.0.10 - New dump format to show example placeholders.
9.0.9 - Minimum core version now 9.1.3. Prev/Next controls and view.css for explorer pages.
9.0.8 - Fix macro analysis for non-admin users.
9.0.7 - Extended install information, further macro analysis.
9.0.6 - Support analysis into macros.
9.0.5 - Developer Analysis template for documentation block to expose developer analysis to visitors. Primarily for demonstration on c5magic.co.uk.
9.0.4 - Update minimum dependency on Form Reform. Detect mismatched {{...}}.
9.0.3 - Load CK assets for read-only display of rich text inputs. Add block types to reports. Add key to reports.
9.0.2 - Pipeline analysis. Toolbar analysis button (stethoscope).
9.0.1 - Css for rating/like/vote inputs in block dialogue explorer.
9.0.0 - Release/approval version
0.1.0 - Extend handling for option lists in Block Dialogue Explorer. Added titles to edit/view tabs in Block Dialogue Explorer.
0.0.9 - New dashboard page Block Dialogue Explorer. A quick way to review form block dialogues and views.
0.0.8 - Fix spelling of frequency.
0.0.7 - Handlers to detect some form building mistakes.
0.0.6 - New dashboard page Plugin Dialogue Explorer. A quick way to review the dialogues of all form handler plugins.
0.0.4 - Development and testing. A growing suite of debug resources to assist those developing blocks, handlers and more complex forms for Form Reform.
Form Reform is a richly featured form building system and the initial roadmap for where it could be going has been whittled down.
Nevertheless, there are always features that could be added and the best ideas originate from users and projects with real applications. If you have ideas or feature requests, please Get in Touch and let me know your thoughts.
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.
Express is the built in object data system built in to Concrete CMS. Form Reform is way more powerful for forms. Express supports basic object relationships, but is not robust.
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.
Provides blocks and dashboard utilities to List, display, summarize, generate reports and analyze form submissions from Form Reform. Additionally supports integration with Universal Content Puller.
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.