Sitecore генерирует исключение узла базы данных в среде CD
WFFM прекрасно работает в среде CM.
В среде CD я распаковал содержимое внутри Web Forms for Marketers CD 8.2 rev. 161129.zip
в моем Website
папка. После, я:
- На всех серверах CD, в
\Website\App_Config\Include\Sitecore.Forms.Config
файл, удалите или отключите следующие разделы.<hook type="Sitecore.Form.Core.WffmActionHook, Sitecore.Forms.Core"/>
- Удалил
<event name="wffm:action:remote">
раздел также. - я добавил
<setting name="WFM.IsRemoteActions" value="true" />
а также<setting name="WFM.IsRemoteActions" value="true" />
,
В моем connectionstrings.config
, нет имени подключения для master
, Мы решили удалить все ссылки на master
в среде CD.
В файле 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)
После этого поста я усек links
таблицу в базе данных Core, и восстановите ее снова. Тем не менее, не повезло!
Что я делаю неправильно?
2 ответа
Обратившись туда-сюда с поддержкой Sitecore, они отметили, что эта проблема связана не с WFFM, а с определениями целей, которые не могут быть загружены.
Ответ от Sitecore
Проблема, связанная с тем, что в конфигурации SwitchMasterToWeb ссылка на основную базу данных на узле остается в узле, была зарегистрирована как ошибка в нашей системе отслеживания ошибок. Чтобы отслеживать будущий статус этого сообщения об ошибке, используйте номер ссылки 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>
Нажмите /admin/showconfig.aspx или используйте SIM-карту, чтобы создать XML-файл конфигурации, и найдите "master". Вы не должны иметь никаких. Где бы это ни было, проверьте источник патча и напишите патч для этого файла. Может быть, положить его в Switchtomaster.config.