CD不应该知道Master,因为CD有Web数据库。但在WFFM中,我们有时需要批准某些内容(例如:公共网站上的公开评论)。此批准应授予Master以供内容发布者批准。
之前(8.0之前)我们有remoteWfmService connectionstring。但现在(使用8.2.3)我们有事件队列。那么事件队列如何了解Master DB呢?我的答案和困惑如下。
答案 0 :(得分:2)
正如您已经提到的,WFFM使用了事件队列。
在内容交付服务器无法访问主数据库的扩展环境中。您需要将表单字段值传输到CMS服务器以处理CMS服务器上的远程保存操作。由于Sitecore Web Forms for Marketers 8.0 rev.150224(Update-2)使用Sitecore EventQueue,在旧版本中使用" remoteWfmService"使用网络服务。
它是关于Sitecore Core数据库的EventQueue SQL数据库表。
CM使用与CD相同的核心数据库非常重要。或者至少同步EventQueue表。您可以轻松识别EventType上的WFFM记录。
对于Sitecore 8.1,我找不到轻松自定义事件队列机制的方法。我认为8.2
相同有关数据提交流程的更多详细信息,另请参阅:http://sitecore.stockpick.nl/english/wffm-and-secure-fields/。
答案 1 :(得分:0)
以上都不需要我。 在CD中,Sitecore.Forms.Config
<setting name="WFM.SharedDatabase" value="web" />
<setting name="WFM.MasterDatabase" value="web"/>
ScalabilitySettings.config显然没有用于此(我的保持禁用状态)
这导致我的条目到达主DB(来自CD)。但我仍然不确定它是如何到达那里的。或者如果没有提供“主”连接字符串,主人如何联系?!另外一个奇怪的事情是'web'不是上面设置中提供的共享数据库。 'core'是默认值,但在我的情况下,甚至没有在CMS和CD之间共享核心。 CD和CD上单独的Core + Web; CMS上的Core + Master。