1

WFFM 在 CM 环境中运行良好。

在 CD 环境中,我解压了Web Forms for Marketers CD 8.2 rev. 161129.zip文件Website夹中的内容。我然后:

  1. 在所有 CD 服务器上的\Website\App_Config\Include\Sitecore.Forms.Config文件中,删除或禁用以下部分。<hook type="Sitecore.Form.Core.WffmActionHook, Sitecore.Forms.Core"/>
  2. 也删除了该<event name="wffm:action:remote">部分。
  3. 我添加了<setting name="WFM.IsRemoteActions" value="true" /><setting name="WFM.IsRemoteActions" value="true" />

在我的connectionstrings.config中,没有master. 我们决定删除masterCD 环境中的所有引用。

在 showconfig 文件中,我看到<setting name="WFM.MasterDatabase" value="web" patch:source="Sitecore.Forms.config" />.

我将整个网站从 CM 发布到 CD。当我在 CD 环境中查看页面时,我得到以下异常:

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)

在这篇文章之后,我截断了linksCore 数据库中的表,并再次对其进行了重建。尽管如此,还是没有运气!

我究竟做错了什么?

4

2 回答 2

3

在与 Sitecore Support 反复讨论后,他们注意到此问题与 WFFM 无关,而是与无法加载的目标定义有关。

Sitecore 的回应

SwitchMasterToWeb 配置在节点中留下对 Master 数据库的引用的问题已在我们的错误跟踪系统中注册为错误。要跟踪此错误报告的未来状态,请使用参考号 98770

重要的

确保仅在 CD 环境中进行以下更改。

打开\App_Config\Include\Sitecore.Marketing.config,并更改以下内容:从<itemRepositoriesDatabase>master</itemRepositoriesDatabase><itemRepositoriesDatabase>web</itemRepositoriesDatabase>

这样做,会导致Sitecore.ContentSearch.Exceptions.IndexNotFoundException异常。堆栈跟踪将包括:

Exception: Sitecore.ContentSearch.Exceptions.IndexNotFoundException
Message: Index sitecore_marketingdefinitions_master was not found
Source: Sitecore.ContentSearch
   at Sitecore.ContentSearch.ContentSearchManager.GetIndex(String name)
   at Sitecore.Marketing.Search.BaseDefinitionSearchProvider`2..ctor(String indexName)

根据这篇文章sitecore_marketingdefinitions_master索引不应该出现在 CD 上。要解决此问题,请打开\App_Config\Include\Sitecore.Marketing.Search.config并更改以下内容:从<searchIndexName>sitecore_marketingdefinitions_master</searchIndexName><searchIndexName>sitecore_marketingdefinitions_web</searchIndexName>

于 2017-10-10T15:32:30.427 回答
1

点击 /admin/showconfig.aspx 或使用 SIM 制作配置 xml 并查找“master”。你不应该有。无论它在哪里,检查补丁源并为该文件编写补丁。也许把它放在 Switchtomaster.config 中。

于 2017-10-06T19:57:35.673 回答