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)
- 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.