UserForms module provides a visual form builder for the SilverStripe CMS. No coding required to build forms such as contact pages.
Go to file
Dylan Wagstaff 0ff72734dd NEW Maximum email attachment size can be configured
Previously hard coded size of 1MB meant any file larger was excluded
from recipient emails - often confusing for CMS admins configuring an
advanced use case for a userform, expecting to recieve files to begin a
business process external to the website.

The configuration has been made to support PHP 'shorthand byte values'
https://www.php.net/manual/en/faq.using.php#faq.using.shorthandbytes
in the configuration option. This give flexibility around oddly
specific limits, but can also be used to set as 0, disabling attachments

Tests are updated to set up a known state before testing, as to be able
to accurately assert the results. One should test the class they intend,
not an Injector service of some unknown element.
2022-10-24 20:12:58 +13:00
_config Merge branch '5.7' into 5 2020-11-12 15:18:00 +13:00
.github/workflows MNT Fix github action for deploying userdocs 2022-08-23 15:19:56 +12:00
.tx NEW Add silverstripe-webpack config and move files to webpack friendly location 2017-08-21 11:12:25 +12:00
client Merge branch '5.12' into 5.13 2022-05-27 11:32:55 +12:00
code NEW Maximum email attachment size can be configured 2022-10-24 20:12:58 +13:00
docs DOC Correct title for userhelp 2022-08-20 21:03:34 +12:00
images Add sitetree icon 2015-10-29 12:02:11 +13:00
lang ENH Protect access to the uploaded file without permission 2022-08-31 11:04:15 +12:00
templates ENH Add config to hide invisible fields from email output 2022-03-15 11:46:18 +11:00
tests NEW Maximum email attachment size can be configured 2022-10-24 20:12:58 +13:00
_config.php Move confirm folder logic to a dedicated controller 2020-06-11 19:53:46 +12:00
.editorconfig MNT Behat test for hidden form steps 2021-03-10 16:06:01 +13:00
.eslintignore Upgrade dependencies 2019-11-12 07:32:26 +13:00
.eslintrc.js Upgrade dependencies 2019-11-12 07:32:26 +13:00
.gitattributes Added standard git attributes 2015-11-19 19:10:45 +13:00
.gitignore NEW Add silverstripe-webpack config and move files to webpack friendly location 2017-08-21 11:12:25 +12:00
.nvmrc Upgrade dependencies 2019-11-12 07:32:26 +13:00
.sass-lint.yml NEW Add sass-lint configuration and refactor. Refactor JS for AirBnB ES6 syntax 2017-08-22 12:08:08 +12:00
.upgrade.yml API Mark EditableFormField::EffectiveDisplayRules() for deprecation 2020-01-13 12:12:14 +13:00
behat.yml MNT Behat test for hidden form steps 2021-03-10 16:06:01 +13:00
code-of-conduct.md Added standard code of conduct 2015-11-21 20:11:59 +13:00
codecov.yml Add codecov configuration: do not post comments to GitHub PRs 2017-08-22 16:40:17 +12:00
composer.json DEP Ensure phpunit9 compatible version of segment-field 2022-07-27 11:12:16 +12:00
contributing.md Made supported 2015-09-11 11:01:15 +12:00
license.md API Update composer requirements, Travis configuration, add phpcs/phpunit config and remove compass config 2017-08-22 16:40:15 +12:00
package.json DEP Update JS dependencies 2021-11-23 11:00:40 +13:00
phpcs.xml.dist MNT Travis shared config, use sminnee/phpunit 2020-12-08 14:56:47 +13:00
phpunit.xml.dist MNT Standardise modules 2022-08-01 16:23:44 +12:00
README.md MNT Standardise modules 2022-08-01 16:23:44 +12:00
webpack.config.js ENH Use yarn and webpack to upgrade jquery 2021-03-04 17:05:55 +13:00
yarn.lock Bump async from 2.6.3 to 2.6.4 2022-04-28 19:20:52 +00:00

UserForms

CI Silverstripe supported module

UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code.

Requirements

See the "require" section of composer.json

Features

  • Construct a form using all major form fields (text, email, dropdown, radio, checkbox..)
  • Ability to extend userforms from other modules to provide extra fields.
  • Ability to email multiple people the form submission
  • View submitted submissions and export them to CSV
  • Define custom error messages and validation settings
  • Optionally display and hide fields using javascript based on users input
  • Displays a confirmation message when navigating away from a partially completed form.

Installation

composer require silverstripe/userforms

You'll also need to run dev/build. You should see a new page type in the CMS 'User Defined Form'. This has a new 'Form' tab which has your form builder.

Spam protection

This module does not include spam protection out of the box. Without it, it's likely that your submissions could contain a considerable amount of spam. For public facing forms it is encouraged you review and install the following module plus one of the recommended 'verification system' modules outlined in the README.

Read the SpamProtection Module README for details on how to configure this module.

Documentation

Thanks

I would like to thank everyone who has contributed to the module, bugfixers, testers, clients who use the module and everyone that submits new features.

A big thanks goes out to Jan Düsedau for drawing the custom icon set for the form fields.

Versioning

This library follows Semver. According to Semver, you will be able to upgrade to any minor or patch version of this library without any breaking changes to the public API. Semver also requires that we clearly define the public API for this library.

All methods, with public visibility, are part of the public API. All other methods are not part of the public API. Where possible, we'll try to keep protected methods backwards-compatible in minor/patch versions, but if you're overriding methods then please test your work before upgrading.

Reporting Issues

Please create an issue for any bugs you've found, or features you're missing.