Silverstripe ::多个sitetree

时间:2015-09-22 02:02:57

标签: silverstripe

我们正在重新构建我们的网站。我们有很多页面(很多)跨越5个级别。我们的新UX设计师正试图解决这个问题。作为其中的一部分,她提议进行此页面/内容重组(此重组将至少需要6周时间)。该组织无法将网站冻结6周。所以我的问题是

  1. 是否有任何简化的方法来修改网站结构而不影响生产网站...如何处理此
  2. 我们可以创建一个现有的sitetree副本(即有多个sitetree,一个是活动的,一个是草稿状态)并在那里进行更改吗?一旦我们准备好了,我们可以切换吗? (只是一个想法)
  3. 想法
  4. 干杯 RD

2 个答案:

答案 0 :(得分:1)

1)将"重组的过程"涉及编码工作?为什么不将数据库和代码复制到另一个主机实例(比如staging.yourdomain.com)并在那里进行增强? (任何更改都不会影响当前网站。)

实际上,在大多数开发环境中,通常至少有两个版本的站点在运行,其中一个版本用于测试/暂存站点和 在上线之前,客户已批准更改。

创建许多未使用的页面或在其上播放不是一个好习惯 生产现场。

2)您想在生产实例上拥有两个Site Tree副本吗?好吧,您可以使用silverstripe-copybutton模块进行排序,它将生成页面的精确副本。

但这不是一件好事。稍后您将需要删除很多内容,并且您的数据库可能会增长,因为Site Tree是一个版本化对象,它将记住以前的修订版本。此外,如果还需要一些编码工作,您无法在生产网站上真正执行此操作,因为它会影响访问者可见的页面。

但是,如果更改仅与页面内容相关,并且您无法拥有该网站的单独实例,则可以使用复制模块复制页面并对复制的版本进行更改,然后用新的替换旧的。

这不是推荐的方式,你必须非常小心。如果你硬删除任何依赖项,如一个页面使用的另一个对象或图像,它也将从原始版本中删除,因为目标对象不再存在。

3)见上文

答案 1 :(得分:1)

1)在SilverStripe中移动页面并不影响生产网站,假设您的意思是" live"网站,当你这样说。

2)当您在SilverStripe中移动页面时,它被视为"草稿"改变并且不会对" live"生效网站直到批准和发布。因此,SilverStripe基本上已经按照您希望/需要的方式工作,因为" live"和"草案" SilverStripe中的州已经像2个不同的情节。还有一些其他的事情需要考虑。如果您还需要/想要在此过程中更改内容,则在保存和发布内容更改时,页面重组将生效。如果您进行完整的重组,您可以通过批量操作使所有内容生效。

3)SilverStripe Australia构建了外部内容模块和后续连接器,用于集成和内容迁移。 SilverStripe连接SilverStripe连接器,可以将另一个实例连接到当前系统,并在新系统的管理界面中显示它的sitetree。然后,您可以选择性地将站点移动到新系统中的新结构中。

https://github.com/silverstripe-australia/silverstripe-connector