尽管Drupal是免费的,并且有很多业余爱好者在使用,但Drupal绝对不是一个小儿科的儿童玩具。Drupal系统本身就相当复杂,即便是专职的Drupal开发者,也需要花费很多年的时间,才能掌握Drupal中的一部分。对于大部分Drupal开发者来说,能够跟得上Drupal技术进化的脚步,就已经非常不错了,昨天我们还在用CCK的,今天就进化成为了Field,对于Drupal开发者而言,也需要保持与时俱进。
这本书的将近一本的内容,都在讲解一些基本概念,这是各种Drupal开发者都应该掌握的---不管你是模块开发者,还是设计师,以及服务器、数据库管理优化人员,当然也包括网站构建者,这些概念,你都需要掌握。
本书的另一半,主要讲解如果通过点击Drupal的管理界面,综合运用一些常用的模块,来构建网站功能的,所以我们面向的对象是Drupal网站的构建者。如果你想成为一个Drupal模块的开发者的话,你也会发现本书的第二部分,对你也是很有帮助的。
本书的内容,主要讲解功能和信息结构---我们可以把这些看作一个网站的骨架。对于用户界面、主题的修改制作,则很少涉及。例如,我们这里就没有讲解如何在Drupal中安装一个所见即所得(wysiwyg)编辑器。我们这样做,也是有道理的。构建网站的信息结构,就好比盖房子时候的打地基,是我们首先要做的,我们不可能地基还没有打,就去装修房间。如果你认为,你已经掌握了本书中的大部分内容,那么此时再让你去安装一个所见即所得编辑器的话,就没有一点困难了。如果,你要使用所见即所得编辑器上传图片,你在做这项工作的时候没有考虑底层的信息结构,如果将来你在网站的其它部分,想要复用这里的图片的话,你就有可能会遇到问题。
Drupal的方式(Drupal way)
本书涉及的内容,不需要你熟悉编程。这里面,讲解到的最高深的编程,就是HTML链接,而即便是HTML的编程,也仅仅在若干个地方提到。但是,对于想成为Drupal模块开发者的朋友,也是很有帮助的。为什么呢?
Drupal的一个强项,就是用很少的编程,就能构建出来一个非常专业的网站。我们知道,有很多通用的模块,比如Views、Rules等等,通过使用它们,就可以方便的扩充Drupal的功能了。通过使用这些模块,我们可能一行代码都不写,就能构建出功能丰富、外观精美的网站,如果定制代码的话,基于这些模块,我们就可以少写很多代码,编写出来小而美的模块,从而达到事半功倍的效果。
如果一个开发者,不了解Drupal的这些常用模块,那么他就会常常陷入重复发明轮子的泥潭。他编写的代码,除了他自己,知道是干什么的以外,就没有外人熟悉,而里面的很多代码,其实很多本身是没有必要的,也没有什么用处的。如果你作为一个模块开发者,非常熟悉这些常用的模块,这个时候,你就可以使用短小精悍的代码,来扩展现有的功能了,这就是我们津津乐道的小而美,小而美。这样的好处很多,由于代码本身短小精悍,这就方便了我们日常的维护和更新,同时,会有更多的机会,在别的地方复用这些代码,有时候还会有意外收获,比如你将模块贡献到了Drupal社区,其它开发者,可能会从你的模块里面找到新的用法,可能连你开始都没有想到的用法。
使用常用模块,通过点击和配置,来构建网站,而不是编写自己的模块,这种思想,我们有时候,也把他叫做“Drupal的方式”(Drupal way)。“Drupal的方式”包括:
- 尽可能的使用常用的Drupal模块来解决问题。
- 选用那些易于与常用模块集成的模块,而不是选用一些孤立的安装量比较小的模块。
- 即便是需要编写代码,我们也应该思考,如何充分的利用这些常用模块。
- 尽可能的,与Drupal社区分享你的解决方案。
在“Drupal方式”的背后,所蕴藏的哲理,和其它开源软件是一样的---共同参与,才会更好。
按“Drupal的方式”构建网站,好处多多,这些常用模块会不断地成长,整个社区进一步的增强,除此以外,还可以带来直接的经济利益。比如说,网站的维护和升级。如果我们的网站,是构建在这些常用模块的基础之上的,由于有成千上万的开发者都在使用这些模块,无论是发现和修正BUG、还是完善升级路径,还是开发新的功能特性,我们能够从别人的贡献之中获益。假如一个网站,主要功能都是基于自己开发的代码实现的,无论是BUG的发现和修正,还是新功能的开发,都需要自己来做,而且很有可能,他们无法将他们的站点迁移到Drupal的下个主版本上。还有比这更坏的情况,如果他们修改了Drupal核心代码,此时他们甚至无法应用Drupal安全团队提供的安全更新。简而言之,这个世界上,只有几个人知道它们的站点是怎么工作的,这些站点慢慢地就成为了易碎品。网站的开发者,完全忽略了Drupal已有的功能,他们在构建一个自定义的发布系统,就像以前的很多开发者一样。我们一定不想重蹈覆辙。
这本书,是完全基于Drupal方式的。这里所提到的模块,都是Drupal社区中最常用的,经过无数人检验了的模块。我们这里列出四个模块---Views、Flag、Rules、Panels,这是社区中的大部分成员,都认可的Drupal中的最重要的模块,这个地球上,无数多个站点,都是建在它们的基础之上的。
原文出处:http://drupal.org/node/1576430
中文翻译:http://www.thinkindrupal.com/node/4838
创作共用许可署名 - ShareAlike2.0