User Forms 0.2 brings new ease to managing forms
We recently released a major update to the User Forms module. We mentioned the features earlier, but these features are now ready for production websites.
- Improved user interface for editing fields, with more descriptive labels and improved layout.
- You can now configure simple conditional logic. When someone answers a question in a form, that answer can be used to hide or show other fields on that form.
- The code at the PHP level has also been substantially rewritten. The model has been optimised and this drops the number of database tables from 12 to 3. We hope you like the speed and architecture improvements!
- The web-based report of form submissions is more powerful. The report is now paginated, and you can remove individual submissions or clear them all out.
- You can set custom messages for when fields are not filled out properly, overriding the SilverStripe defaults.
- Instead of sending a submission to a single email address, you can send to multiple email addresses. For each recipient you can customise the To, From, Subject, and Body content.
- Thanks to updates to the Mollom module and Recaptcha module last month, you can limit the amount of unwanted spam coming through your forms.
- Note: As yet there is no data migration strategy from forms built in the previous version to the new one. Also, this module currently has bugs when used on multiple-language websites.
Custom Fields open up a new form of SilverStripe extensions!
An exciting feature added to this version of the User Forms module is that it supports custom fields. These extensions are created by writing PHP code that can sit in their own folder, making them easy to share and reuse. Technically, you extend the EditableFormField PHP class; see the Google Maps Selection Field source code for an example. We're looking forward to seeing the community contribute useful types of fields, and we are also happy to know that the core module does not need to bloat with all sorts of rarely used field types.