dear community,
After I upgraded to 3.4 webform components are not visible anymore, although I can view them at node/nid/webform as administrator. I changed nothing in permissions. Also the same happens with version 3.3

Drupal core installed version: 6.19

Thank for your time and your help
for the moment reverting back to 3.2 version

Comments

quicksketch’s picture

Status: Active » Postponed (maintainer needs more info)

I can't reproduce this problem. There aren't any database changes between 3.2 and 3.4, and changes overall have been rather minimal between these versions. If you can try upgrading again that would be appreciated; my best guess is that the upgrade wasn't completed correctly.

bkosborne’s picture

I had this issue after removing version 2.10 (and uninstalling) and then installing 3.4. I fixed it by running update.php, which I doubt did anything - but I think that flushed the caches. So it's probably flushing the cache that fixed it.

aerodub’s picture

thank you quicksketch for your direct response

problem seems to be resolved.

aerodub’s picture

Status: Postponed (maintainer needs more info) » Closed (fixed)
boazr’s picture

Status: Closed (fixed) » Active

Same thing.
Reupdating did not work. Unistalling and installing is not relevant as we have data in submissions.
Reverted back to 3.2, which seem to have solved the problem. Please try and make it backward compatible as possible in the future.
Because panicking on every webform update is not something I enjoy.

quicksketch’s picture

Status: Active » Postponed (maintainer needs more info)

boazr: As far as I know 3.4 and 3.2 shouldn't cause any API breakage that would cause components to disappear. I'll need more information to debug this problem, as I haven't had any trouble upgrading between these two versions.

boazr’s picture

PHP Version 5.2.9(+suhosin +eaccelerator)
FreeBSD 7.2 i386
Drupal 6.19
installed modules: http://pastebin.com/gyNxCPWf
It did not affect all webforms. The webforms that had the components disappear had data submitted.
I did not detect any error log activity.

Any more info that will help, or anything I can help with?

mdorman’s picture

Hi,

I had the same problem when upgrading from 3.2 to 3.4. After seeing no resolution here, I rolled back to 3.2 then updated to 3.3. Everything was fine, so I upgraded back up to 3.4 and now everything is fine. There might be something wrong with the upgrade path from 3.2->3.4.

Hope this helps someone.

quicksketch’s picture

There aren't any database updates between 3.2 and 3.4, so I have absolutely no idea why upgrading one version at a time would make any difference. It shouldn't make any difference if you upgrade to 3.3 in the middle or not.

inetcom’s picture

Component: User interface » Code
Priority: Normal » Critical
Status: Postponed (maintainer needs more info) » Active

I have filed a new issue: http://drupal.org/node/1030964 since there were no more answers to this one here. The problem can be reproduced easily and to my regret affects many of my sites, emptying the caches is of no help, deinstalling ctools (as one suggested) neither.

  1. Install Drupal (current 6.20 is o.k.)
  2. Install Webform 3.2.
  3. Create a Webform with one or more components
  4. Fill out the created form
  5. Check if the submission is stored.
  6. Update Webform to 3.3 (or 3.6).
  7. Call update.php
  8. Revisit the created form: you will not find any component or submission listed.
  9. Reinstall Webform 3.2: you'll find the components

It even gets worse if you try to add a component to a form with vanished components (from 3.2). You will have duplicated entries in the database.

quicksketch’s picture

Title: webform components not visible after upgrading from 3.2 » Webform components not visible after upgrading from 3.2
Version: 6.x-3.4 » 6.x-3.6

I tried reproducing the problem but everything worked perfectly for me. I should note that after replacing the 3.2 code with 3.6, the form did appear to "lose" the form but it displayed the "Submissions for this form are currently closed" message (since the new "status" column needed to be added to the database). After running update.php the form came back as expected. The components and submissions never disappeared entirely.

This was running the "standard" Drupal set up, fresh install on Drupal 6.20, mySQL 5.1, PHP 5.2. So even more unfortunate than your report, this does not seem to be easily reproducible.

inetcom’s picture

Strange you can not reproduce the problem. It affects many sites here. I'll dig deeper into it the next days. I will set up a new installation and try again to reproduce it. Thanks for your efforts and quick answer!

smokeee’s picture

Hi all, I’d like to pitch in on this one – but not with a possible solution, alas. Just an echo of the problem (for version 6.x-3.6).

I haven’t used this module before, but, on the box at least, it appears infinitely more sophisticated than the restrictive “contact form” module. Hence I’d like to take it for a spin. But I can’t.

I installed it on a current project (Drupal 6.19) and I checked all the webform settings; everything appeared to be in order. But when creating a “webform” content type, none of the webform options appeared, as detailed in the countless tutorials on the subject that I’ve been watching/reading. I just recieved the standard: Title, Body, Input Format, Revision Information, etc.

I upgraded to Drupal 6.20. Still no luck. So I installed webform on a fresh version of Drupal 6.20 – still nothing.

Anyway, it’s not a total show-stopper for me, but it does appear to be causing some big-ish issues on other sites. Thanks for the time put into it anyway; I'd like to give it a shot when it's back up-and-running, though I know it’s not easy maintaining these things for free...

quicksketch’s picture

But when creating a “webform” content type, none of the webform options appeared, as detailed in the countless tutorials on the subject that I’ve been watching/reading.

See #1029804: I dont see any webform options on the Webform create content screen.. You need to save the node and click on the "Webform" tab. Most documentation and screencasts were made against the 2.x version of the module.

smokeee’s picture

Good stuff: that does the trick – but only in Garland, it seems. There could be a few theme-related quirks involved, as I’m using the “Basic” theme and initial saves of a webform node didn’t produce the tab you’re referring to or any of the webform's associated fields. They’d all just vanished, even when editing the webform node. Switching the webform node’s editing screen to display as Garland with the “administration theme” module solved the problem and the tabs and fields returned...

Anyway, there may be something of use in that info – if not, not. Thanks for the help, anyhow, much appreciated, cheers.

quicksketch’s picture

Status: Active » Postponed (maintainer needs more info)

Moving this to postponed, since I can't reproduce the problem.

inetcom’s picture

Status: Postponed (maintainer needs more info) » Active

Here are the results of a new test. The system is CentOS 5.4 with PHP 5.2.11 and mysql 5.1.41, a fresh Drupal 6.20 installation and as only external module webform. It might has to do with the "Status of this form", please see below. See http://test.inetcom.ch/ for the results of this test. You will see just a 'submit' button but no field to enter data. It will say: "Name field is required." but the name field is not visible.
I can give admin access to the site for a short while if wished, just let me know.

  1. Installed Drupal 6.20, webform 3.0
  2. Created a webform (1) node with just one field. The form component is visible.
  3. Updated webform to 3.6. Updated the db. Checked the webform node. It says "Submissions for this form are currently closed"
  4. Changed status to "open".
  5. Viewed the webform, but cannot see the form component in the regular view. It is there under the tab "form components" though.
  6. Created a new webform (2) again with just one field. The form component is not visible in the regular view but under the tab "form components".
  7. Tried to change the status of (2) to closed. This does not work. It stays "open".

There is also an error message from Drupal when viewing the results (without any submission done):

# warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'theme_webform_results_submissions' was given in .../includes/theme.inc on line 656.
# warning: Missing argument 2 for theme_table() in .../includes/theme.inc on line 1346.
# warning: htmlspecialchars() expects parameter 1 to be string, array given in .../includes/bootstrap.inc on line 857.
(The last message is repeated 5 times)

btw: The same problem with the disappearing form component is also happening if upgrading from 3.4 to 3.6.

I hope this will help to find out what happened. Many thanks for having a look!

quicksketch’s picture

Could you check in your database and see if the "webform" table has the "status" column? My guess is that the update isn't able to add this column for some reason. Does the database account you use to connect to MySQL have permissions to add and drop columns?

inetcom’s picture

Important: I forgot to empty the not used (not turned on) cache of drupal. After clearing it, the components showed up. Sorry, I should have known it: empty the caches no matter if you think it is not turned on.

Still I have the problems with the other sites. I know understand why you can't reproduce the problem. I wonder how I can find a solution for the others sites now. I appreciate your helpfulness so far. Thank you. For you that means the issue is closed regarding webform. But not for me. It might have something to do with multilingual sites which most of mine are (German and French, at least German setup for the users interface to Drupal). I'll take care but I have to find the time to do it.

btw: The table of the db showed block and status after the update to 3.6. table alter permissions were granted.

(This posting was edited, rewritten several times)

inetcom’s picture

quicksketch’s picture

Category: bug » support
Priority: Critical » Normal
Status: Active » Fixed

Great, glad we figured this out. Note that running update.php should already clear your caches for you, so it's a bit mysterious why you needed to clear the caches again. But you are correct that Drupal does a lot of caching regardless of whether the "Page cache" is turned on or not.

bomarmonk’s picture

Same issue for my site with upgrade to latest Webform 6.x-3.6. I flushed the caches, ran a database update, disabled and reenabled the module, and then rebooted the server (since I'm using the APAC Cache). I also saved the webforms after upgrading, but they still do not appear.

bomarmonk’s picture

Odd: the update for the status column wasn't recognized until I backported to 6.x-3.2 and ran update.php again. Then I ran through all the successive versions and then finally 6.x-3.6. Now all is fine. This could be related to APC cache and a conflict with the update module... not sure.

Status: Fixed » Closed (fixed)

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

andrewtf’s picture

Status: Closed (fixed) » Active

I've just encountered this problem trying to upgrade Webform. I've tried all the tricks described in this thread, but to no avail, including the step-by-step upgrade suggested in #23. Trying to upgrade anything past 3.2 results in the webform components and results disappearing on all webforms on the site. Downgrading back to 3.2 makes them magically appear again.

Actually, I noticed that merely replacing the newer module files with version 6.x-3.2 even without running update.php fixes the problem (or appears to). I'd love to be able to bring my site up to at least the latest version of webform with security fixes in place, but right now I'm stumped as to how to do this without exploding all my webforms.

quicksketch’s picture

Actually, I noticed that merely replacing the newer module files with version 6.x-3.2 even without running update.php fixes the problem (or appears to).

I'm afraid if you've upgraded your site, then downgraded it again (without restoring a database backup), you've permanently damaged your database into a state that Webform cannot upgrade you from. Every time you run an update, Drupal remembers which latest update was run. Now you've probably got several forms that were "upgraded" on your first attempt, but when you downgraded you're populating the new database structure with old data. Since Webform thinks updates have already run, replacing the module code with newer versions won't be able to update all submissions/data made since the first attempt. At this point you don't have any way to "fix" your data other than manually trying to reconcile the database structure of the latest version of Webform with whatever you have in your database. You can try using the http://drupal.org/project/schema module to help reconcile the differences after upgrading to the latest version, but there's no official way to rectify a partially upgraded database.

mvpfi’s picture

andrewtf’s picture

Probably not a smart move on my part, I admit, but fortunately it occurred in a development environment, so no actual websites were harmed during the experiment. ;)

Right now on production, Webform's been updated to the latest version via update.php, but it's using the 6.x-3.2 files, since that's the only way I seem to be able to make the forms reappear. My only other option at this point is to uninstall then reinstall the module and re-build all the forms, but I don't really want to do that right now.

quicksketch’s picture

Status: Active » Closed (fixed)

Closing after lack of activity.