因为准备使用wiki进行需求分析,所以原来的jspwiki已经不能满足要求,于是决定重新寻找一个功能强大的wiki程序。
我们对新的wiki的要求如下:
1.具有链结改名功能
2.能够同一个页面存放多个独立内容(可以单独编辑)
3.维护方便,不喜欢用数据库
毫无疑问,wikipedia使用的mediawiki,docuwiki和老牌的twiki纳入了我的视线。经过评估,发现mediawiki的功能虽然强大但是界面难以控制,而且使用数据库存储,docuwiki的功能很好,但是重要的rename功能暂时没有。twiki没发现满足要求2,但是具有rename功能,而且不用数据库,所以决定用它了。
经过寻找,最简单的安装方式如下:
1.到http://www.cs.purdue.edu/homes/trinkle/RCS/下载最新的rcs for win32,只需要下载rcs57pc1.zip (1.2MB), 就可以了,其它两个是文档和源代码,我们用不到。
2.到这里http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl下载ActivePerl的程序,建议直接下载msi文件,喜欢自己动手的也可以直接下载zip包,但是要手工install。
3.这是最重要的一步,到http://twiki.org/cgi-bin/view/Plugins/TWikiInstallerWindowsContrib页面下载网友自己写的twiki安装包,只需要去下载那个setup.exe就可以了,是一个winrar的自解包。
然后我们开始真正的安装步骤:
1.把rcs包解压到d:\rcs中
2.安装activeperl,安装好之后,务必去更改一下系统环境中的PATH内容(热键win+break唤出系统设置页面),确保perl路径比如c:\perl\bin在PATH中存在。
3.把twiki的那个setup.exe复制到一个新目录中,比如d:\temp中,然后运行(建议直接用winrar解压缩,手动运行其中的twinst.exe)。
这个setup程序会自动从网络下载TWiki20040904.zip(一个老的稳定版本),如果网络不快的,可以自己先去下载下来,放到d:\temp中就可以了。程序还会自动去下载activeperl,不过没关系,直接cancel就可以了,会自动进入下一步的。它默认安装Twiki的路径是c:\program files\twiki,有兴趣的同学可以直接去修改d:\temp\install.ini文件中的twikiTargetDir项就可以了(建议大家去修改,因为RCS不支持有空格的路径)。
安装好之后,就可以用浏览器调出http://localhost/twiki/bin/testenv.pl来测试一下了,如果有红色的warning,就要按照提示去修改C:\Program Files\twiki\lib\twiki.cfg文件了。
此时,即使你正确设置了twiki.cfg中的rcs目录,rcs功能还不好使。我们无法保存页面被修改的历史。需要我们去手工运行以下,去把被锁定的rcs版本文件打开,方法很简单,使用命令行进入c:\program files\twiki\data目录中,大家会看到四个子目录TWiki,Main,Trash,Sandbox和_default,依次进入这些目录,在命令行运行两个命令 rcs -u *.txt 和 rcs -l *.txt,大家准备好敲几十下y吧。
到现在为止,大家已经可以使用http://localhost/twiki/bin/view.pl/TWiki/WelcomeGuest看看欢迎页面了!
如果要学习twiki的用法,可以到http://www.stlchina.org/twiki/bin/view.pl/TWiki/TWikiQickStart去看看。
有人要问了,最新版本怎么装阿?这个我暂时不知道,但是我觉得可靠的方法是去阅读最新版本的upgrade文档。如果我读完了,会告诉大家的。
2006日3月31日
为了解决上述的问题,我尝试把最新版本的twiki改名为setup需要的zip包名字,但是始终无法让twiki和RCS结合起来运行,一个没有版本管理功能的wiki要他做什么?!!所以只能继续寻找答案。
我找到了一个对于WIKI选型具有极大帮助的站点www.wikimatrix.org,最终我选型之后的对比结果看http://www.wikimatrix.org/compare/DokuWiki+MoinMoin+PmWiki+TWiki这里。
根据细致的对比,我选择了PmWiki,实际上这个wiki非常不错,但是我发现它首先没有统一的管理界面,其次没有统一的插件下载,无奈,我在尝试很久之后只好放弃。在继续选型的过程中,我对wikimatrix的对比结果做了以下分析:在全部的功能中,这四个wiki可以直接支持、间接支持和不支持的功能数量分别如下表:
直接支持 | 间接支持 | 不支持 | |
dokuwiki | 39 | 14 | 23 |
moinmoin | 47 | 3 | 27 |
pmwiki | 34 | 27 | 14 |
twiki | 43 | 22 | 13 |
最终,因为moinmoin不支持最需要的section edit功能,所以选择了dokuwiki。
dokuwiki的安装和pmwiki同样简单,先去安装php5,然后直接解压缩c:\dokuwiki到文件夹,然后internet管理器中去共享,共享名比如叫mywiki。再在mywiki的属性页中加入默认文件index.php,就可以直接在浏览器里面输入http://localhost/mywiki看到首页了。
使用中发现什么了吗?当然,你没有发现管理页面,不要紧,到c:\dokuwiki\conf中把所有后缀为dist的文件全部把.dist去掉,比如local.php.dist改名为local.php。这个local.php就是配置文件,默认配置在同目录的dokuwiki.php中,我的做法是直接把dokuwiki.php另存为local.php了,然后把“$”查找替换成“//$”,这样就不需要我一个一个去找配置名称了。
我修改的配置有如下几个:
$conf['title'] = 'bigtall Wiki';
$conf['useacl'] = 1; //Use Access Control Lists to restrict access?
$conf['openregister']= 1; //Should users to be allowed to register?
$conf['autopasswd'] = 0; //autogenerate passwords and email them to user
$conf['superuser'] = 'admin'; //The admin can be user or @group
$conf['profileconfirm'] = '1'; //Require current password to confirm changes to user profile
其它参数大家可以参考http://wiki.splitbrain.org/wiki%3Aconfig
然后刷新一下页面,就看到了页面下方的“登录”按钮,注册第一个用户叫admin吧。
最后,需要为我们的新玩具增加额外的功能,我到这里 下载了几个有用的插件
backlinks、bookmark、code、ifauth、include、info、lists、orphanswanted、pagemove、searchindex、source。我把它打包放在了这里,因为很多插件只提供php源代码,需要手工生成这些文件的,比较麻烦。
最后,我很满意我的dokuwiki,因为它通过pagemove插件的配合,完成了我开始所有的要求。