Drupal8 API 冻结

龙马 提交于 周二, 07/09/2013 - 10:07

原文标题:Drupal 8 API freeze http://buytaert.net/drupal-8-api-freeze

7月1日已经到来。正如早些时候宣布的,这标志着Drupal8 API 冻结(通常称为“代码冻结”)。让我兴奋的是,我们一步步塑造了Drupal8,它将会让Drupal更强大、更易用。虽然有很多工作摆在我们面前,但是Drupal的开发周期向前迈进下一阶段让我欣慰。

“API 冻结”的两个主要目标是:(a)解决阻碍发布的问题(release-blocking issues),通常被称为“关键错误”和“关键任务”,(b)为开发人员提供一个稳定的从Drupal7到Drupal8 API模块接口。这意味着,API冻结期间,我们将不再做向后破坏兼容性的公共API,除了认为它是要解决重要的错误,或者已经过时的API。不破坏向后兼容性的变化仍然是允许的,包括API的添加,维护者可自由决定。 这次API冻结期间,我们将做一些与以往发布周期不同的事情。我下面将解释这些变化。

Deprecating Drupal 7 APIs

目前,当完成核心模块转换至Drupal8 API时,Drupal8 将包含向后兼容层来支持 Drupal7 API。 如在 hook_menu() 中的路由支持就是其中一例,它将被Drupal8的路由系统取代。Drupal 7 API中的已被标记被弃用的phpDoc,第三方模块的开发者应该避免使用,因为它们在 Drupal8 发布前将会被删除。

Deprecating Drupal 8 APIs

在适当的时候,维护者仍然可以添加新的API到Drupal8并,从而弃用现有的API。在这种情况下,不建议使用的API将继续被支持,并没有被删除,直到Drupal9。这是为了避免破坏已升级到Drupal8的模块。

添加独立的功能

提交阈值(commit thresholds)时,我们可能会致力于某一类功能。关键是这些功能是自成体系的(无后续任务)和回滚(模块间的依赖关系)。如果某个关键(critical)或主要的(bug)是由于这些提交导致的,我们会选择回滚到回去。因此,这一类的功能应该对核心的余下部分开发是几乎没有影响的,而且也不引进技术债务(technical debt)。

第一个 beta 版之路

API冻结期间,我们还将从发布alpha版本切换到beta(公测)版本。这将发生在当没有已知的严重的安全漏洞的升级路径里(从最后Drupal 7版本)。 在API冻结和beta 1版本期间,删除临时向后兼容层,而Drupal 7的功能是允许和鼓励添加的。beta 1版本之后,向后兼容性方面,我们将更严格(临时向后的兼容层和弃用的功能不会删除,届时可能不再允许移除)。

总结

经过2年以上马不停蹄的工作,这是非常令人兴奋的进入API冻结期。这是一个重要的里程碑,为我们所有的人。坦率地说,Drupal 8将是我们有史以来最好的版本,到目前为止,我迫不及待的将它放在你的手中。但是,Drupal8的发布离不开你们。请花点时间下载并试用alpha版本。如果你是一个模块的开发者,重要的是明确当前当前的工作,这样你就可以在我们开始发布beta版本时,开始升级你的模块。如果你发现问题,请上报。每次发现bug,你就有机会改善数以百万计的用户体验。谢谢您,我们希望看到你的问题队列!

----------- (译完) -----------

本文由龙马翻译,转载请注明出处:http://www.longma.org/drupal-8-api-freeze

博文分类