2007-11-12 10:38 by laogui
我从2002年底就开始关注drupal了,当时在国内看不到一点关于drupal的资料,2003年写过几篇关于drupal的介绍文章,到现在都经常看到很多介绍drupal的文章里引用我的话。记得2003年看到海微在研究drupal,并且发布了中文语言包,打开了drupal进入中国的大门。海微是我一直敬仰的一个人,以前一直致力于xoops的中文化工作,现在竟然搞Hiweed Linux操作系统了。
海微发布drupal中文语言包后我就一直开始用drupal,不过都是当作普通的blog程序来用,基本上不装插件,也没改过风格。中途试着改过几次风格,但试了几次都放弃了,感觉很麻烦。
最近看了几个用drupal做的强站,看了之后感觉就是震撼,根本看不出是用个开源代码的做的,看了之后我又萌发了修改drupal风格的念头,打算为我的极客集改个版。研究了两天,终于明白drupal模板的原理了,对CCK和views这两个超强模块也有了新的认识,把官方的主要模块都看了看,看得我眼都花了,实在是太多了,对drupal的评价就是:“只有想不到的,没有做不到的”你想要什么功能都有什么模块。这也是国外程序最大的特点,国内的人都抱怨国外的程序简单,不适合做大站,这都是因为没去研究过人家的模块。国外很多人把joomla,drupal叫做web操作系统,这很形象,人家只提供给你最底层的框架代码,其余的功能都留给模块了。就比如用windows一样,安装windows后可以使用,基本的功能也有,但你想要更多的功能就得装软件,你想让你的桌面变漂亮就得换主题。
Drupal属于开发型cms,最便于扩展的cms,在我看来它比joomla灵活很多,官方网站上的模块就有几千个,再加上cck的自定义字段功能,如果想用来做个门户网站功能上你也不用考虑太多了,所以现在Drupal程序员炙手可热,招一个Drupal程序员,不但可以为你节省更多的成本,还有利于以后的开发,毕竟核心代码你不用管了,和Linux一样,linux版本有几十个,但核心代码都是kernel小组开发的。
Drupal上手容易,各种模块装了就可以用,但如果想改模板需要熟悉CSS技术,也需要一定的PHP基础,当然还需要一定的英文基础,因为中文资料相对较少,但官方网站上的教程就够你看一辈子了。如果你css,php,英文都不错,那Drupal在你手中简直就是一个万能工具了,你会越来越对它爱不释手。
不得不承认,Drupal的模板是个门槛,在默认的模板基础上很难做出复杂的页面,和中国人心中的门户网站相差很远。要想做复杂的页面views成了必须用的模块,虽然它很灵活,但使用也很麻烦,而且如果调用太多很占资源,但这个你不必考虑太多,Drupal有很好缓存功能,还有很多缓存插件,数据查询都是一次性运行了放在一个表里随时调用,而且国外那么多大站用drupal充分说明了它的性能。
Drupal的模板核心就是区块(block),你只需要把你的模板分成很多块,然后把drupa生成的区块排列在你的模板上,你安装的插件如果需要显示一般都会自动生成个区块。Drupal官方发布模板都比较简单,一般只适合做左中右结构的网站,如果你想自己在模板里多加一些容器来放Drupal的区块,需要phptemplate_regions函数,当然更方便的是module_invoke函数,可以让你的区块显示在你想放的任何地方。
drupal默认生成的各种区块里带有很多层的html代码,几乎每个html标签都有单独的css id或者class,这样方便你用css控制显示效果,这给我带来了极大的方便,不用动html代码就可以修改模板的显示效果。
这次给极客集改版让我学了很多东西,本来做了一个比较复杂的页面,调用比较多,研究了一下views模块,感觉太麻烦了,而我又不喜欢装模块,能不用的模块尽量不用,极客集只装了几个比较简单的模块(BUEditor,Google Sitemap,Month,Similar By Terms,Captcha)。views是最复杂的一个模块,代码体积几乎是drupal核心的三分之一,于是我打算放弃views做个比较简单的页面了。其实如果你PHP学的好的话完全可以不用views,views本质上就是生成一段Mysql查询语句。
Drupal的官方论坛是个大宝库,你遇到的问题几乎都可以在那里找到答案,随便提个问题就有很多热心人来帮你,而且还会有其他人给出不同的参考答案。这也是国外开源项目最让人羡慕的地方,真让人兴奋啊。去了官方社区才认识到自己很菜,
这篇文章不小心又成了鼓吹drupal的“枪稿”了,其实根本用不着夸它了,它刚刚获得了2007年最佳开源cms的大奖,去年这个奖是Joomla的。也许有人会问我“你整天说这个程序好,那个程序好,到底哪个最好啊?”,说实话我也不知道那个好,每个都有自己的特点,关键是看使用的人,有的人用个简单blog做的站比那些用大型CMS的都感觉复杂。我本人是见一个爱一个,我很多网站,都用不同的cms,它们都是我的情人,每个情人都能给我带来激情,哈哈。过几天打算写一篇比较国外cms的文章给大家参考,国内的不考虑,因为国内的都没特点,无法比较。
Posted in Web scripts | 33 Comments
2007-06-29 08:59 by laogui
Habari可能是2007年开源世界中最让人关注的东西,据说是Wordpress的部分成员因为不满Wordpress日益商业化和matt的独断,离开Wordpress另外开发一个项目(这点和joomla很像)。这可真大胆,Blog项目数不胜数,对个人用户来说技术也已经趋于成熟,再开发一个blog怎么和众多同类竞争?但Habari有自己的打算,首先Wordpress就是一个很好的筹码,如果你是Wordpress的铁杆用户,它的开发者另外开发一个blog你难道不想去试试?就像当年joomla一样,消息一出,mambo用户倾巢而出,纷纷转向joomla的怀抱,后来证明他们的做法是正确的。其次,Habari宣称自己用的是最先进最前卫的技术,Habari 是一个完全的面向对象的系统,使用了现在很流行的Javascript框架JQuery,使用PDO链接数据库,PDO是PHP 5新加入的一个重大功能,PHP6中将默认使用PDO连接数据库,Habari 支持 OpenID、Cocomment、Atom 发布协议,PHP 只支持最新的 PHP 5,并且支持 MySQL,PostSQL,SQLite 数据库。
关于Habari的介绍这里有两篇不错的文章,http://blog.ihao.net/2007/03/03/about-Habari/,http://bemike.org/blog/2007/01/20/thoughts-on-Habari-and-Wordpress.html。
记得4月份我就下载过Habari,但一看到用PDO我就没装,今天才发现我用的PHP 5.2已经内置了PDO库(实际上5.1已经带了),只需要在配置文件里加上两个扩展就行了:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
你使用其他数据库的话只需把对应的扩展加进去就行了,至于linux怎么设置我不清楚,大家可以找找资料,估计比较麻烦。PHP 5.0 默认没带PDO库,需要自己去下载。
这里有一个详细的Habari安装说明,里面还有很多Habari的截图,大家可以去看看。
Habari的界面太简洁了,比textpattern都简洁,功能简直是不能再少了,从外观上激不起我使用它的欲望,前台默认使用K2的改装模板,后台无法修改模板,模板语法和Wordpress差不多,嵌套在PHP代码中,我不喜欢这样。当然,Wordpress是它抢夺用户的主要领域,所以自带一个Wordpress导入程序。后台没看到分类功能,也无法自定义URL,我写的中文标题都成了http://localhost/-1、http://localhost/-2 这样的,没有附件上传功能,也没看到TrackBacks功能,没有用户组,默认添加的用户就是管理员,但有tag功能,这是唯一一个比wordpress2.2先进的地方(wordpress2.3自带了tag功能),我只说这几个主要区别,其他Wordpress的细节功能基本上都没有,把Habari的全部功能都列举出来也用不了一分钟。可以说Habari是一个非常简陋的程序,官方会说成Habari是一个非常高效的程序,这么简单,不高效才怪呢。
Posted in Web scripts | 6 Comments
2007-06-19 18:26 by laogui
看到新版的MT出来了,是MT诞生5年来最大的一次改版,全新的后台,众多的新功能和新变化,我的心又痒了,忍不住又换了,但换的还比较麻烦,从textpattern换到wordpress,又用WPexportfor2换为MT3,再从MT3升级到MT4,这次还从一个很老的备份空间里找回了多篇2004年写的blog和评论,一起导入到了MT4中,所以换的比较高兴。对我来说,CMS是用来玩的,不是用来用的。从2003年建立第一个blog开始,换了数次blog,Drupal、MoveableType、Serendipity、Textpattern都用过,弄的经常数据丢失,所以3年多了,只留下了这50篇blog,还经常被朋友嘲笑和责备,但你们无法体会到一个CMS狂热分子对各种新系统的热爱和追捧,每次看到一个cms新版发布,我就异常激动,马上安装研究,不过现在我已经收敛了很多,现在只关注一些知名的cms,记得2003年我把hotscripts上那些代码一个一个安装调试,那时候简直快疯了,在落伍经常给大家推荐新程序,得到了很多赞扬,在网上的名气也就是那时候开始慢慢积累起来的。后来经常给新手归纳整理程序,后来一篇整理了一下主流 Blog 程序在网上广为流传,曾经一度让我的blog访问量每天过1000,后来又胡乱写了一篇国内的PHP发展真快,竟然被《程序员》刊登,虽然只得了120稿费,但让我感到很自豪。
多年来,一直混迹在各种技术领域,整天做网站,搞服务器,被很多人误认为是个高手,但自己实实在在是个大菜鸟,上网五年了,到现在还只是会html,了解点css,php几乎不懂,美工基本为0,做了几十个网站了,还有很多网站称为众多站长抄袭的对象,但殊不知我的网站大部分是抄来的,这个网站抄一点,那个网站抄一点,组合起来却看上去有模有样,网站上的图片基本上都是别人的,大部分是抄自国外,我的photoshop水平只是会抹去别人的文字和换成自己的文字。我对各种新事物充满了好奇,整天玩弄各种软件,力争保持自己装的软件是最新的。操作系统1个月换一个,中文的,英文的,windows,linux来回换,身边的人都说我整天不务正业,但我从来不会感到无所事事,在网上,我随时可以找到能给自己带来激情和快乐的东西。
最近又漂泊到了广西南宁,一个美丽的城市,而且住在碧波荡漾的南湖边,生活看似很惬意,整天到处旅游,但自己始终平静不下来,岁数大了,不能再玩了,但自己始终还没找以后的发展方向,再加上自己没耐心,三心二意,不知道什么时候才可以专心做一件可以一直做下去的事情。
现在的blog风格是MT4的默认风格,你如果从MT3升级的话MT不会覆盖你的风格,我是把mt_template和mt_templatemap这两个数据表清空,用MT4默认的这两个表去覆盖才得到这个风格的,从MT4 beta 1升级到beta 2发现这两个表又改变了很多,beta1的Widgets自带了很多东西,beta 2里Widgets默认是空的。
Posted in Web scripts | 16 Comments