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