Webform 2.x Plans

Webform and I have had a long history together. It was used on my first Drupal site as a contact form, and it's been used ever since. It was the first module I reported a bug, and led me to learn how to roll a patch file. I became the maintainer and ported it to Drupal 4.7 after learning the then new FormsAPI. Not long after, Lullabot contracted me to write some enhancements for the a client, leading me to be hired full-time.

So I owe Webform a lot it seems, but yet it's long been the black mark on my CVS history, barely receiving patches months apart. With Drupal 6 around the corner, the requests for a port will come soon, probably requiring a large number of changes to accommodate for the improved FormsAPI. Because maintaining two drastically different version of the same module doesn't appeal to anyone, I've begun work on Webform 2.x for Drupal 5 to make it possible to support both D5 and D6 versions simultaneously.

So, what's new and different?

  • The components form has been moved from the main edit form to a separate tab.
  • Editing components immediately saves to the node, preventing nasty $_POST value checking and hidden elements passing data back and forth.
  • A new Grid element (also in the 1.x version)
    Grid component example
  • Individual components can be cloned, preventing repeated setup of the same elements
  • Database cleanup. Now Webform uses shorter integer keys for faster performance and finally does away with time() keys.
  • CRUD Functions. Webform provides functions for insertion, retrieval, updating, and deleting of Webform components and submissions

What's coming soon?

  • Decision tree support (if the user selects x, go to y): A long standing requested feature. By expanding the pagebreak component, this new feature will take Webform surveys to a new level.
  • Drag and drop arrangement of components: Drupal 6 provides a drag and drop framework for easily arranging form elements. With Webform 2.x, we're ready for it.
  • Integration with CCK Fields: The new CCK makes all form elements reusable, and the new arrangement of the components on a separate page sets us up nicely for reusing the configuration forms provided by CCK modules like Date, Imagefield, and Address.

The greater stability and ease of use I plan for the new version makes Webform a prime candidate for making a Drupal-driven survey website. It's always a little embarrassing when SurveyMonkey is used to conduct the surveys on Drupal.org. Maybe we'll see that changed in Drupal 6.

All in all, I've very excited about the prospects of the new Webform. The new version not only promises new features, but also clean code, stability, and efficiency. Finally when people use Webform I can have the same confidence as the use of Fivestar, Link, or Views Bookmark.


Webform is invaluable for our client's websites and it's surprisingly powerful, it's as important to us as CCK and Views. So thanks for maintaining it and not giving up!

I agree with Rowanw: thanks for maintaining it and not giving up! It looks promising.

I love the webform module and the 2.0 sounds even more lovable!
Thanks for all your hard work, I'll be checking if any patches need review and stuff.


Thanks for the great module! I've used it on several sites. I'll be looking at the new grid feature soon, in hopes of replacing some survey tools we've been trying to dump for a while.

Awesome! I'm glad to see this module getting some love. :)


Great, instead of using contact module, i rely on webform for the functionality, as we need custom fields. It works great so far, however we could really use some touch on the reporting side. I wonder if this 2.X version includes such feature :)

I am trying to get the taxonomy support working on webform 1.0, through using a vocabulary.inc which is a changed version of select.inc. See: http://drupal.org/node/162948.
This is an addition to webforms to get taxonomy terms in webform.

What are you suggestion. Trying to get this working on 1.0 or waiting on this support by Webform 2?
Will webform support taxonomy terms IN the webform, so users can select the terms in their email?

Thanks in advance for maintaining this great module!

Hi, Sorry for the latest sentence. I mean of course..so users can select the terms in the webform and that the selection of this is shown in the email they got!.

Good luck and happy to know about decision tree - perfect job!!

hey Nate, this is awesome! The plans sound great. We're about to work on a project where we'll use the webform, and on Drupal 5. What I wonder is whether the APIs are stable to use 2.0, or whether the 2.0 for 5 will include the cck switch, which has not happened yet? So, we may want to override a few things and do some custom handling, which is why the reworking in 2.0 could come in handy, but what I'm wondering is if its stable enough to actually use for a project? It would be ideal to use 2.0 and submit any bugs/patches back on it, but if big changes will need to happen and updates will not be handled, this could become a problem. Thanks for any more info about the current status.


Thanks for the update Nate, good information to know. We worked with 2.x this week and it's pretty great. We haven't run into any issues so far.

It would be wonderful if there could be pre-populated custom components... For example, an "address box" which included all the elements of an address block (city, state, zip, country)... Or, even just having state and country - thus reducing the amount of time having to manually enter those in.

Great to hear this news Nate. I've been championing enhancements to webform for a long time. I would really like to see improvements to the database storage aspects in 2.x mainly related to the ability of storing data into separate tables for each survey generated - very similar to new CCK content types. The reason I ask this is because on a heavy site with thousands of webforms and many tens of thousands of submissions for each webform would leave you with a dead db server. I started an early effort at resolving this but didn't get too far. I am more than happy to pick this up again if you will consider it worthy to add?

Nate, good information to know. We worked with 2.x this week and it's pretty great. We haven't run into any issues so far.

Another way of simply doing template customizations is by using the Panels module or by using the tpls or a custom module that handles the template hooks directly.
real soft

Add new comment

Commenting on this Article is closed.