12分钟阅读时间 (2302字)

选择 LTS 还是 STS?... 这就是问题!

To LTS or STS?... That is the Question!

需要建设一个新的网站,而你面临着一个决定。是使用当前 Joomla! 长期支持(LTS)版本还是最新的 Joomla! 短期支持(STS)版本来构建这个网站?答案当然是,这取决于。你的体验将因你的选择而有所不同。本文将涵盖网站所有者的类别以及他们对网站的期望,考虑要点和一些示例场景。

本文由 Jennifer Gress 和 Duke Speer 合作撰写。起初是以辩论的形式开始的,但我们太经常达成一致了。查看合著者 Jennifer Gress 的作者简介。

我们使用 LTS 和 STS 这些术语而不是具体的版本号,以便它可以作为参考,无论你考虑的是 Joomla 的哪个未来的主要版本系列。概念和考虑因素适用于 Joomla 2.5(截至 2014 年 2 月的 LTS)和 3.x(截至 2014 年 2 月的 STS);当 4.5 是 LTS 且 5.x 系列是当前 STS 时,它们应该同样适用。你需要权衡的因素保持不变。

Joomla 的设计理念是,所有影响第三方扩展如何与 Joomla 的核心代码(核心的 API)一起工作和使用的变化,在系列首次发布时(x.0)就被锁定,并且从那时起投入了巨大的努力来维护向后兼容性。因此,一旦扩展被适应到新的 STS 系列,工作应该完成,并且 不应该 有任何东西破坏扩展,直到该系列的其余部分。作为一个实际的事情,由于有很多移动部件和持续的改进,这并不总是完美发生的,因此在将它们安装到生产站点之前,需要在您的站点设计库存扩展的情况下对发行版进行测试。

当涉及到为网站选择 LTS 或 STS 时,网站所有者往往会分为三个类别。

他们想要

  1. 尽可能保持前瞻性:他们希望在部署当天使用最新的可用Joomla版本,并且愿意为部署后的维护付费(无论是支持人员的时间还是金钱)。一些人可能想拥有使用最新Joomla和最新功能的炫耀权,但更有可能的是,他们是在为未来投保,并希望获得尽可能长的支持周期。他们也不知道未来可能需要的较小版本的功能,但他们喜欢这样的想法:当核心中有一个新功能出现时,它可以直接使用,无需迁移。实施可能就像翻转“已发布”开关那么简单。
  2. 设置好后就可以忘记它:他们资源非常有限,通常不匹配但预期较低。他们需要一个固定的部署预算,并坚持不支付或花时间在部署后的维护上。他们的需求中没有任何一项需要Joomla STS系列中添加的功能。他们了解LTS的生命周期结束时间,保持短期成本较低比避免未来的迁移更为重要。从LTS到下一个LTS组件的一键升级并不被视为大问题,重新安装另一个STS模板并使用合适的模板覆盖只是让外观焕然一新的机会。这是一个静态网站设计,只需要安全更新,因此最好基于当前的LTS版本构建,这样UI元素就永远不会成为移动的目标。他们可以直接应用每个一键更新,而不必担心会破坏布局。
  3. 让专家来决定:他们认同网站设计师是专家,会选择最适合他们网站的软件工具,并让他们的功能需求和设计师判断来决定适当的版本。对于这种类型的网站所有者,我们将根据需求进行决策树分析。截至审查日期,可能某些功能最好或只能在LTS中实现;重要的扩展的STS版本不可用或需要更多工作。或者,某些功能最好或即将在STS核心中可用,如增强的安全性。

现在我们已经了解了网站所有者的风险承受能力和是否由设计师选择,现在是时候选择LTS或STS了。

需要考虑的关键点

托管技术规范

服务器是否满足运行最新Joomla STS的最小规范?如果不满足,并且没有意愿更换主机,你可能没有其他选择。你将不得不使用LTS版本来构建,通常LTS版本具有较旧和较低的技术规范,你的主机服务器更有可能满足。在未来一年左右的时间里,希望你的主机会更新他们的服务器,或者你需要更换主机才能升级到下一个LTS。你可以在此处查看Joomla的当前技术要求:https://www.joomla.net.cn/about-joomla/technical-requirements.html

扩展可用性

请检查您想要与 Joomla STS 版本一起使用的所有扩展是否已准备好。(请记住,您的模板也是一个扩展。)请访问开发者网站,并确保您选择的第三方扩展的开发者在每次 Joomla STS 版本发布前的测试期间对其扩展进行测试,而不是依赖核心以不破坏向后兼容性,或等待人们报告其网站已损坏。记住,选择使用 STS 版本意味着安装通往 LTS 版本之前的每个版本。虽然不太可能,但随着 STS 系列的成熟,可能需要安装您使用的每个第三方扩展的更改(包括模板及其 HTML 覆盖)。

预算

如果您在当前 Joomla LTS 中构建新网站,您可能需要在发布时进行“迷你迁移”。Joomla 的核心数据可能可以通过“一键更新”进行更新,但这不会更新扩展数据,简单地将一键更新应用于核心可能会因为系列中的一键更改导致 API 发生变化而破坏即使是良好编码的扩展。大多数第三方扩展需要卸载并重新安装,并将它们的数据迁移到新格式。请检查每个扩展的升级步骤。您将需要在当前工作 Joomla 系列网站达到生命周期结束(EOL)之前预留一些时间和可能的订阅费用来完成此操作。

如果您在当前的 Joomla STS 发布周期中构建新网站,您将需要在测试和安装系列中的所有版本,直到 LTS 版本安装到您的网站上之前预留一些时间和金钱。您可能需要在过程中进行一些布局和 CSS 的更改或管理错误(无论它们是否与 Joomla 核心或第三方扩展相关),这也会花费一些时间。您应该计划在将更新安装到实时生产网站之前,在测试网站上测试所有 STS 版本的更新。如果遇到问题,您应该准备从完整网站备份中恢复。

选择何时开始使用 STS 系列,将有助于确定您需要预留多少时间和精力。如果 STS 是 x.2,它仅距离 LTS 有几个步骤。如果您从 x.0 开始构建,您将有更多的步骤(x.1、x.2、x.3、x.5)才能达到 LTS。

如果您不想处理错误或功能第一次可能无法正常工作的内容,您可能考虑在 Joomla 的 LTS 而不是 STS 中构建。如果您不想处理迁移过程(尽管可能是迷你迁移),那么使用 Joomla 的 STS 可能更适合您。

没有确定的答案,因为每个网站构建者和每个网站都是不同的。那么,关于我们如何处理 LTS 和 STS 之间的选择,我们有哪些情景和观点呢?

示例情景

情景 #1

仅使用 Joomla 核心扩展、Akeeba Backup、JCE 和模板的简单网站。

杜克: Joomla STS。即使是“x.0.0” STS 版本的初始版本,这也是您跟上新发展的机会,使用真正的网站,并且设计师可以将 STS 网站放入您的设计作品中。在第一次发布后,允许过去几周,并监控错误报告。如果报告的错误是致命的,等待下一个错误修复版本;否则,这就是您获得一些新核心软件及其功能的第一手经验的机会。重新设计核心模板是安全的路线。如果发布已经超过 30 天,主要模板俱乐部通常会跟上并准备新的设计。

詹妮: Joomla STS。我同意,Akeeba 和 JCE 在过去的两个 STS 版本中表现得很出色,如果出现问题,更新也很快,其余的都是核心。此外,像 RocketTheme 这样的主要模板设计师也会快速更新他们的模板以适应新的 Joomla STS 版本。

场景 #2

如上所述的网站,加上 EasyBlog 或类似的更复杂组件,如 SobiPro。

詹妮: Joomla STS。EasyBlog 提供了令人难以置信的支持,并且对错误修复反应迅速。

杜克: 再次,我们同意,Joomla STS。但我在复杂组件方面可能会等到该系列的“x.1”版本。原因是,虽然稳定,但核心的“x.0”版本是许多扩展程序首次被测试以确保它们可以良好协作。在“x.0”版本发布的头两个月,所有第三方扩展程序开发者都在适应核心中的移动目标,同时也相互适应。这就是处理哪些版本 jQuery 以及类似库已加载的问题,或者在模块中使用适当的嵌套元素和 Bootstrap 类达成共识以产生模板设计师可以定制的 HTML 的时候。

许多设计师制作模板以定制主要附加组件,如 Kunena 论坛、K2、JomSocial 以及主要电子商务组件,而对于为“x.0”版本准备的复杂组件,输出仍有些像野野西。需要经过一轮错误报告和修复,以及几轮修订,以便大多数扩展程序尘埃落定,这样模板设计师就有更少的移动目标,可以生产出更稳定的产品。

SobiPro 是对流行的 Sobi2 目录的重写,它预见并利用了 Joomla 核心代码中的一些进步。利用最近的主要版本机会,进行白纸重写和优化其软件的开发人员,而不是从 Joomla 1.5 版本以来修补补丁,引起了我的注意,他们有可能更有未来性。这也表明了一个可持续发展的企业,正在将资金重新投入到他们的产品中,因此,当达到 Joomla 4 和 5 的时候,他们很可能还在。虽然我可能会犹豫在一个时间敏感的项目中采用版本 1 的扩展程序,但我会成为早期采用者,帮助该扩展程序以与 Joomla 本身相同的速度增长。

场景 #3

大型网站。内容丰富。许多用户持续更新内容。拥有 1,000 个 sku 的电子商务商店和 A/B 分裂测试。具有社交网络组件的会员网站。定制模板。不能被打断。

詹妮: Joomla LTS,并已预留时间和/或资金,并设定目标,当达到发布时间时转向下一个 LTS。

为什么?它需要稳定。它需要工作。它一直有很多事情在发生。如果我们在 STS 中构建,模板可能只需要几月时间就需要更新。如果在 LTS 中,它可以等待一段时间更新,并且只需更新一次。迁移将非常困难,但在当前 LTS 版本中,它将正常工作,直到达到进行分裂测试和运营所需的时间。尽管如此,这个词“呃!”还是会出现在我的脑海中。话虽如此,如果他们想要使用的所有扩展程序都为当前 STS 准备就绪,有良好的更新记录,并且有出色的支持,只要完全理解接下来需要发生的事情,我会选择 Joomla STS。

杜克: 她说的是真的!

通往长期支持版本(LTS)的Joomla STS发布就像道路上的减速带。网站建设和测试完成后,一键进行的小型更新引入关键问题的风险极小,并且可以在应用生产环境之前在开发服务器上进行全面测试。但是,数据库遭受如此严重打击的关键网站?为什么冒这个风险,毕竟有那么多动态组件?在响应式网站和javascript可用性日益增加的今天,尤其是在电子商务网站中进行数学和表单验证时,只需一个扩展模块通过一键更新带有糟糕编码的JavaScript文件,就可能导致网站所有功能的javascript崩溃。

我们希望这篇文章能帮助您提出问题并找到答案,引导您做出最适合您和您网站的决策。请随时添加评论提供反馈、选择方式或提问。我们在这里提供帮助并乐于分享!Jenn & Duke

《Joomla社区杂志》上发布的一些文章代表了作者在特定主题上的个人观点或经验,可能不代表Joomla项目的官方立场。

0
爱你所爱...
记住这个日期
 

评论

已经注册? 点击此处登录
尚未发表评论。成为第一个发表评论的人

通过接受,您将访问由https://magazine.joomla.net.cn/之外的第三方提供的服务