Drupal系列谈(1) - 谈使用Drupal 7
通常,人们喜欢把Drupal视为一套内容管理框架,而我更愿意把它看成是一个建站系统,一个一流的、完善的建站系统。它强大的建站功能,首先,得益于自身设计的高度开放性、可扩展性;其次,得益于在这种高度开放性、可扩展性上而衍生出来的大量的功能组件(modules)、模版(themes)以及语言包(translations)。截止目前,仅就Drupal官方网站正式立项的项目而言,有10989个功能组件、1201个模版以及97个语言包。
2011年1月5日,当Drupal最新一代的版本, Drupal 7.0正式发布的时候,我曾快速做了一个计划,计划在2011年7月4日,也就是7.0正式发布半年后将我的Drupal 6网站全数升级到Drupal 7。之所以要等半年,是因为大部分Drupal功能组件要么还不支持Drupal 7,要么还缺乏平滑升级到Drupal 7的升级方式。当时,我预期半年后,我所使用的几十个Drupal 6功能组件应该大部分都已完成了对Drupal 7的支持并且提供自动升级方式。
半年后的今天,我并没有如期地完整这个升级步骤,原因有两个。一是我在Drupal 6上使用的50来个组件中还有9个左右的组件不支持Drupal 7;二是相当一部分的组件的升级可能需要一定程度的手工操作或存在风险,例如CCK。同样由于这两个原因,在未来的几个月内,我都不会考虑把现有网站从Drupal 6升级到Drupal 7。
由于知道从Drupal 6升级到Drupal 7存在诸多困难,因此,自年初以来,当需要新建一个网站的时候,我都是在Drupal 7建站,虽然在Drupal 7上建站存在一个很明显的问题:很多成熟的、重要的组件要么不支持Drupal 7,要么就是还处在开发阶段,存在各种bug。
半年来,在Drupal 7上,我累计安装、使用了52个开源组件(不包括自己编写的),大体上和在Drupal 6上使用的组件数量相当。这其中,80%以上的都是使用的dev版本。所谓dev版本,就是还在开发中的版本,连Alpha版本可能都不是,更别谈Beta、RC版本了。
目前相当部分处于dev版本状态下的Drupal 7组件其实已经比较稳定了。某些dev版本下的组件可能还存在些明显的bug,不过这种情况下一般都会有使用者汇报并且有人提供补丁,因此,如果自己会打补丁的话,还是可以用的。我目前所使用的50多个Drupal 7组件中,仅有一个组件的dev版本存在问题且长期没有修复,需要我自己根据他人提供的反馈打补丁。
说了上面这么多,最主要的是为了总结并分享我目前对Drupal 7的如下三点使用经验:
(1). Drupal 7已可以取代Drupal 6使用在正式网站上。也许你会跟我说:“这是废话,Drupal 7如果不能使用在正式网站上,还能叫正式版本吗?”我只能跟你说:没有了各种功能组件的支持,Drupal也许就是鸡肋,什么都不是。
(2). 大部分主要的组件,例如多网站支持、多域名支持、搜索引擎优化以及电子商务方面的组件,都已支持Drupal 7,虽然不少依然处于dev版本状态。
(3). 目前,如果使用Drupal 7的组件,应该比较大胆地使用dev版本,而不要死等到稳定版出来的日期,因为那可能是遥遥无期的。关于这一点,我举个典型的例子。FAQ (常见问题)是Drupal中非常好的一个组件,但是它的Drupal 7版本目前还是2011-02-25年发布的dev版本。用户对这个版本已经反馈了超过10个bug,但它的开发人员却一直没有更新。我在苦等了几个月后,终于自己动手,根据用户提供的各种补丁,在dev版本上打了9个补丁,然后使用它。(目前为止,这是唯一一个需要我自己来打补丁修复bug的Drupal 7组件。)
2011年1月5日,当Drupal最新一代的版本, Drupal 7.0正式发布的时候,我曾快速做了一个计划,计划在2011年7月4日,也就是7.0正式发布半年后将我的Drupal 6网站全数升级到Drupal 7。之所以要等半年,是因为大部分Drupal功能组件要么还不支持Drupal 7,要么还缺乏平滑升级到Drupal 7的升级方式。当时,我预期半年后,我所使用的几十个Drupal 6功能组件应该大部分都已完成了对Drupal 7的支持并且提供自动升级方式。
半年后的今天,我并没有如期地完整这个升级步骤,原因有两个。一是我在Drupal 6上使用的50来个组件中还有9个左右的组件不支持Drupal 7;二是相当一部分的组件的升级可能需要一定程度的手工操作或存在风险,例如CCK。同样由于这两个原因,在未来的几个月内,我都不会考虑把现有网站从Drupal 6升级到Drupal 7。
由于知道从Drupal 6升级到Drupal 7存在诸多困难,因此,自年初以来,当需要新建一个网站的时候,我都是在Drupal 7建站,虽然在Drupal 7上建站存在一个很明显的问题:很多成熟的、重要的组件要么不支持Drupal 7,要么就是还处在开发阶段,存在各种bug。
半年来,在Drupal 7上,我累计安装、使用了52个开源组件(不包括自己编写的),大体上和在Drupal 6上使用的组件数量相当。这其中,80%以上的都是使用的dev版本。所谓dev版本,就是还在开发中的版本,连Alpha版本可能都不是,更别谈Beta、RC版本了。
目前相当部分处于dev版本状态下的Drupal 7组件其实已经比较稳定了。某些dev版本下的组件可能还存在些明显的bug,不过这种情况下一般都会有使用者汇报并且有人提供补丁,因此,如果自己会打补丁的话,还是可以用的。我目前所使用的50多个Drupal 7组件中,仅有一个组件的dev版本存在问题且长期没有修复,需要我自己根据他人提供的反馈打补丁。
说了上面这么多,最主要的是为了总结并分享我目前对Drupal 7的如下三点使用经验:
(1). Drupal 7已可以取代Drupal 6使用在正式网站上。也许你会跟我说:“这是废话,Drupal 7如果不能使用在正式网站上,还能叫正式版本吗?”我只能跟你说:没有了各种功能组件的支持,Drupal也许就是鸡肋,什么都不是。
(2). 大部分主要的组件,例如多网站支持、多域名支持、搜索引擎优化以及电子商务方面的组件,都已支持Drupal 7,虽然不少依然处于dev版本状态。
(3). 目前,如果使用Drupal 7的组件,应该比较大胆地使用dev版本,而不要死等到稳定版出来的日期,因为那可能是遥遥无期的。关于这一点,我举个典型的例子。FAQ (常见问题)是Drupal中非常好的一个组件,但是它的Drupal 7版本目前还是2011-02-25年发布的dev版本。用户对这个版本已经反馈了超过10个bug,但它的开发人员却一直没有更新。我在苦等了几个月后,终于自己动手,根据用户提供的各种补丁,在dev版本上打了9个补丁,然后使用它。(目前为止,这是唯一一个需要我自己来打补丁修复bug的Drupal 7组件。)
添加新评论
友情提醒:您的言论自由在本站会得到充分保证;不过,由于广告留言等猖獗,因此本站的内容过滤系统有可能会暂时屏蔽您新发的留言或评论。不便之处,希望理解。