The Drupal Webform universe

Florian Engel's picture
Florian Engel

Last updated: August 2013

If you are a webform fan (like me) you're probably quite aware of the vast amount of related modules available. But it can be quite confusing HOW MANY modules there are when you get started. Also some of them are duplicates or don't work well.

So here is a list of webform related modules (for Drupal 7) at your service, hand picked and tested. If you want us to add modules to the list please leave a comment and we'll update this blogpost.

Webform related modules

Form Builder

http://drupal.org/project/form_builder
The Form Builder module is an excellent interface improvement for creating webforms. While the icons and the styles might need some improvement the overall concept is much better than the default field_ui style interface.

Webform Alternate UI

https://drupal.org/project/webform_alt_ui
The Webform Alternate UI is a module building on top of the Form Builder project and aims to improve the interface for survey creation (and fixes some usability problems). Unfortunately it's not very well maintained and in my opinion it also focuses too much on the survey creation use cases.

Option Elements

http://drupal.org/project/options_element
Have you ever tried to explain a web editor how to use the pipe key on their keyboard? Well, the Option Elements UI gets rid of confusing configuration of select elements.

Select or Other

http://drupal.org/project/select_or_other
Frequently you have to give visitors the option to choose "other" as an option. This little module does just that.

Webform Draggable List

http://drupal.org/project/webform_draggable_list
If you want to expose a list of items to a visitor and aks him/her to re-order it this module is for you.

Webform validation

http://drupal.org/project/webform_validation
There is barely a webform that does not have validation rules. With Webform Validation you can create comprehensive rules and do all kinds of crazy validation things.

Clientside Validation

http://drupal.org/project/clientside_validation
Usually when people fill out the form and overlook a required field the whole page reloads and the error message shows. This module gets rid of the page load and validates the webform via java script.

Inline Messages

http://drupal.org/project/inline_messages
One of the usability problems with webforms is that error messages are displayed in the generic drupal messages box. Sometimes the user does not really understand which form the message is referring to (or which field). This module places the error message right above the form element it's related to.

Inline Form Errors

http://drupal.org/project/ife

This module apparently does the same thing as "Inline Messages" but I haven't really tested it yet.

Webform Encrypt

http://drupal.org/project/webform_encrypt

If you want the contents of your webforms to be encrypted before they are stored then use this simple module.

Webform SSL

http://drupal.org/project/webform_ssl
For more confidential data it's a good idea to offer an SSL connection. Using this module you can make sure the webform submission will use HTTPS.

Webform Share

http://drupal.org/project/webform_share
Webform Share allows you to create forms and then reuse them in new forms. It's also quite handy if you want to bring webforms into code - so far it's my favorite module for copying webforms and maintaining "webform templates".

Webform Default Fields

http://drupal.org/project/webform_default_fields
Webform Default Fields tries to solve the same problem as Webform Share only that it does that in a less elegant way. Instead of a code export you get a node. From this node the webform fields are copied every time you create a new form. It also lacks multi-lingual support.

Webform Import

http://drupal.org/project/webform_import
The Webform Import module allows you to throw around webform submissions. You can also import data from other data sources as webform submissions.

Webform phone number

http://drupal.org/project/webform_phone
Need a phone number field in your forms? Use this project and enjoy the validation without typing those rules yourself.

Webform Name

http://drupal.org/project/name
The name field actually has a lot more to it than it's name suggests (pun intended). You can configure which sub-fields related to names you want to display, which "title" options you will offer and you can even add inline styles (not sure what for). It's a nice generic solution to the problem though.

Honeypot Trap

http://drupal.org/project/honeypot/
Of course it's not the only spam-blocker module that you can use with webforms. You can also use Spamicide but then you have to add every single spam trap manually. Honeypot does the job for you. It's also much better than captchas because you don't annoy your visitors with your spam-problem.

Progress Bar

http://drupal.org/project/pgbar
This is currently just a sandbox we've developed. It will be turned into a decent module soon. You can use it to display a progress bar counting the submissions of your webform. You also have a field on your content type where you can enter the target value (how many submissions you are seeking) and it will do the rest for you. It's great for petitions or e-actions.

Webform Rules

http://drupal.org/project/webform_rules
Well, it's a Rules integration. That means you can do pretty much everything after the webform has been submitted. Awesome!

Webform Mysql Views

http://drupal.org/project/webform_mysql_views
Using this little module you can pull your webform submissions into views (currently requires a patch). It's not the most scalable solution but you can easily populate a view, create some listings and provide a more meaningful way to browse webform submissions.

Webform Conditionals

http://drupal.org/project/webform_conditional
This module enhances the webform native conditional field functionality. It allows you to display a specific set of fields based on conditions of other fiels on the same page.

Webform A/B Test

http://drupal.org/project/webform_ab/
With this module you can create split-tests and see which webform performs the best. It only changes the actual webform, not the node around the webform. Therefore the functionality is not quite as helpful. When testing it there were also numerous bugs but maybe that was just my setup.

Webform Autocomplete

http://drupal.org/project/webform_autocomplete
With this module you can add a specific set of data to a field and once users start typing it will autocomplete for them. You can also use previous submissions for those fields.

Webform Reply-To

http://drupal.org/project/webform_reply_to
This is a great hleper module if you want to gain some more controll over the SMTP envelope of those emails you're sending via webform.

Webform Double-Optin (confirm_email)

http://devblog.more-onion.com/double-optin-webforms-webformconfirmemail

We've released a Drupal 7 port of the module webform_confirm_email. Using this module you can create email list signup forms or secure forms by asking visitors to confirm their email address. Once they have filled out the form an email with a link is sent to their email address. The weform is only fully "submitted" once the link is clicked.

Webform "Steps"

https://drupal.org/project/webform_steps

If you use multi-step webforms you can visualize those steps. By clicking on the "step links" you can jump back and forth which is more intuitive than the "next" and "previous" button. This is by the way another webform module we've developed.

Custom Webform buttons

https://drupal.org/project/webform_custom_buttons

Webform ships with a neat little setting that allows you to customize the text on the submit button. But it's well hidden and not available in the form builder. It gets even worse with multi-step webforms - you have three different labels (the first one, the middle one and the final button). This little module makes all button text editable on the form builder interface. Another more onion webform project :-)

 

There is also a list on drupal.org but this is a personal selection. If you want a more comprehensive list check out http://drupal.org/node/1526208

 

Comments

Thank you Florian for testing, summarizing and putting this list together, it is very helpful! :)

Pages