2012-11-19 161 views
2

我有一个客户端,拥有30多个独立运作的组织单位。目前,所有的OU都拥有由客户的IT部门管理的网站,分别处理不同的CMS产品。他们决定使用Sitecore,因为它的广告多站点功能。Sitecore多个站点实施

不幸的是,目前的(6.5/6.6),默认的实现不,原因如下工作:

  1. 需要为每一个地点的变更(添加/删除)更改web.config文件。
  2. 所有内容项必须位于“/ sitecore/content”节点下。我们希望在/sitecore之下创建多个节点,例如/sitecore/OU1,/sitecore/OU2等...
  3. 所有模板必须在/sitecore/Templates之下。我们希望在每个组织单位下创建“模板”文件夹,例如/sitecore/OU1/Templates,/sitecore/OU2/Templates等...
  4. 所有布局必须在/sitecore/Layouts/之下,并且也在相同的文件系统目录中。随着网站数量的增加,这肯定会变得麻烦。 /sitecore/OU1/Layouts//sitecore/OU2/Layouts绝对可取
  5. 我们需要隔离管理站点。每个网站管理员都需要登录并仅查看与其网站相关的内容/项目。因此,如果我们锁定/隐藏顶级OU节点,它可以更容易地维护。
  6. 我们还需要隔离文件系统,以便开发人员在web.config中出错时不会将所有30多个网站都关闭。

在最近的Sitecore研讨会上,Tim Ward presented on the different ways to implement multiple sites in Sitecore。不幸的是,没有办法知道他指的是哪个产品。我不在那里,但我的老板出席了。我试图联系Sitecore,但尚未收到回复。

我还联系了Sitecore,要求提供Sitecore Foundry是否意图满足这种需求的信息,但没有回应。

任何人都知道的方式来实现这样的多个网站Sitecore?

+0

你想跨网站使用什么?听起来你仍然想要完全独立的实例。 – Bryan

回答

2

不幸的是,蒂姆的多站点解决方案并不适合我们的情况。我们落得这样做是:

  1. /sitecore/content下创建多个多个容器(如jammykam建议)
  2. 创建对应于[1]
  3. 每个容器的多个IIS站点和应用程序池修改rootPath属性的website网站web.config(针对每个网站)。
  4. 修改权限以便用户可以访问其对应的容器。

我们仍然必须根据sitecore约定在/sitecore/Templatessitecore/layouts下创建模板。隔离是通过分离IIS站点和应用程序池以及权限来实现的。

5

听起来像Tim的多站点解决方案确实适合您。 这意味着需要隔离的大型多站点平台,并且需要适合为其开发的独立供应商。

Sitecore铸造厂不适合你,它意味着更小型的网站,并不提供任何形式的隔离。

蒂姆的解决方案,可以发现here at github(您可能已经从幻灯片GOT):

[email protected]您可以通过电子邮件他,他通常是相当快回复。

他还活跃在SDN forums上,假设你有权访问那个。

+0

谢谢!我们看了一下Github项目。不幸的是(当时),我们无法编译它,因为缺少引用 - 或者我们不知道我们在做什么。并感谢Foundry的小费! –

+0

缺少的引用是Sitecore DLL的。你可以在你的网站的bin文件夹中找到它们。我必须警告一点:这不是一件容易实现的事情,特别是因为没有文档。这不是一个开箱即用的Sitecore功能 –

+0

“Sitecore代工厂不适合你,它意味着更小型的网站”你的意思是它不适合大型网站吗?正如我认为网捷网站适用于任何规模的网站,可以在分布式环境中,您是否认为[MultipleSitesManager](http://trac.sitecore.net/MultipleSitesManager)与[Sitecore-Multisite-Manager](https)相似或相似://github.com/jerrong/Sitecore-Multisite-Manager)? –

2

我同意Ruud Tim的多站点解决方案可能会最好地满足您的需求,这是我将尽快找到的东西,我没有参加研讨会,但它看起来很有希望实现良好的分离。

  1. 是的,不幸的是,你需要在每个条目中添加一个条目。
  2. 您可以设置他们,以便他们/ Sitecore的/内容/ OU1,/ Sitecore的/内容/ OU2等
  3. 同样,你可以将它们设置为/ Sitecore的/模板/ OUCommon,/ Sitecore的/模板/ OU1,/ sitecore/templates/OU2
  4. 再次,您可以将它们放在子文件夹中,但是会像您说的那样变得杂乱。
  5. 你实际上已经可以实现这一点。打破权限继承,以便您的角色(特别是sitecore/Everyone)不具有对/ sitecore/content节点的读取访问权限,然后您的每个组都将具有读/写/删除访问权限,并继承每个单独的站点/媒体库。将用户添加到特定角色中,他们只会看到他们有权访问的树的部分。您还可以将其扩展到Workflow,以便只有具有权限的用户才能批准相应的项目。尽管发布变得棘手,但你可以设置Publishing.CheckSecurity = true,你只需要正确设置你的权限。 Security Access查看器非常擅长查看为不同角色设置的权限。但是与Tim的多站点解决方案相比,成为许多站点的管理员头痛问题。
  6. 是的,重新启动会导致它们全部重新启动!我还想看到日志文件的分离,以更好地调试不同的网站。