Drupal的版本号说明

我该使用哪个版本的Drupal?
一般建议您使用最新的稳定版本,DrupalChina都会在首页醒目位置标志这些稳定版本的链接。您也可以直接到drupal.org查看。在某些特定情况下,比如某些您必需的模块还没有升级的时候,或者您的站点工作正常而您又没有足够的时间与资源来升级的话,继续使用旧版本也是个不错的选择。但是新版本推出时,常会弥补一些安全漏洞,您至少应该把这些安全补丁更新。

现在Drupal的最新的正式版本是5.1,下一个主要升级版本6.0正在开发中,并不适合作为正式站点使用。Drupal4.7.6是4.7系列中的最新版,4.7系列也还在维护中,但大多数新功能都不会再加入4.7版,如果您现在开始计划新的站点,应该直接考虑使用5.1正式版。

如何查看我的站点是哪个版本?
有以下几个办法:

  • 查看drupal安装目录下的CHANGELOG.txt 。不过这个方法有时候不一定可靠。
  • 查看drupal/modules目录下的system.module,最上面有一行:
    <?php
      define
    ('VERSION', '4.7.4');
    ?>

    这个就是版本号
  • Drupal5.x之后版本可以在admin/logs/status 下面察看版本号

如何解读Drupal版本号?
在4.7.x系列之前,4.7.x中的的前两个数字4.7代表Drupal的版本号,最后一个数字x代表这个版本下的第几次补丁发布,主要用于修正bug。这样带来的一个问题就是经常使大家误以为4.7只是4.6的一个小升级版本,其实4.7与4.6有非常大的不同;另一个常见的问题是4.7之后该是4.8还是5.0呢,经常给大家带来混淆。

所以从5.x开始,Drupal采用了新的版本号,其中“5”代表主要的版本升级,后面的.x代表这个版本下的第x次补丁更新。也就是说5.0,5.1,5.2等等都是基于同样的5.0结构,所有5.x的模块都是兼容的。而下一个主要版本将是6.x,6.x的模块将不能在5.x系统中使用,反过来也一样。

扩展模块的版本号又该如何解释?
2006年11月1日之后,drupal.org启用了新的项目管理模块,其中一个主要的变化就是扩展模块与主题的版本号采用了下面的新格式:

Drupal主要版本-模块主要版本.补丁更新号[-其它说明]

1)Drupal主要版本:这是必须的,比如4.7.3或者5.x等,表示该模块适用的Drupal主要版本号。4.7.x表示该模块适用于Drupal4.7系列,5.x表示该模块适用于5.x系列。
2)模块主要版本:用于标示该模块的主要版本分支,例如1.0,2.1等
3)不定更新号:用于标示这是该模块版本分支的第几次bug更新,第一次模块主要版本发布是0,下一次补丁更新就是1,以此类推。如果这个数字是x,则表示这是正在开发中的版本(参见下面第4条说明)
4)其它说明:这是一个可选项,用来一些特殊标示,比如-dev表示这是开发中的版本,一般是由drupal.org每天自动发布的最新CVS版本,不建议用于证实站点。

例如:
* 4.7.x-1.0 表示这是适用于Drupal4.7.*的模块,这是该模块主要版本号1的首次发布(1.0)
* 4.7.x-2.1 表示这是适用于Drupal4.7.*的模块,这是该模块主要版本号2下面的第一次不定更新(2.1)
* 5.x-1.0-dev 表示这是适用于Drupal5.*的模块,这是该模块主要版本号1.0的最新开发中版本(-dev),

什么是beta与RC版?
在一个Drupal新版本(比如5.0)发布之前,通常会先发布一系列beta(测试版)与RC(release candidate的缩写,可以叫做试发版)。一般来说这些版本还不够稳定,不宜用在正式站点上,只是用来提供给更多用户测试使用,以帮助正式版的发布。

  • Beta releases (测试版)
    一般会先发布测试版(beta),也是最不稳定的版本。测试版发布期间,除了易用性改进之外不会再加入新的功能,翻译字符串也还没有最后确定,甚至API或者数据库结构也还可能改变。
  • Release candidate (试发版)
    只有在beta版中没有关键性的bug报告后才会发布RC版。RC版一般来说都比较稳定,RC版发布之后,不会再有任何新功能加入(包括易用性),而只会进行bug修正,同时翻译字符串也已经固定,不能再做改变以方便翻译者开始进行翻译。

通常在beta版发布几个月之前,Drupal代码就会进入功能特性冻结(feature freeze);比如计划中的6.0冻结将在2007年6月1日,在此之后,6.0的基本功能改进都已确定,其它任何新的功能改进都将只能等到7.0才能加入。