In this tutorial, you will learn how to upgrade Sitecore WFFM from v7.5 to v8. This post assumes you have upgraded your Sitecore website to v8 (read here for tips). After upgrading Sitecore, the next step is to upgrade any modules for your project. This means you will also have to update web forms for marketers to v8 as well. In this guide, you will learn about my experiences upgrading Web Forms For Marketer to version 8 and the issues I encountered on the way 🚢
Downloading And Installing The Update
The first thing you need to do is download the WFFM update. You can get this from the Sitecore download portal. To install the update, in your web browser, make sure you are logged into your Sitecore instance and go to this Url:
When the upgrade wizard starts, click Choose a package
:
From the 'Choose a package to install' page, select the update package option. Select the WFFM update file. Click 'View package information'. Click 'Analyze and install the package', by clicking 'Install'. If everything goes to plan and WFFM installs without a hitch then you should be good. Unfortunately, in my experience, WFFM usually throws a few curveballs into the mix when updating them. Assuming you have the same bad luck as me, let us look at what they are:
Errors Encountered
The first error I received when upgrading was this one:
The cause for this error will likely be due to one of three things:
Sitecore.Forms.Mvc.dll
was missing from the solutionsbin
folderSitecore.Forms.Mvc.dll
hasn't upgraded correctly and the assembly version is wrong. The mismatch in assemblies then causes an errorSitecore.Forms.config
wasn't copied correctly
For me, the Sitecore.Forms.config
hadn't been copied correctly. To check this yourself look in:
App.Config âž¡ Include
I realized I had forgotten to remove the .disabled
extension I had added to Sitecore.Forms.config
when I was upgrading Sitecore from v7.5 to v8.0. As I didn't have the correct config file my site wouldn't load, simples ....🤪I downloaded a copy of the WFF installation files, 'WFFM 8.0 rev.141217 (Update-1)'. Then in the files
section in
App.Config âž¡ Include
I copied the config files into my webroot. This solved one issue, however, the plug-in was still not working. The website in question was using SimpleInjector for the IoC container. For some reason upgrade wizard deleted the Simple Injector assemblies from my project, which resulted in this error:
Obviously, like a good boy, I made a backup copy of my project files before the upgrade. To fix the error I simply copied the assemblies from the backup into the upgraded site:
After doing all of this, I was able to get the upgrade process to run successfully. however, this is where I hit the proper difficulties... 😢
Fixing WFFM
Every time I seem to upgrade WFFM it seems to be the hardest part of the upgrade process. I'm not sure if it's me, or the sites I've worked on but getting WFFM to submit a form correctly is a pain. Form postbacks never seem to work. There was also no obvious Google answer to my issue. In fact, it took several weeks of Sitecore support help before the issue was fixed. Sitecore support helped me out quite a lot. To upgrade to WFFM successfully you need to have analytics enabled from 8 onwards. You could get away with it being disabled in 7.5, however, v8 breaks if you don't. After running the upgrade wizard successfully, when I tried to submit the contact us pages form. Doing this resulted in this error:
After logging a support ticket with Sitecore support, they told me that the issue was a bug. After a few weeks they provided me with this support assembly and these instructions:
Download the sitecore-support-428423 assembly and copy it to the bin folder
Modify the
\sitecore modules\Web\Web Forms for Marketers\Control\SitecoreSimpleFormAscx.ascx
file and replace this config:
With this config:
Doing this, resulted in my next error:
If I am honest, I was quite frustrated at this point. One month later on and I still did not have a working site. Next, I simply got all the analytics config files from a blank Sitecore 8 instance and copied them into my project:
Simply copying the config files over seemed to fix that issue. The site still did not work. The next error was this:
From past experience, I knew this error was due to a scheme issue. I had run the WFFM upgrade DB SQLsuccessfully, however, in haste I had pointed my reporting
database (configured in ConnectionStrings.config
in App.config
) to a Sitecore Analytics SQL database I had set up using a clean 8.0 instance. This caused this error:
This error was more reassuring. During the upgrade, the site SMTP details had been cleared from Sitecore save action item. To update the SMTP details, I opened the save item object located here in Sitecore:
System âž¡ Modules âž¡ Settings âž¡ Action âž¡ Save Actions âž¡ Send Email Message
In the Properties tab, I added my SMTP details:
After re-adding my SMTP details, I tried submitting the contact us form and it was submitted correctly! It worked. Over a month to upgrade a simple plug-in. I hope you found value in my tale. Good luck, upgrading WFFM as it can be harder than you think. Happy Coding 🤘