升级了大量的Joomla网站

时间:2012-03-02 16:32:56

标签: php joomla enterprise

Joomla 1.5将在短期内达到其使用寿命,许多网站正在升级到1.7或2.5版本。我们正试图弄清楚如何升级我们的网站。不幸的是,Joomla的开发人员做得很好,并没有在他们的需求列表中保持向后兼容性。

我们知道有很多资源描述如何从1.5版本将Joomla站点迁移到版本X.但在我们公司,我们有大约120个Joomla网站。由于必须对模板执行所有迁移步骤,我们使用的自定义编写代码和第三方模块将是一项很难迁移的工作。因此,我们正在研究使我们(升级)工作更容易的方法和技术。

我无法想象我们是唯一一个遇到此问题的人,所以我正在寻找有关大规模迁移这些网站的更多信息。我们不可能是唯一一个为此而奋斗的人。

为了提供一些细节,为了升级次要版本,我们使用了Vendor branches technique,它非常棒。简而言之,在我们的SVN存储库中,我们有一个包含当前Joomla版本的文件夹。在同一个存储库中,我们有一个包含我们自己的Joomla版本的文件夹,其中包含一些自定义代每个项目都基于该自定义版本。通过使用版本分支,我们可以轻松地将所有项目更新为最新的Joomla版本。

对于主要升级,此技术将不适用。例如,我们希望某些项目不会升级到新的Joomla版本以解决兼容性问题。

为2.5分支解决这个问题的方法可能是使用2.5版本的Joomla和我们自己定制的2.5版本创建两个新文件夹。然后,每个迁移的项目将分支2.5个自定义版本。迁移过程将是乏味的,并且肯定是手动钻孔。

我们担心我们必须为Joomla的每个主要版本执行此操作,因此这不是一个真正的解决方案。

我们正在考虑的解决方案是使用pharcomposer来创建项目。如果我们成功地创建了一个joomla phar作为库并将自定义开发放在另一个phar中,升级应该像替换phar一样简单。第三方模块也应放入phar存档中以便于更新。如果模块不支持这个,我们将自己进行调整。

当然我们知道Joomla有一个新的集成更新机制。我们正在研究这种机制,但怀疑我们可以使用它,因为我们有一些核心代码或模块功能的自定义补丁。

总结一下这篇文章,我们有两个挑战,我们很乐意得到一些反馈。

  1. 您如何将120多个网站升级到最新版本的Joomla
  2. 如果您有大量的Joomla网站需要维护,您如何管理Joomla更新

2 个答案:

答案 0 :(得分:2)

坏消息是,从Joomla 1.5到2.5没有自动升级路径,因为这些变化非常激烈,几乎就像白天和黑夜。模板更改是您可能必须从头开始重写它们。不要忘记2.5也会有很多不同的东西,所以你也可能面临学习曲线。

我的建议是制定分层迁移计划,只迁移您需要的网站,或者将迁移成本作为您使用的组件,模块和插件的合理性。

执行此操作时,您需要查看发布计划,该计划每18个月提供一次长期发布,其中每个版本很可能会破坏以前版本的向后兼容性,因此您最终会得到1.5,2.5,3的网站。 x等

答案 1 :(得分:1)

我相信可以使用phar来分发新的升级版本 - 但它不会帮助您升级过程本身。

从1.5到1.7的迁移(痛苦)经验告诉我,不仅代码更改是戏剧性的,而且DB更改(结构!),ACL实现等等。模板可能是您的问题中最少的

我的问题是,为什么要升级所有网站?如果一个特定的网站需要仅在更高版本的Joomla上可用的工具/插件,那么我想这是一个足够好的理由。但升级所有网站将像你预期的那样,来自地狱的项目...