在Sitecore中,您基本上有三个数据库。 Core
,Master
和Web
数据库。
简单地说,Core
数据库包含所有Sitecore设置。 Master
数据库是创作数据库。所以它包含任何内容的所有版本。
然后在Sitecore中,您可以“发布”内容,并将每个内容的最新版本发布到Web
数据库。
假设我有一个有新闻页面的网站。并且用户能够从网站编辑新闻项目(因此不能通过CMS编辑)。数据库在设置时会如何更新?
它可能会更新Web
数据库,但是当我进入CMS时,我没有看到最新的更改,因为CMS从Master
数据库读取,对吗?
这是否意味着它应该写两次?一次到Web
数据库,一次到Master
数据库?
任何人都可以告诉我它在Sitecore等中是如何工作的吗?
我想知道这个的原因是因为我正在考虑创建一个类似的数据库设置。我只是不确定如何解决这个问题。
答案 0 :(得分:1)
当您有需要由网站访问者更新的项目时,您需要使用SitecoreService SOAP Web服务或创建您自己的在Master-instance上运行的自定义Web服务,并在更新后触发发布。
答案 1 :(得分:1)
嗯,Sitecore有一个发布步骤。当用户在Sitecore中发布时,它会在该点更新Web数据库。如果你想构建一个类似的系统,我只需要在Master数据库中存储项目的所有版本,并且只有当用户选择发布时,才能将最新版本复制到Web数据库。
答案 2 :(得分:0)
如果您的网站 - 产生很多评论 - 不断生成评论 - 使用多个内容传送服务器 - 要求CMS用户管理
我不会将评论存储为内容项。 原因是HTML缓存和发布行为。
在高容量网站上,您肯定会使用html缓存来获得最佳性能。如果需要发布以显示注释,则需要频繁发布操作,因此经常清除html缓存。 你不要那样: - )
DMS实施后的建模是最安全的(不是最便宜的,Datatables不是我现在推荐的东西),将内容存储在一个单独的数据库中,可能使用排队来防止在事情变得繁忙时出现重载。