WFFM works great in the CM environment.
In the CD environment, I unpacked the content inside of Web Forms for Marketers CD 8.2 rev. 161129.zip in my Website folder. I then:
- On all the CD servers, in the
\Website\App_Config\Include\Sitecore.Forms.Configfile, remove or disable the following sections.<hook type="Sitecore.Form.Core.WffmActionHook, Sitecore.Forms.Core"/> - Removed the
<event name="wffm:action:remote">section as well. - I added
<setting name="WFM.IsRemoteActions" value="true" />and<setting name="WFM.IsRemoteActions" value="true" />.
In my connectionstrings.config, there is no connection name for master. We've decided to remove all references to master in the CD environment.
In the showconfig file, I see <setting name="WFM.MasterDatabase" value="web" patch:source="Sitecore.Forms.config" />.
I published the entire site from CM to CD. When I look at the page in the CD environment, I get the following exception:
Exception: System.InvalidOperationException
Message: Could not find configuration node: databases/database[@id='master']
Source: Sitecore.Kernel
at Sitecore.Diagnostics.Assert.IsTrue(Boolean condition, String format, Object[] args)
at Sitecore.Configuration.DefaultFactory.GetConfigNode(String xpath, Boolean assert)
at Sitecore.Configuration.DefaultFactory.CreateObject(String configPath, String[] parameters, Boolean assert)
at Sitecore.Configuration.DefaultFactory.GetDatabase(String name, Boolean assert)
at Sitecore.Configuration.DefaultFactory.GetDatabase(String name)
at Sitecore.Marketing.Definitions.Goals.Data.ItemDb.GoalDefinitionItemRepository..ctor(String databaseName, Boolean assumeActive, IDefinitionRecord
Mapper`1 mapper)
at Sitecore.Marketing.Definitions.Goals.Data.ItemDb.GoalDefinitionItemRepository..ctor(String databaseName, Boolean assumeActive)
Following this post, I truncated the links table in the Core database, and rebuilt it again. Still, no luck!
What am I doing wrong?
After going back and forth with Sitecore Support, they noted that this issue is not related to WFFM, but to the Goals definitions that cannot be loaded.
Response from Sitecore
Important
Open
\App_Config\Include\Sitecore.Marketing.config, and change the followings: from<itemRepositoriesDatabase>master</itemRepositoriesDatabase>to<itemRepositoriesDatabase>web</itemRepositoriesDatabase>Doing so, will cause a
Sitecore.ContentSearch.Exceptions.IndexNotFoundExceptionexception. Stack trace will include:According to this article,
sitecore_marketingdefinitions_masterindex should not be present on CD. To fix this issue, open\App_Config\Include\Sitecore.Marketing.Search.config, and change the following: from<searchIndexName>sitecore_marketingdefinitions_master</searchIndexName>to<searchIndexName>sitecore_marketingdefinitions_web</searchIndexName>