【问题标题】:How much do you let Sitecore (or other CMSs) manage?您让 Sitecore(或其他 CMS)管理多少?
【发布时间】:2011-05-01 09:03:12
【问题描述】:

我一直想知道您通常应该允许 CMS 管理多少内容,尤其是对用户生成内容的引用。我特别想的是 Sitecore,因为我有一个即将用它编写的项目,但这实际上适用于任何 CMS。

假设您有一个典型的电子商务网站,有待售产品,用户可以对这些产品发表评论,也可以购买在网站内创建订单的产品。

我在查看 Sitecore 文档和在网上四处逛逛时,感觉您可以使用 Sitecore 来管理每个内容。即,每个产品在 Sitecore 中都是它自己的项目,但是每次用户提交评论时,它都会在该产品下创建一个评论项目。当用户进行购买时,它会在内容树中创建一个 Order 项目。

对我来说,这听起来很可怕。我只是以为您会使用 CMS 来获取编辑驱动的内容。如果必须的话,我可以理解将产品作为项目,但我会将其他所有内容放入一个单独的 RDb 中,该 RDb 通过产品 ID 与 Sitecore 相关联。虽然工作量更大,但如果将所有内容都放在 Sitecore 中,您肯定会遇到巨大的性能问题吗?

另一方面,如果它们都放置在您的 CMS 中,您就不必拥有额外的数据层,并且您可以充分利用 CMS 的内置缓存。让您的编辑批准/不批准评论会容易得多,因为他们可以通过 Sitecore 管理员管理所有内容,而无需您为其创建自定义页面。

您是否曾在始终采用一种方式的网站上工作,或者您是否尝试过两种方式?您找到他们的成功程度如何?

【问题讨论】:

  • 我想这可能只是您的网站有多大的问题。如果是 500 种产品、一些评论等,那么 CMS 中的所有内容都可以。也许我对 CMS 的效率有些偏执,其中许多旨在处理更多的问题。

标签: asp.net database-design architecture content-management-system sitecore


【解决方案1】:

我没有专门使用过 sitecore,但我的回答是基于 umbraco 和 EpiServer 的经验。

我都试过了,基本上,这取决于。如果您需要大量查询这些数据 - 它应该进入自定义数据库,因为大多数 CMS 背后的数据库是抽象的,并且像标准数据库一样难以查询。您会发现自己编写了大量样板代码来解决诸如松散类型、空值等限制。这是由于 CMS 的文档类型/页面是由用户定义的方式,即自定义属性。但是,沿着这条路走下去,您现在必须为此自定义数据构建一个管理工具,该工具可能无法集成到您的 CMS 后端。所以你必须在这里权衡选择。

某些 CMS 产品(如 EpiServer)将允许您使用提供者模型在其中管理自定义数据源,以呈现关系或其他数据(XML、Web 服务调用),就好像它们是 CMS 中的页面一样。

这些是您的基本考虑因素,您可以根据自己的具体项目选择合适的。

【讨论】:

    【解决方案2】:

    我使用过 Sitecore CMS 并使用 Sitecore Ecommerce Fundamentals 完成了一些工作。如果您要使用 Sitecore 构建电子商务网站,则需要使用电子商务基础知识作为其在 Sitecore 上的预构建电子商务结构。产品、价格、交付选项、付款在 Sitecore 内容树中完成。如果您想添加客户评论,您可以扩展 Sitecore 模板来处理此问题,或者您可以连接一个您提到的外部数据库并通过其 Sitecore GUID 链接它们。您可以在 Sitecore 中进行任意数量的管理,因此只需了解您网站的容量以及您对所管理内容的期望。您将拥有几种产品还是数百种产品?您期望获得多少评论?几吨还是几吨? Sitecore 有一个已知的性能问题,即当一个项目下有超过 100 个直系子级时(想想一个产品下的评论项目),Sitecore 对该项目的执行效率较低。我建议您将您网站的详细信息提交给SDN forum,并从那里获得 Sitecore 认证开发人员的直接反馈。

    【讨论】:

    • 感谢您提供的信息,非常有帮助,我会咨询论坛。您是否使用过电子商务基础知识的网站?我不确定它是已经上线还是只是技术预览,而且 Sitecore 网站并不是最容易找到销售详细信息的网站。
    • 你是对的,它在技术预览中。您可以向 Sitecore 询问有关在生产站点中使用它的可用性的更多详细信息。在您构建网站时,它可能会在技术预览之外发布。
    【解决方案3】:

    我合作过的网站通常使用混合。

    即。对于商业网站,我可能会在 Sitecore 中拥有所有产品、类别等。但是随后将诸如 cmets、评级、评论等内容作为与项目相关联的单独数据库的一部分。通常这在您拥有大量数据时是有意义的,这会使 Sitecore 中的内容树太大而无法正常使用(即,您必须创建代码,以自动将其划分为子文件夹或其他技巧)。

    我发现 Sitecore 数据结构的最大问题是,它有时可能过于绑定到它所在的树结构。有些数据不适合树结构。如果发生这种情况,我会考虑使用 Sitecore 以外的其他东西来构建和存储它。

    如果结构开始变得过于复杂或不合逻辑而无法使用它,则可能表明应该使用其他东西。

    但话虽如此,Sitecore 在某些数据结构方面表现出色。就像网页的典型内容一样,结构为 pages 和 sn-ps。 IE。项目,不是放置在正常的网站结构中,而是放置在其他地方并由正常页面引用。就像有一些常见的“内容框”可以在多个页面上使用,但需要由内容作者选择,使用这些外部项目可能是一个很好的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多