drupal应用

分享扫描版古籍

手头有很多年积攒下来的扫描版古籍,很适合在 Kindle DX 或者其他足够大的手持设备已经电脑上看。昨天正巧有人让我帮忙找一下 1956 年中华书局版的《资治通鉴》,所以就顺便想了一下分享这些已经版权过期的古籍的方式(按照中国的著作权法,这些古籍应该不存在版权问题,因为作者都已经过世超过五十年)。以前试过用比较复杂(当然也比较方便)的 Biblio 模块,但是那个输入起来太费时间了,所以对于希望有一种方式可以:

  • 支持 FTP 批量上传
  • 支持简单的文件描述
  • 可以使用 drupal 的访问控制和角色控制
  • 和 drupal 本身的各种功能更好的整合

其实符合这些要求的 drupal 模块很多,实验了一下,最后决定用 filebrowser 模块,完全符合上述的要求,并且支持三种下载管理模式(公开,私下,安全)。另外,它直接把 directory listing 作为一种新的内容类型,很方便管理,所以暂时使用这个模块继续实验一下。

在 blog 的导航中加入了“古籍”,点击就可以进入古籍列表了,可以直接利用浏览器的搜索功能进行搜索,也可以通过本 blog 的搜索功能。FTP 上传很便捷,一会儿功夫就上传了 2.1 G 的 PDF。同时重写了列表的 CSS ,使它和 blog 主题的风格一致。为了防止 Unicode 的文件名导致在某些浏览器中不能下载,所有文件名都改为数字名称。另外在本地写了一个小程序,可以快速的更改文件名和添加文件描述。

以后会陆续添加更多的古籍到这个目录,选录古籍的基本标准如下:

  • 实体书扫描版(这样才能确保质量)
  • 以中华书局、商务印书馆等主要出版社为主(也是为了确保质量)
  • 古籍的原作者必须过世五十年(以符合中国的著作版权法)
  • 只收录 PDF 格式,其它格式譬如 .djvu等也会先转为 PDF 格式再上传(方便 Kindle 阅读)

试一段时间看看。

Blog分类: 

Drupal + Wiki 的应用 (二)

总算有时间实现 (一) 中的构想了,网站的框架在 http://wiki.kzeng.info ,还在 alpha 状态。有一段时间想用 mediawiki 和 它的 extension 来实现 (一)中的设想,但是研究了一下,发现 Mediawiki 处理扩展(模块)的能力与 Drupal 相比差了很远,同时它的扩展插件也不如 Drupal 丰富,所以最终还是回到了 Drupal 上来,轻车熟路。目前的wiki站的搭建只完成了基础工作和两个最重要的功能的实现。

首先在基建方面,选用了 wikitoolsfreelingking 模块来实现 wiki 的基本功能,同时也使用了 bbcode 模块来帮助编辑,因为觉得就 rich 文本编辑而言,wiki 与 bbcode 相比,不一定会快到哪里,并且 bbcode 支持的效果更丰富。另外用了 quicktag 来实现简单的 bbcode 按钮添加功能。现在 Drupal 模块之间的协调工作做得不错,很多不同作者的模块都能无缝的配合使用;

其次,主题方面,用了系统自带的主题,并选择“时间的灰尘”色调,不打算在这方面投入过多的时间,实用主义嘛;

再次,用 biblio 模块将本地的 bibtex 格式的 reference 引入,实现了自己的 online citation manager 的功能,这个功能非常的必要,因为经常会看到一篇以后可能会需要的文章,如果不能有一个集中方便的地方储存,很快马上就会忘了地方,同时 biblio 模块为reference 新建了一种 node type,方便管理,并且可以快速的利用 wiki 组建添加评论和批注,biblio 模块可以利用 bibtex 里的关键词自动生成 tag,结合 Drupal 本身的 freetagging,非常的好用;

第四,用 tasklist 模块实现了 online project manager 的功能,把一些大的工作分割处理,方便时间安排;

第五, 用 frontpage 模块只做了首页简单的 shortcut;

第六,用 access control 来控制内容的呈现;

下一步的构想:

首先,利用 views 模块进一步优化整个网站的组织结构;

其次,加强 tag 组织网站的能力,利用主要的tag来方便快捷的组织网站的内容;

再次,利用 views, data api,和 calendar 做好自己的 online calendar,记录project相关的重要的 deadline,并和网站的其他部分相结合

继续修正中, 如果一切 OK,可以利用 profile 把整套网站做成一个 package 来发布。

当然,最后还要叹服一句 Drupal 的强大功能。本来这个网站是想和 blog 相结合的,但是考虑到这个网站对于稳定性的需要,所以单独安装了一套 drupal,如果一切运行良好,估计会维持现状而不会迅速的跟着 drupal 升级而升级。

Blog分类: 

Drupal + Wiki 的应用 (一)

很早以前就结合过 Drupal 和 Wiki。但是由于 Wiki 模块的“死亡”,网站里留下了不少无法更新的残骸。譬如历史年表,现在还有一些杂乱无章的内容,有经验的 Drupal 使用者能够看出那是 Filter 失效后的残留 (Drupal 考古学 ^_^)。对于第三方的模块的使用从那时起就有些担忧,万一它不再更新了,一部分网站的内容就死掉了。所以坚决不把网站的核心重点内容放在对第三方模块的依赖上。但是现在 Drupal 小组的设立对于模块的开发是一个很大的帮助,把个人的努力转化成团队的合作,对于模块的持续支持来说是一件好事。

所以重新想再在 Drupal 的框架下搭建一个 Wiki。准确的说是一个 Private Wiki,主要是方便自己使用的。但是它随时也可以转换为公开的 Wiki。目前的用途,大概主要是为了管理学术文献(当然同时也可以做其它用途)。现在的学术,已经发展成为了一种“考古”行业,任何一个想法,在真正付诸于实践之前都要翻看 20 年的期刊,防止别人已经做过,或者做的更好了。诚然, Hal Varian 在 How to Build an Economic Model in Your Spare Time(PDF) 里说开始做东西以前不要看 Literature,我老板也这么说,但是却又是不得不看的,倒不是因为牛顿说过要站在巨人的肩上,是因为 Time Constraint,毕竟还没有达到既有闲又有钱的境界。写 Paper,就像在地里种庄稼,只有不在意收获才能悠哉游哉的试试石头边偶然发现的一棵杂草能不能培育成一种味道有些像烤的七分焦的咖啡豆的小麦。真正的农民都是直接去种子站查找良种的。

Drupal 现在有两个并行的 wiki 项目,一个是 Wikitools;另一个是 Liquid。Wikitools 需要和 freelinking 或者 pearwiki filter一起使用;而 Liquid 独立的发展了一整套 wiki 的系统,它也可以和 pearwiki filter 等结合使用。但是 Liquid 的开发者曾经突然消失过很久,并且他的贡献也不是很稳定,所以决定用 Wikitools。因为 Wikitools 有自己的 group,至少还能和开发者保持着沟通,并且他的开发者一直非常积极的在维护着这个项目。这个 Wiki 小组已经做好了一个 Drupal 的 Wiki Installation Profile,可以直接快速的完成 Wiki 的设置。不过由于他们的这个安装配置是针对公共 Wiki 的,很多功能并不符合我的要求,所以还是打算自己从头来做。现在本地服务器上测试一下,如果有了比较稳定的结果,就可以正式上线了:)

Blog分类: 

Drupal 和 Maple

呵呵,不经意两者就扯上关系了。正在写一篇 paper,中间牵扯一系列复杂的符号微分,用 Maple 算好以后懒得手动的输入到 LaTex 环境中,于是就用 Maple 10 的 Export As... 直接导出为 LaTex 文件,不过这个文件却不通过 MikTex 的编译,于是就 google 一下看看是什么问题,用了" maple export latex "作为关键词,第一个结果就挺相关的,点击去一看,网站的界面蛮熟悉,心里想该不会是 Drupal 做的吧,虽然网站用了 url alias,但是点了一下注册,确认就是 Drupal 做的,呵呵, Drupal 的SEO 很自然的就把这个网站放在搜索结果的第一位了。反复浏览了一下,觉得一些设计挺好的,这个叫做 Maple Primes 的网站也使用了 User Points 模块,并且还根据 Points 给用户分了等级,并用不同的枫叶来表示,很有趣,所以就开始研究它是如何做的,因为正在给 Drupal China 做改造,也使用了 User Points 模块,所以就像学习一下。大致研究了一番,Maple Primes 应该是自己写了一个叫做 maplerate 的模块,这个模块可以根据 User Points模块生成的 Points 将用户分为不同的级别,显示不同的图标,这个想法挺好的,于是就开始琢磨如何写这个模块,又做了一下初步的测试,然后突然想起来,其实我到这个网站是有正经事情的。。。嗯,去找 Maple 输入 LaTex 的问题的解答。。。ft,跑了大半天的神,现在折腾到凌晨4点多了,sigh。。。

Blog分类: 

Drupal + LaTex = DruTex

<

p>

原来提到过关于 reference 的社会网络,现在搭了一个简单的框架,支持 Endnote 与 Bibtex 格式的引用的import & export,支持社会网络的各项功能(评论,tagging,等等),还在测试阶段,Bibtex的import功能还不是很完全,感兴趣的话可以看看我的这个测试站点。继续改进完善中,不过觉得这个东西的社会化意义价值不大,因为政治学里 LaTex 还不是规范,用到 Bibtex 的人可能还比较少。自然科学的情形要好很多。呵呵,做着玩吧,就当是自己的一个研究工具:)

另外,稍微研究了一下 Drupal 与 LaTex 的整合,其实 Drupal 以及有一个很方便的模块 DrupTex 可以做到这一点。DrupTex 的安装很简单,作为一种输入法出现在 Drupal 中,不过如果想运行 DruTex,服务器端必须安装 Latex,dvipng 和 ImageMagick,另外要对目录有读写权限。我安装了一下,ImageMagick 与读写没有问题,不过 LaTex 与 dvipng 并不是所有的空间服务商都提供的,所以有以下诊断信息:

The temporary directory is writable.

<

p>The image directory is writable.

<

p>Executing "latex" failed. Either LaTeX isn't installed or the "latex" executable is not in one of the search paths.
You cannot render high-quality images without LaTeX.
Mimetex maybe an alternative for you. Consult the documentation on how to use Mimetex.

<

p>Executing "dvipng" failed. Either dvipng isn't installed or the "dvipng" executable is not in one of the search paths.
You cannot use dvipng for rendering images (check the conversion method above).

Executing "convert" (ImageMagick) was successful: Version: ImageMagick 6.3.0 10/18/06 Q16 http://www.imagemagick.org

联系一下空间服务上看看可不可以给安装一下 latex 与 dvipng,如果不行,就只好试一下 mimetex 了。mimetex 其实已经有了支持 Wordpress, MT等的插件,所以其他平台的 blog 可以测试一下。呵呵,Drupal 这里的我在鼓捣一下:)

Blog分类: 

Drupal, 社会网络, Bibtex 与政治学

摆了一长串的名词。今天写 paper 时查 bibliography 时想到的。用 Latex 写 paper 很方便,使用 Bibtex 生成 reference lsit 更是顺手,但是整理自己的 reference 时有些小问题,经济学那边的 reference 很容易做,到 IDEAS 搜索一下,直接导出 Bibtex,放入 JabRef 的数据库,然后直接用就可以了;可是政治学这边却很麻烦,首先没有一个集中的放置 Citations 的地方,需要到 Jstor 等地方去查,虽然 Jstor 支持 Bibtex 输出,但是由于 Jstor 没有最新的期刊,还要分别去别的网站查,虽然一般的网站都支持 citation 输出,但是格式芜杂,需要自己转换。所以在想,其实可以做一个专门的放置政治学 citations 的网站,支持 Bibtex (以及其他格式譬如RIS,或者Endnote)导入/导出,完全开放式的管理,任何人都可以添加 citations ( 譬如查找 citation 没有找到,可以自己添加,Bibtex的严格格式避免了重复的添加),另外还可以方便用户针对citation 留言、评分(其实就是对某篇 paper 的评论与评价)等等,在社会网络方面可以做得比 IDEAS 更好。因为只是 citation 所以也不用担心版权问题,任何人都可以做。更重要的是技术上没有一点问题,因为 Drupal 再加几个简单的模块就可以做到。

首先搭建一个Drupal环境,然后安装一个 Bibliography 模块,这个模块现在已经支持 Endnote 等几种 citation 的格式,马上就要添加对 bibtex 等格式的支持。其实就是不支持,自己改一下也很容易。然后就是写常用的社会网络相关的模块了,所以很容易做到。Drupal 的 SEO 又作的很好,很快这个网站就可以被众多用户发现,(呵呵,关于 Drupal 的SEO的最近的例子,譬如这两天写了些关于慕容翰与慕容垂的东西,在google上搜索慕容翰,我这里在搜索结果中排第二,并且显示了二级搜索结果,搜索慕容垂,我这里在搜索结果中排第四,也显示了二级结果),大家可以一起贡献。

呵呵,想想罢了。

Blog分类: 

用Drupal搭建组织网站(2)

我们继续以 http://www.dogsbreedweb.com 为例讨论如何用Drupal搭建一个组织团体的网站。由于Drupal很多基本设置是相同的,即使你因为别的目的使用Drupal,也可以通过这个系列的讨论加深对Drupal使用的了解。上次我们讨论了的用户角色的设定,这次从最基本的网站设定开始。

首先是基本设定。进入 管理->设置, 在"通用设置"中你可以加入你的站点的名称,口号等诸多信息,同时也可以设置匿名用户的名称等。除此以外,在Drupal 4.7的正式版本中对"简洁链接"(Clean Url)的设定作了新的改进,你必须先点击运行一个测试程序才能确定你的空间是否支持简洁链接,然后才能启动它。

设置完通用设置以后,你的网站已经可以正常运行了。下面讲讲如何导入汉化。首先要到Drupal的翻译下载中,下载Drupal 4.7的汉化文件,在本地解压。然后进入 管理-〉本地化(Localization),通过"add language"添加简体中文,然后点击"导入"(Import),将刚才解压的汉化文件导入"简体中文"语言中即可。有时由于服务器端PHP的设置限制了最大可上传文件的大小,无法一次完成上传,如果发生了这样的问题,可以到Drupal China下载没有合并的小型汉化文件并逐一上传。

完成了汉化以后,Drupal使用起来就顺手多了,因为很多地方都有必要的帮助。从下一篇帖子开始讨论一下Drupal的必要的各种模块,包括如何使用模块来进行搜索引擎优化(SEO)以及快速让Google收录你的网站等等。

Blog分类: 

用Drupal搭建组织网站(1)

dogbreedsweb.png使用Drupal以来尝试着用Drupal搭建过blog(譬如我的blog)以及社区网站(譬如Drupal China),但是还没有搭建过组织或是中小型公司的网站,所以一直想试一下。正好刚刚在Drupal China开设了Drupal应用讨论区,而原来也答应过一个朋友帮他搭建一个关于宠物狗的网站(其实我也想过为我家蛋花搭建一个宠物猫的网站,这样蛋花就可以向胖胖吹嘘了),一直也没有来得及做,所以现在正好从头开始做这个网站,同时留下搭建的笔记,可以和诸位Drupal的fans们交流一下经验,我努力写的详细些,顺便介绍一下Drupal 4.7的新的特点。

Drupal的安装过程先略去不讲了。直接从安装过后开始创建第一个用户开始。这个用户将会是网站的管理员。Drupal 4.7更改了重设密码的方法,所以现在不用担心有人会恶作剧不定的发送重设密码的请求了。设置完管理员以后,通常为了安全起见,可以再设定一个平常使用的用户名,这与Linux下尽量避免直接使用root登入系统类似,主要是防止无意对系统的破坏。如果打算设置这样一个用户,可以直接以管理员身份登入,在管理->用户 中添加新的用户,譬如这里我新建了一个叫做 dog lover 的用户,你可以直接指定邮箱与密码。然后再给这个用户相应的权限。

通常我们通过用户角色来控制用户的权限。Drupal默认的用户角色有两个,一个是"匿名用户",一个是"注册用户"。dog lover应该有更大的权限(譬如发布新闻),所以我们给他新建一个角色,譬如 "管理员"。进入 管理->访问控制,点击"角色"标签,添加这个新的角色。并在"权限(permission)"标签下为这个角色设定权限。这样一个新的用户的设置就完成了。同时通过角色的创建与设置,你还可以给不同的用户以不同的权限,譬如你的网站有论坛,那么可以在这里设置论坛的版主,但是这样设置的是超级版主因为他对任意一个讨论区的帖子都有更改删除的权限,如果想具体设置某个讨论区的版主,那么我们需要使用 Taxonom Access 模块,这个以后我们会讲到。

Blog分类: 

The Onion迁移到Drupal搭建的新站点!

政治幽默讽刺网站The Onion也开始使用Drupal了。据说The Onion曾经在Drupal和Mambo之间对比许久才最终选定Drupal作为新的网站的CMS+Blog工具的。选定Drupal后,网站的设计是Behavior Studio做的,在它的网站上有详细的设计过程

呵呵,The Onion这个“烂”网站是我的favorite之一,它出版的报纸向来都是我午饭的好佐料:)它不仅仅恶搞时事,尽其所能的肆意戏谑,还出版了历史回顾系列丛书,譬如那本《美国世纪》,模仿了1900年到2000年的报纸,报道了重大事件的发生,譬如下面这则“麦金利被野猪袭击”,让人乐不可支:)
[img]http://www.kzeng.info/files/Poor McKinley.gif[/img]

Free Tags: 
Blog分类: