When you upgrade from Sitecore 7.2 to Sitecore 7.5 you will also need to upgrade web forms for marketers (WFFM). In today’s guide, I’m going to go over the upgrade process and write about any potential issues you might encounter.
Let’s Get Started
The first thing you will need are the files required to upgrade, Web Forms for Marketers 2.5 rev. 141014.update and wffm.ctool.plugin.zip, available from here. When you upgrade Sitecore 7.2 to 7.5 you will need to upgrade WFFM from version 2.4 to 2.5.
Before talking about the upgrade process I think it’s useful to explain the things that went wrong for me so you check your solution for the same things to try to ensure your upgrade works more smoothly. When I initially tried the upgrade I got this error:
System.ArgumentNullException: Value cannot be null.
Parameter name: item
at Sitecore.Update.Installer.Items.CustomActionInstaller.Process(IProcessingContext entry, IProcessingContext context)
After talking to Sitecore support, they asked me if I had these items in my solution:
- /sitecore/system/Modules/Web Forms for Marketers/Settings/Actions/Save Actions/Save to Database
- /sitecore/content/Applications/Modules/Web Forms for Marketers/Form Reports/Ribbon/Home/Operations
- /sitecore/content/Applications/Modules/Web Forms for Marketers/Form Reports/Ribbon/Home/Fields
- /sitecore/content/Applications/Modules/Web Forms for Marketers/Form Reports/Menues
If you are missing any of these items from your solution, then the upgrade will fail as the wizard tries to delete these items and throws this exception if it can not find them.
To fix the issue I had to create blank items for the missing items and re-run the upgrade wizard.
The Upgrade Wizard
To install the update you will need to use the upgrade wizard,
With the upgrade wizard loaded, you will now need to install the upgrade.
Select ‘Marketers 2.5 rev. 141014.update’ from your machine and click through to install.
Click ‘Analyze and install the package’
Click ‘Installation Results’
If everything goes correctly you should see a successful completion message. Expect to see a few collisions as mentioned in Sitecore documentation.
The files you need are now included in your solution. After installing the update you need to do the following re-building rigmarole:
Update the Database
After installing the update, you should now be able to see a folder within your webroot called ‘Data’ with a file called ‘WFFM_Analytic.sql’ in it.
You can also find the WFFM_Analytics.sql script is inside the .update package. If you change the extension of the update, from .update package to .zip you can unzip all the files. You need to run the scripts against the new reporting database you would have created in, How To Upgrade Sitecore 7.2 To Sitecore 7.5.
Run WFFM.StoredProcesdure.AddFormStatisticsByContact.sql against the secondary reporting database.
Like most Sitecore upgrades you will also need to do a number of config changes. Into your ‘Sitecore.Analytics.Processing.Aggregation.config’ file, found in ‘App_Config’ -> ‘Include’.
<!-- Facts -->
If you search for this comment
<SqlMappingEntity type="Sitecore.Analytics.Aggregation.SqlMappingEntity, Sitecore.Analytics.Sql"> <Table>Fact_FormStatisticsByContact</Table> <Routine>Add_FormStatisticsByContact</Routine> </SqlMappingEntity>
Then add in this config section snippet directly under the FACT comment.
In your web.config add the following in the ‘configuration’ -> ‘system.webServer’ -> ‘handlers’ section.
<add name="CaptchaImage" verb="*" path="CaptchaImage.axd" type="Sitecore.Form.Core.Pipeline.RequestProcessor.CaptchaResolver, Sitecore.Forms.Core" /> <add name="CaptchaAudio" verb="*" path="CaptchaAudio.axd" type="Sitecore.Form.Core.Pipeline.RequestProcessor.CaptchaResolver, Sitecore.Forms.Core" />
Perform a smart publish on the whole site to make sure everything is up to date:
In Sitecore desktop, select ‘Publish’
Select ‘Smart Publish’ then select ‘Publish’. If everything worked as expected you should now be fully upgraded.