Drupal

关于Drupal的安装、使用、问题、修改等的讨论。也是目前唯一的Drupal中文交流论坛。

Drupal的cron任务

以前一直没有仔细看Drupal的readme文件,只要安装完毕便是万事大吉。运行不出问题,也没有去考虑钻研一下文献,结果慢慢的发现有了一个问题:数据库的尺寸越来越大,天啊,今天到了不可想像的80M,打开phpmysql,发现accesslog这个table尺寸巨大,还有cache这个table,到管理->设置->统计数据中把保留log的时间调短,可惜还是于事无补,数据库的尺寸一点都没有减小,于是爬上drupal总站,大喊一声,Drupal怎么这么挫,顿时来了不少热心先生,仔细讨论一番,原来是我一直大意,没有设置cron任务。

Drupal的一些模块有定期运行的任务,而这个任务必须由cron来引发。这个大致是类似windows下的“计划任务”,定期自动运行一些程序,譬如你决定周五晚上8:00杀毒一样。所以为了使得一些程序可以定期的清理数据库,丢弃不需要的数据,你必须设置cron任务。最简单的激活cron任务的方法就是访问:http://你的安装目录/cron.php 这是一个手动的比较笨的办法,当然最好就是能够自动运行,不过这需要你的服务器支持SSH,并且你还要熟悉一些常用的命令行,你既然能耐心看我罗嗦到这里,肯定是不会用这些复杂的,这儿有一个简单的方式,就是使用poormanscron.module,它 的原理其实也很简单,有访客访问你的网站的时候,通过对你设定的cron时间进行判断,如果该运行cron了,就在访客浏览你的网页时利用他的浏览激发cron任务。所以,只要安装了这个模块就可以省却不少麻烦。不妨试试,我今天使用后,accesslog出了一点小小的问题,不过刚才用repair table修复了,现在已经好了。

Blog分类: 

Tips for Choosing Web Hosting

You need to find a home for your masterpiece. While technically you can run your own server and host your site yourself, this requires a lot of technical know-how, not to mention money and equipment. I don't recommend it.

Free vs Pay

So, one of the first decisions you need to make is whether or not you want to put your Website up on a free service, such as GeoCities, or whether you're willing to pay to have someone host your site. A third option is to take advantage of sites that host designer's portfolios for free, such as .

I recommend that you pay to have your site hosted. Free services tend to have annoying pop-up ads. Also, if something looks to good to be true, it normally is. Today's free service could begin charging you tomorrow.

Taxonomy upgrade extras: 

Node Alias模块

/**
* @file
* Allows module to be nodealiasd giving it an alias.
*
*/
/**
* Implementation of hook_help().
*/
function nodealias_help($section) {
switch ($section) {
case 'admin/modules#description':
return t('Enables users to make a node alias');
case 'admin/help#nodealias':
return t("Need something here");
case 'node/add/nodealias':
return variable_get('nodealias_help', '');
case 'node/add#nodealias':
return t("A node aliasd node provides an alias to a node");
}
}
/**
* Implementation of hook_node_name().
*/
function nodealias_node_name($node) {
return t('node alias');

Taxonomy upgrade extras: 

Drupal的两个新模块:pureftp模块和 node alias模块

又有两个新鲜出炉的模块:pureftp模块和node alias模块。pureftp模块使用pureftp服务来管理ftp 用户,把Drupal和Pureftp整合在一起。Pureftp本身是一个开放代码的跨平台ftp服务器端软件,它的介绍在这里

Node alias模块的用处更大一些,不过作者还没有申请到CVS帐户,不能直接提供模块下载,在本文的结束我会把它的源码贴出,欢迎大家测试。Node Alias模块(以下简称为NA模块)主要的功能有两项,都挺实用的。

Drupal允许把任何内容(包括blog, story, 静止页面)加入书籍(book)中,但是会导致两个小问题。第一,当你把一个blog页面(或是story,静止页面)通过“大纲”加入书籍中后,你的blog页面下端会出现类似书籍页面的“上一页”,“下一页”,“返回首页”等导航链接,影响了blog本身的美观,而NA模块就可以解决这个问题。当你把node alias用大纲加入书籍后,书籍的导航链接只在访客从书籍中浏览这个页面时才出现,如果访客以blog的形式浏览这个页面,则不会显示任何书籍导航链接,也就是是说链接通过对浏览的场景的判断的而显示或是隐藏。NA模块的第二个作用就是可以把一个页面加入不同的书籍中。呵呵,所以觉得这个模块其实挺使用的,特别是在把老的blog的内容整理称为书籍的时候:)

NA模块的源码如下:

点击这里

Blog分类: 

Drupal + Gallery 2: 最新演示

Drupal的Gallery 2 模块推出了好几个测试版,一直都没有试一下,不过今天浏览作者的网站时看到了一个不错的demo,可以和Drupal的image模块对比一下,呵呵,感觉效果不错,不知道最近推出的album模块是否可以与Gallery 2媲美。

另外发现,这款Gallery 2模块其实对于Video文件也可以生成缩率图,注意看名叫Video的子影集,其实它里面是一段Video。呵呵,这个或许也可以作为Drupal多媒体解决方案之一吧,和最新的media模块有些相似。

另外,就中文Drupal的新闻而言,Hiweed似乎彻底放弃了Drupal的汉化开发,以前以为它的Drupal部分只是暂时的无法访问,现在看来Hiweed似乎决定专注Linux了。Drupal马上就要推出4.6.0版本了,原来的4.5.0版本的汉化可能需要升级,正在考虑是不是向Drupal申请一个CVS帐户,接手Hiweed做汉化,或者有比较感兴趣的同好,大家可以一起来汉化新版本的的Drupal。

Blog分类: 

Drupal的两个新模块和麻烦丛生的Spread Firefox主题

今天Drupal又推出了两个新的模块:AlbumEzmlm。 Album模块需要image和folksonomy模块的支持,估计是对image模块的改进,它用到了folksonomy模块,说明它应该像flickr一样支持图片标签(Tag)。既然称作Album,不知道会不会和Gallery比较相似,开发者没有给Demo。呵呵,整合Gallery的Drupal Gallery Module的开发一直都没有停止,可是并没有推出正式版,估计还在测试中。

Ezmlm模块应该是 easy mailing list management的缩写吧:P 它是一个管理邮件列表和订阅的工具,可以允许访问者订阅任何特定的页面和区块。

除了这两个模块,这阵子还有两件关于主题的“大事”。第一个是FriendsElectric主题的发布,这款主体还有一个衍生的Lite版本,是一个没有任何table完全用div定义的主题。另一个便是争论不断的Spread Firefox主题了。这本来是www.spreadfirefox.com使用的主题,该网站是由Drupal的衍生版本CivicSpace搭建的,不久前有人把它的主题port到Drupal,看上去蛮清爽的,但是block的显示问题却一直没有解决,不少Drupal使用者为此放弃了这款主体,还有不少在讨论改进,呵呵,可以根据这个主题改进一下我现在使用的主题:)

Blog分类: 

Drupal推出4.6 Release Candidate!

Drupal的动作还是挺快的,不久前code freeze,开发新版本,现在居然有了一个样品了:)!呵呵,急不可耐的安装了一下,可以在这里看到这个新版本的模样。我还没有升级正在使用的这个Drupal,主要是因为很多的模块和主题还没有推出升级版本,并且这次升级还要改动数据库,比较复杂,等到一切都完备再说吧:P

从刚才的测试来看,管理中的不少设置都改变了,新添加了“Access Control”一项设置,用来确定访问权,原来这一项设置是附属于“用户帐号”设置的。另外论坛的设置也改变了很大,比原来的设置要简单方便很多,不用先设置关键字,再去设论坛,只要在论坛设置中直接添加就可以了。论坛的发帖也可以更改编辑了---这是原来Drupal被人诟病最多的一个问题。但是论坛本身比起PHPBB相差还是挺远的,没有添加譬如“引用回复”等选项,估计还是要靠模块来完成了。

区块(block)设置也有了较大的改观,现在可以更加方便的设置区块的显示,只需要简单选择就可以完成诸如“只在Blog中显示”,“只在Book中显示”等操作,很是方便。

搜索据说也彻底支持UTF-8编码,可以进行多语言搜索了,但是我测试了一下,还是有问题,准备写bug report。

还有其他很多比较细小或者是革命性的改动,请参看下面的更改日志:

------------------------

- search:
* added UTF-8 support to make it work with all languages.
* improved search indexing algorithm.
* improved search output.
* impose a throttle on indexing of large sites.
* added search block.
- syndication:
* made the ping module ping pingomatic.com which, in turn, will ping all the major ping services.
* added categories to RSS feeds.
* added enclosures to RSS feeds.
- flood control mechanism:
* added a mechanism to throttle certain operations.
- usability:
* refactored the block configuration pages.
* refactored the statistics pages.
* refactored the watchdog pages.
* refactored the throttle module configuration.
* refactored the access rules page.
* refactored the content administration page.
* introduced forum configuration pages.
* added a 'add child page' link to book pages.
- contact module:
* added a simple contact module that allows users to contact each other using e-mail.
- multi-site configuration:
* made it possible to run multiple sites from a single code base.
- added an image API: enables better image handling.
- block system:
* extended the block visibility settings.
- theme system:
* added new theme functions.
- database backend:
* the PEAR database backend is no longer supported.
- performance:
* improved performance of the forum topics block.
* improved performance of the tracker module.
* improved performance of the node pages.
- documentation:
* improved and extended PHPDoc/Doxygen comments.

Free Tags: 
Blog分类: 

awTags的一点小改动:支持汉语Tags

昨天安装后一切都还正常,只是对汉语的Tag的支持有些小问题,估计是因为作者在设定Tag输入时加了filter,过滤掉了非西方语言和数字的tag。于是就到作者的网站[留了言|http://www.autowitch.org/node/4091],今天下午才留的,傍晚作者便推出了一个新的版本 [beta 1.9b|http://www.autowitch.org/files/drupal/4.5.2/modules/awTags-4.5.2-Beta.1.9B.tar.gz]解决了这个问题,在awTags的设置中增添了一个选项,可以打开或是关闭Filter以选择是否支持非西方语言的Tag,呵呵,作者的速度真块,大大的赞一下:)这样一来,awTags可以在中文Drupal中完美的实现其功能了! 现在在试验如何摆放Tags标签和使用什么样的格式(format),先暂时使用了简单的格式,并把它放在了文章的最后,觉得放在文章的前面应该会好一些?不知道大家怎么想:)
Free Tags: 
Blog分类: 

Drupal的一款最新实用模块:awTags!

什么是Tag?简单的说就是标示。如果你对[flickr|http://www.flickr.com]或是[Technorati|http://www.technorati.com]比较熟悉的话,自然对Tag不陌生。Tag允许你给blog中的每一篇或是几篇文章一个或是多个共同的Tag(标示),通过tag把文章组织起来,便于读者浏览。当然,Drupal本身的分类系统也能实现的功能,但是那种实现方式太复杂,譬如说,我想写一系列关于The Da Vinci Code相关的文章,用Tag来标注只需要在对每篇文章加个Tag(譬如,The Da Vinci Code)就行了,访客点击这个Tag就可以看到所有关于这个话题的帖子。如果专门创建一个Taxonomony或是vocabulary不仅麻烦,以后不再写相关话题这个分类就浪费了。Tag不仅可以create on the fly,还可以在侧边栏显示一个Tag的区块,不同的Tag根据文章的多少显示不同大小的字体,就像[Flickr做得那样|http://www.flickr.com/photos/tags/]。 现在,Drupal的一个新模块--awTags便可实现关于Tag的一切功能。这个模块支持的功能非常的多,不仅可以给每篇文章多个Tag,还可以实现Tag的侧边栏模块,以及不同Tag的使用权限,还可以决定哪些node类型可以添加Tag,可以设定相关Tag等等。这么模块现在最新的版本是 beta 1.9,我已经安装了,可以在这篇文章后面看到效果。 这个模块可以在[这里下载|http://www.autowitch.org/files/drupal/4.5.2/modules/awTags-4.5.2-Beta.1.9.tar.gz],关于它的介绍可以在[Drupal的官方网站|http://drupal.org/node/18087]看到,也可以访问[作者的网站|http://www.autowitch.org/node/4091]。 安装本身很简单,把两个文件(.module和.inc)拷贝到modules下,创建两个关于awTags的数据库表,然后启动这个模块,进行设置就行了,非常的方便。不过这个模块现在还是英文的,呵呵,不知道中文的Drupal-ers对这个模块是否感兴趣,如果感兴趣的人多我就把它翻译为汉语吧,看了一下.pot,不是很长:)
Free Tags: 
Blog分类: