使用Redmine进行日常项目管理工作有一段时间了,逐渐产生了深入研究它的想法。目前升级到2.0.3版本,正好以此为实例熟悉ruby1.9及Rails 3的新特性。
首先梳理一下Redmine的主要功能特性,后续以此为依据,分模块研究内部的实现过程。以下内容来自官网http://www.redmine.org/projects/redmine/wiki/Features。
1、支持多个项目
- 可以在一个redmine系统中管理多个不同项目
- 在不同的项目中用户可以拥有不同的角色
- 项目可以设置成公共(不用登录即可访问)或私有(只有项目成员可以访问)
- 每个项目可以自定义使用的模块功能(包括wiki,代码库,问题跟踪等功能)
2、支持多个子项目
- 一个主项目下可以组织相关的部分为子项目
3、灵活的基于角色的访问控制机制
4、灵活的问题跟踪系统
5、甘特图和日历
- 根据问题的开始和结束日期自动生成甘特图和日历
6、时间跟踪功能
7、自定义属性
- 可以为问题、工时统计、项目、用户自定义属性
- 自定义属性支持不同数据类型:text, date, boolean, integers, drop-down lists and checkboxes
- 自定义属性可以和常规属性一样显示在问题列表或作为过滤器使用
8、新闻、文档和文件管理
- 方便地发布信息和共享文件
9、每个项目带有Wiki和论坛功能
10、代码仓库浏览和代码变化视图
- 可以关联代码库到项目
- 可以浏览代码库内容,查看和搜索变化内容
- 提供查看代码变化的视图,及评审视图
- 支持的SCM包括:Subversion, CVS, Mercurial, Darcs, Bazaar, Git
11、RSS输出和邮件通知
- 项目活动、新闻、问题、问题变化可以作为RSS输出
12、支持多LDAP用户认证
- 支持跨多个LDAP对用户进行认证
- 如果用户在LDAP中发现,可以据此信息创建帐户(可选)
13、支持用户自注册
- 可以选择允许用户在线注册
- 支持三种帐户激活方式:自动(不需要确认)、人工(管理员确认)、通过邮件发送系统自动生成的激活URL
14、支持多种语言