最近负责为公司搭建项目管理系统,有如下要求:
- 支持BUG管理
- 支持帐号管理
- 支持WIKI
- 支持任务分配
- 支持中文
由于时间紧迫,感觉 redmine
界面更漂亮,相关资料也好找,而且帐号管理、中文支持方面的很不错,所以选择了 redmine
。其实心里面一直希望选的是基于 python
开发的系统,一方面自已喜欢 python
,另外团队中对 python
熟悉的人比较多,这样后面需要做二次开发时会容易一些。
trac
给人的第一感觉是太过于简单粗糙了。界面朴实简洁尚可接受、演示站点中文化不彻底、自已安装的时候较之 redmine
更是磕磕绊绊。=trac= 使用 Babel
进行多语言支持,当前的trac稳定版(1.0)存在中文支持方面的Bug:Wrong `NullTranslations` class in functional tests ,我在安装过程中就遇到了,正是这个问题才觉得先研究一下 Babel
,于是有了上一篇文章 《python应用国际化:Babel》, trac
下一版(1.1)对这个问题进行了修复。 网络上有很多人对 trac
夸赞有加,另外 trac
还有持续集成的插件: Bitten , 在对 Babel
有一定了解后,我终于鼓气勇气研究起 trac 。
安装最新版 trac
使用学习
Babel
时建的虚拟环境workon LearnBabel
从最新源代码安装
trac
svn checkout http://svn.edgewall.org/repos/trac/trunk trac cd trac python ./setup.py install
建一个项目看看效果
cd ~/Examples/python trac-admin LearnTrac initenv tracd --port 8080 LearnTrac & xdg-open http://localhost:8080
感觉 trac
的中文化做得还不够彻底,但是关键的部位都已经中文化,不影响对整个系统的使用,有了 Babel
的经验之后对它进行中文化是很容易的,翻译后提交给 trac
开发人员,也算是回馈开源社区了。
配置用户
创建帐号文件
LearnTrac/conf/users.digest
user=admin realm=localhost password=admin file=LearnTrac/conf/users.digest echo ${user}:${realm}:$(printf "${user}:${realm}:${password}" | md5sum - | sed -e 's/\s\+-//') >> ${file}
重新启动服务
tracd -p 8080 --auth="LearnTrac,LearnTrac/conf/users.digest,localhost" LearnTrac
现在可以使用 admin
帐号登录了
帐号管理方面 trac
比较弱,只能通过 trac-admin
命令行工具来管理,小团队使用还是可以接受的,另外仅支持HTTP认证,配上HTTPS布署到外网也算是不错的选择。
配置权限
为
admin
用户赋予管理员权限trac-admin LearnTrac permission add admin TRAC_ADMIN
现在可以在WEB界面上看到“管理”标签页了,可以在WEB界面上对权限进行配置。