广告联盟网

标题: 内容管理和Weblog代码试用及比较 [打印本页]

作者: ndf    时间: 2006-5-21
标题: 内容管理和Weblog代码试用及比较
October 29, 2005, Saturday @21:33
  为了架设“数字图书馆前沿问题高级研讨班”的专属网站,下载并测试了不少内容管理和Weblog方面的软件代码。内容管理系统有Drupal、Tikiwiki、PostNuke、Xoops、Mambo等,Weblog有WordPress、MT、LBS等。

  Drupal系统功能多,可实现文章、论坛、Blog等应用,有很多第三方插件扩展使用;界面简洁。Drupal令人叹服的是数据库设计非常精简,20多个表就实现很多功能,通过严格的数据库编码,使多个功能共用几张表,在数据库设计精简方面堪称一流。但这意味着额外的代价:源码难读,系统功能扩展困难,系统维护复杂,并可能会降低系统运行效率。汉化支持方面,国内有海微在做汉化工作www.hiweed.com,汉化程度不高。
  在SourceFforge.net狂搜,搜到很多系统,如eGroupware、 phpWebSite、PHPX 等等,感觉都不错,只是没有汉化。顺便提一下,sourceforge.net也许是全球最大的开放源码交流网站,很多优秀的开放源码项目都在这里,如phpMyAdmin、SquirrelMail等,还有许多诸如ERP、CRM的项目,真是应用尽有。
  网络图苑是用tikiwiki架设的,网友一问在汉化方面下了很多功夫,已经相当不错。Tikiwiki是非常优秀的网站内容管理系统,基于PHP+ADOdb+Smarty等技术构建,功能非常齐全,主要特点:
  1、功能强大,涵盖文章、论坛、分类目录、blog、图库、文件下载、在线调查、Wiki等。
  2、用户权限管理功能易用,可以很方便地定制用户权限。
  3、管理后台和用户界面相结合,通过用户权限控制界面显示。
  4、界面可分割成上中下、左中右区域,非常结构化。
  5、包含许多实用模块,如菜单、登录、搜索、在线调查、最新发表文章等等,可灵活定制显示在左右界面区域。
  6、界面简洁,支持界面模板换肤。
  主要缺点:
  1、页面生成速度有点慢。
  2、一个功能只有一个主菜单,不能设置成多个菜单,比如文章管理就只有一个“文章”菜单项,不能分开设置成“公告”、“新闻”等,而是所有文章都显示在一块。这样就限制了网站的灵活性,因为网站有很多类型的“文章”需要分开设置。
  3、用户菜单和管理菜单混合在一起,通过用户权限控制菜单显示,菜单需要展开才能使用,比较复杂,也不直观。
  关于smarty技术。它使数据库开发和界面设计分开,确实达到简化数据库编码的效果,但却增加一个中间层,使得界面的设计难度增加了。引入smarty技术后,每个小功能的实现,都必须有一个数据库描述文件,一个界面文件,和一个数据库和界面的连接文件,且被放在不同目录,开发不易上手。另外由于smarty是动态生成界面文件的,速度有些慢,需要cache缓存来提高速度,也就是把首次生成的界面文件放在cache目录中,这些文件有一定的生命周期,到期后重新再生成。第一次打开界面时有点慢,以后就快多了。不过cache缓存有个后遗症,有时内容更新了,缓存却没有更新,用户就不能及时看到最新的页面,晕!
  另外,Tikiwiki的功能设计不是真正意义上的结构化设计,有点象一锅大杂烩,所有功能模块的初始化代码堆在一起,不管你有没有用到,所有功能都被初始化,系统速度怎能不慢!核心代码中也混杂着多种功能模块的代码,使得核心代码乱七八糟,可读性太差。
  PhpNuke的官方网站是www.phpnuke.org,已经发布7.9版本。PhpNuke据称是目前使用最多的内容管理系统,已经有5-6年的历史了!中文汉化支持也很及时。PhpNuke的界面较土。一个好的界面并不要求充斥大量的图片和颜色,关键是布局要合理,颜色搭配要协调,而这两点PhpNuke做得并不好。管理后台功能强大,有文章、下载、在线调查、FAQ、用户管理、权限管理等等,最重要的是支持第三方插件的安装和卸载,可以随意扩展系统的功能!这点比Tikiwiki强多了。经过多年的发展,PhpNuke社区的人气很旺,支持它的插件Addon、区块Block和界面风格Theme很多。
  试用总结:
  1、大凡web内容管理系统都有一个核心系统,实现常用功能如文章管理、分类管理、用户管理、权限管理等。
  2、提供系统的功能扩展机制,方便第三方开发和使用插件。
  3、提供界面布局的控制机制,把界面布局切成上中下、左中右等区块,让用户能把自定义的功能放到这些区块上。
  4、提供界面风格的控制机制,让用户开发和使用各种风格各异的界面风格,随心所欲地换肤。
  评价一个内容管理系统是否优秀,先要看它有没有上述的4点特征,然后看运行效率如何,再看易用性如何,是否易于用户使用和开发人员扩展新功能。当然还要看它是否支持多语言,尤其是有没有汉化包,或是否容易汉化。
  根据上述原则,Tikiwiki的第1、2条是合并在一起的,难以扩展,不过用户管理和权限管理功能比较强大,第3、4条做得非常棒,易于使用。PhpNuke第2条做得很好,但第1条用户管理、权限管理和第3、4条做得不是很好,易用性较差,界面很土。
  再来,PostNuke,官方网站www.postnuke.org,它是PhpNuke的简化版和美化版,内核作了一些简化,对第3、4条做了一些简化和美化处理,不过和Tikiwiki相比还是略逊一筹。版本升级和汉化方面较薄弱。汉化发布参见www.chinammgg.com
  Xoops中文版,界面布局和风格一般,但其源码有代表性,值得参考。
  Sourceforge.net中已经有Tikipro项目,该项目的发起者们发现Tikiwiki存在的弊端,正在着手进行改进,还专门建个网站www.tikipro.org来进行开发的沟通和交流。Tikipro引入phpgacl来增强权限控制和管理。phpgacl是什么东东?它是用php+ADODB+Smarty开发的通用权限管理模块,设计思路非常好,能实现非常复杂的权限控制,提供很多实用的API函数,方便整合进已有的web内容管理系统中。
  phpgacl仅有的两个用户中,排在第一的是Mambo。
  Mambo,中文意思为曼波音乐(源于古巴黑人音乐),是功能最强大的开放源码的内容管理系统之一。在2004年4月20日伦敦举行的Linux用户和开发员大会上,Mambo从众多优秀的开放源码系统中脱颖而出,获得2004年度最佳Linux开放源码系统奖项,和它同场竞技的有KDE、Firebird SQL以及eGroupware等。
  Mambo基于php+mysql技术开发,具有易于安装、管理简单、可靠性高等特点。它分为核心系统(core)、组件(component)、模块(module)、界面模版(template)等,采用结构化的功能设计和界面布局设计。Mambo核心系统有前台用户界面和后台管理界面,方便最终用户使用和系统管理员管理,实现用户管理、权限管理、多语言管理、组件管理、模块管理、界面模版管理、数据库备份和恢复等诸多系统管理功能,提供文章管理、首页管理、网站链接、在线调查、横幅广告等常用组件,提供菜单、登录框、计数器等常用模块,还提供4个界面模版,满足小型网站使用游刃有余。其后台管理界面采用类似于MIS系统的界面布局,有菜单、工具栏、按钮、状态栏等,界面简洁大方,风格统一,符合Windows用户的使用习惯,不注意看还以为是在使用Windows应用程序。Mambo的组件相当于功能模块,在界面的中央主区域显示,通过管理后台灵活安装和卸装,支持第三方开发,非常便于系统扩展。Mambo的模块是一个个豆腐块,可显示在除中央主区域之外的任何界面区域,在界面的顶部、底部、左栏、右栏,还可以自定义显示位置,可通过管理后台灵活安装和卸装,还可动态创建基于html语言的简单模块,如友情连接、合作伙伴等。通过Mambo模块设置,可以定制出专业的前台用户界面布局,其机制比Tikiwiki更简单,功能更强大,更灵活。Mambo的界面模版机制更绝,只需要一个index.php文件和一个css文件就搞定,index.php中大部分是html代码,另有几个php的echo、mosLoadModules函数,用于动态显示页面标题和动态调入Mambo模块,这种机制使界面模版的设计可以在准可视化的方式下进行,原来首页怎么设计,现在也是怎么设计,界面的美化程度就要看你的美感和美术功底了,首页设计完后把一些地方换成php函数动态调入就行。界面模版同样也可通过管理后台灵活安装和卸装,换肤相当容易。简单、灵活、高效,比smarty技术强大易用。Mambo开发社区:www.mamboforge.net。Mambo中国:www.mambochina.net
  但是,Mambo的权限管理功能稍弱,名义上Mambo使用phpgacl进行权限控制,应该很强大才是,实际上Mambo只借用phpgacl的壳而已,原因很简单,phpgacl是基于php+ADODB+Smarty开发,而Mambo则基于php+MySQL开发,技术底层明显有冲突,因此Mambo简化了phpgacl的API函数,并把它写死在核心代码中,并不能进行动态的权限控制。虽然对于只需几个人维护的网站,Mambo权限管理已经够用,大的网站,管理角色一多就不适用。另外,Mambo的多语言支持,尤其是中文支持比较弱,Mambo核心系统只提供前台用户界面的翻译接口,后台管理界面却没有提供。
  PHP+MySQL的CMS可谓满天飞。PostNuke是PHPNuke 的衍生作品,类似的还有Xoops,E-Xoops等等。他们都把自己标榜为CMS 内容管理系统,但是事实上,他们只能算是WPS(WebPortalSystem) 网站门户系统。真正的CMS是完全将内容和表现形式分开的,而所有内容都依照类别储存。真正的PHPCMS有:
  ezPublish,Typo3,Xaraya
  Xaraya开发者是从PostNuke 分离出来的,但是代码是完全重写的。
  BBS方面,当前PHPBBS最好的无疑是vBulletin。 其次是InvisionPoweredBoard 。这个论坛最大的特点是可以无限期免费试用,保留它页脚的版权就可以了。功能虽然比vbulletin差,但是比Discuz PHPBB还是强不少。代码架构非常整齐漂亮,同时速度比vBulletin 要快。如果要免费的论坛,这个是首选的。接下来是PHPBB了。PHPBB开发者众多,但是开发速度还是显得有些慢。而且在负载效率的考虑上比前两个差多了,功能上也远不及。虽然可以加Mod解决功能问题,但是会对论坛升级带来不便。国产的论坛Discuz 是我最不推荐的论坛了。因为首先它本身就有版权问题(由XMB1.6修改而来)。其次它的安全漏洞很多,而最新的3.1.2版本还用Zend加过密,不便于根据自己的需要修改。
  Weblog方面,PHP平台公认最优秀的就是WordPress和MovableType了。后者目前只提供单用户版的免费下载,不限用户的版本要100美金。如有可能,个人将建议图书馆购买一套作为馆员工作日志平台。WordPress功能够用,容易维护,界面方面有许多经典的模板可供下载,也容易根据自己的需要进行更改,很适合作为个人日志或者团队日志的web平台。
  几个典型的weblog站点:
  基于PostNuke:沈晶冰炫耀地
  基于MovableType:凡夫俗子
  基于WordPress:数字图书馆前沿问题高级研讨班

注:本文参考了lang3的《我的内容管理系统(CMS)寻找历程——Mambo出鞘,谁与争锋?》。
作者: davidyin    时间: 2006-5-24
我一直用的是MovableType,相当简单,模版也多,甚至可以整个页面模板全部自己写都可以。




欢迎光临 广告联盟网 (https://bbs.ggads.com/) Powered by Discuz! X3.2