Project:Webform
Version:7.x-3.x-dev
Component:Code
Category:task
Priority:normal
Assigned:Unassigned
Status:closed (fixed)

Issue Summary

Since we haven't had this issue opened yet, I'll go ahead and start it here. I'm currently working on the Drupal 7 port of Webform, but it's a big, big task. I'll post status updates here as I make progress. So far I've simply branched HEAD for use as the 7.x branch, Drupal 6 3.x is now in the DRUPAL-6--3 branch.

Comments

#1

#2

Subscribe! Can't believe there wasn't an issue for this already.
It's a big Job alright Nate, depending on how much of the Field API you intend you use.
And there is the thorny issue of how to store the data.

Is there an overall plan.
eg
7.x.3 - Just get it ported and working
7.x.4 - Start using the new APIs in D7?

Will hopefully be able to test.

Alan

#3

Webform will probably never use FieldAPI, considering it's silly storage of data (every field gets it's own table). See #118984: Field API based rewrite of webform module for my thoughts on that.

But generally yeah 3.x is a straight port. We'll probably won't begin on 4.x until Drupal 7 is clearly the dominant version of Drupal and we can discontinue support for Drupal 6.

Here's my initial port, it's actually *almost* working. The following things work so far:

  • Creating a new Webform
  • Adding components (all components should be working except for file as far as I know)
  • Changing Webform settings
  • Submitting a form and viewing the results
  • Analysis and Table listings

Things specifically NOT working:

  • Configuring e-mail settings
  • Configuring any form settings
  • File components
  • CSV downloads

But it's a very good start. After the initial learning curve the port is going quickly and I expect we should be able to get the full version working within a week or two.

AttachmentSize
webform7.patch 159.9 KB

#4

I've also committed this small round of changes to the Drupal 6 branch, it's just a set of changes for consistency with the Drupal 7 version.

AttachmentSize
webform7_backports.patch 10.48 KB

#5

Please note that 'silly storage' is only the default store. There are other ways.

#6

Another round of fixes, including #737834: Files are not deleted from file components which I found while working on the port.

I also found a few bugs in Drupal core which will affect Webform operating properly:
#737792: Use a "title callback" for node/%node instead of drupal_set_title()
#669510: Merge administration theme with hook_admin_paths()

I would not recommend attempting to use Webform in production without these patches, though they are mostly cosmetic problems.

This set of improvements gets the following working:

  • Configuring e-mail settings
  • Configuring any form settings
  • File components

Things specifically NOT working:

  • CSV Downloads

So looking pretty good. Also attached and committed are another round of backports for consistency between versions.

AttachmentSize
webform_file_backports.patch 2 KB
webform7_round2.patch 21.93 KB

#7

Surprisingly, CSV downloads required hardly any changes at all. I thought it would have been worse considering the stream-wrapper conversion, but it turned out to be rather trivial. This patch gets downloads working and updates our docs to include Drupal 7 database calls instead of using db_query(). Another small set of backports to Drupal 6. Both patches committed.

I'm actually feeling pretty good about our Drupal 7 port. Though we still have the upgrade path to contend with...

AttachmentSize
webform_docs_backport.patch 1.61 KB
webform7_round3.patch 4.46 KB

#8

Status:active» fixed

For the time being I've removed the 2.x to 3.x upgrade in the Drupal 7 version of the module. If upgrading from Drupal 6 to Drupal 7, you'll need to update to the 3.x version of the module in Drupal 6 first. However considering it's still currently impossible to upgrade a Drupal 6 site to Drupal 7 (core itself doesn't upgrade yet), I don't imagine this will cause much of a fuss.

This gets us to a point where we can make a release. However please note the following core patches may still be needed to work correctly with the Drupal 7 overlay.

#737792: Use a "title callback" for node/%node instead of drupal_set_title()
#669510: Merge administration theme with hook_admin_paths()

AttachmentSize
webform_remove_updates7.patch 11.7 KB

#9

Status:fixed» closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.