使用trac系统进行项目管理
2011-08-27 14:13
363 查看
Trac是Edgewall公司开发并维护的开放源码网页界面专案管理、缺陷追踪软件。Trac的灵感来自于CVSTrac,因为能够与Subversion接口,所以最初叫做svntrac。
Trac使用Python编程语言开发。在2005年中以前,Trac以GPL发行;直到 0.9 版开始使用修改过的BSD许可证释出[1]。基本上都是属于自由软件的许可证。
主要功能
Trac使用超链接方式把软件缺陷数据库、版本控制系统和wiki内容结合起来,并作为版本控制系统的web接口,支持的版本控制系统包括Subversion, Git, Mercurial, Bazaar, Perforce, Darcs. 在0.11版本之前,Trac的web展示前端由ClearSilver web模板系统提供,自0.11开始,由其自行开发的Genshi模板系统提供,但保持了对ClearSilver及其插件的兼容。
其他功能:
项目管理 (Roadmap, Milestones, 等)
追踪系统 (缺陷追踪、任务 等)
细粒度权限支持 (自 0.11版本开始)
最近活动的时间轴
Wiki
可定制的报告
版本控制系统的web接口
RSS Feeds
多项目支持
环境扩展(通过Python 插件支持)
iCal 输出
Milestone(里程碑) :这个好理解,不做解释。
Version(版本) :项目的版本。
Component(组件):项目中的组件。
Ticket : 这个有人翻译为传票,有人翻译为任务单,我都觉得不妥,因此不做翻译。
Ticket type :Ticket 的类型,默认有 defect(缺陷)、enhancement(改进)、task(任务)。
Priority(优先级) :Ticket 的优先级。
Resolutions(解决方式) :Ticket 的解决方式,当要关闭 Ticket 时的选择。
Severity(严重程度):Ticket 的严重程度。
关系图如下:
由于 Trac 的灵活性,我们使用 Trac 来进行项目管理时,有很高的自由度,上述单元皆是可自定义的,比如 Ticket 默认有如下类型:
Defect
Enhancement
Task
偷懒的人一般就默认使用这三个类型,如果是项目要求高一些,可以定义一些扩展的 Ticket 类型,如 Patch、Translate、Test,当然这只是举例说明,还是需要根据项目的具体需求来进行定制。
大多使用 Trac 进行项目管理都有一个中心,某些团队以 Milestone 为中心,有些以 Version 为中心,有些以 Component 为中心,最后就是以 Ticket 为中心的,其松散程度是逐步增加的。
Ticket 是 Trac 中最核心的单元,整个 Trac 都是围绕 Ticket 进行的,在应用 Trac 时,Ticket 可以让团队中的人分工更为明确,比如市场调查可以只负责 Create Ticket、Edit wiki,开发人员、测试人员根据自己的能力各自完成自己所属的 Ticket,最后以完成某个中心为终结;通过里程碑,管理者也可以更快,更直接的了解到项目进度从而制定相应计划;通过 Wiki ,新进成员也可以更快速的融入项目。
不过这些都是以真正的应用 Trac 到项目的开发、管理、测试为前提。
很多应用 Trac 进行管理的人都说:现在最兴奋的事,不是完成一个一个的功能,是关闭一个又一个的 Ticket,看着里程碑逐渐接近 100%,工作热情也特别高涨。
当创建了一个 Trac 环境时,默认权限分布如下:
User Action
------------------------------
anonymous BROWSER_VIEW
anonymous CHANGESET_VIEW
anonymous FILE_VIEW
anonymous LOG_VIEW
anonymous MILESTONE_VIEW
anonymous REPORT_SQL_VIEW
anonymous REPORT_VIEW
anonymous ROADMAP_VIEW
anonymous SEARCH_VIEW
anonymous TICKET_VIEW
anonymous TIMELINE_VIEW
anonymous WIKI_VIEW
authenticated TICKET_CREATE
authenticated TICKET_MODIFY
authenticated WIKI_CREATE
authenticated WIKI_MODIFY
anonymous 代表匿名用户的权限,authenticated 代表登录用户所拥有的权限,权限信息都很易懂,就不做解释;默认配置下,这是较为安全的,但是这样我们无法管理这个任务仓库,必须先分配一个管理员。
TRAC_ADMIN 是最高级别权限,有了这个权限,登录名为 zealic 的用户就可以管理这个项目的所有信息了。
登录 Trac 以后,在管理页面中 Trac 提供了 Permissions 选项,可以以可视化的方式更改权限信息。
好比 .Net 下的 TDD 拥有了 TestDriven.Net,提高的生产力可不是几句话就能够形容的,我也极度期盼 .Net 能够提供与 Trac 集成的插件。
相比之下,我极羡慕 eclipse 3.3 中集成的
Mylyn,可以很方便的与 Bugzilla,JIRA,Trac 集成;好吧,我承认,我希望有“逸士”能够造一个 NMylyn 或者 Mylyn.Net 供我们使用。
Trac 通过 xml-rpc 提供交互接口,也许某天,我会来做这个“逸士”;不过,似乎很难。
这里 是台湾的某人写的一系列关于 Trac 的文章,可以参考一下。
主页:http://trac.edgewall.org/
参考:http://www.cnblogs.com/zealic/archive/2008/01/13/1037414.html
参考:http://www.cnblogs.com/HanN1984/archive/2007/08/09/840575.html
Trac使用Python编程语言开发。在2005年中以前,Trac以GPL发行;直到 0.9 版开始使用修改过的BSD许可证释出[1]。基本上都是属于自由软件的许可证。
主要功能
Trac使用超链接方式把软件缺陷数据库、版本控制系统和wiki内容结合起来,并作为版本控制系统的web接口,支持的版本控制系统包括Subversion, Git, Mercurial, Bazaar, Perforce, Darcs. 在0.11版本之前,Trac的web展示前端由ClearSilver web模板系统提供,自0.11开始,由其自行开发的Genshi模板系统提供,但保持了对ClearSilver及其插件的兼容。
其他功能:
项目管理 (Roadmap, Milestones, 等)
追踪系统 (缺陷追踪、任务 等)
细粒度权限支持 (自 0.11版本开始)
最近活动的时间轴
Wiki
可定制的报告
版本控制系统的web接口
RSS Feeds
多项目支持
环境扩展(通过Python 插件支持)
iCal 输出
1) 基本概念
Trac 中的单元:Milestone(里程碑) :这个好理解,不做解释。
Version(版本) :项目的版本。
Component(组件):项目中的组件。
Ticket : 这个有人翻译为传票,有人翻译为任务单,我都觉得不妥,因此不做翻译。
Ticket type :Ticket 的类型,默认有 defect(缺陷)、enhancement(改进)、task(任务)。
Priority(优先级) :Ticket 的优先级。
Resolutions(解决方式) :Ticket 的解决方式,当要关闭 Ticket 时的选择。
Severity(严重程度):Ticket 的严重程度。
关系图如下:
由于 Trac 的灵活性,我们使用 Trac 来进行项目管理时,有很高的自由度,上述单元皆是可自定义的,比如 Ticket 默认有如下类型:
Defect
Enhancement
Task
偷懒的人一般就默认使用这三个类型,如果是项目要求高一些,可以定义一些扩展的 Ticket 类型,如 Patch、Translate、Test,当然这只是举例说明,还是需要根据项目的具体需求来进行定制。
大多使用 Trac 进行项目管理都有一个中心,某些团队以 Milestone 为中心,有些以 Version 为中心,有些以 Component 为中心,最后就是以 Ticket 为中心的,其松散程度是逐步增加的。
Ticket 是 Trac 中最核心的单元,整个 Trac 都是围绕 Ticket 进行的,在应用 Trac 时,Ticket 可以让团队中的人分工更为明确,比如市场调查可以只负责 Create Ticket、Edit wiki,开发人员、测试人员根据自己的能力各自完成自己所属的 Ticket,最后以完成某个中心为终结;通过里程碑,管理者也可以更快,更直接的了解到项目进度从而制定相应计划;通过 Wiki ,新进成员也可以更快速的融入项目。
不过这些都是以真正的应用 Trac 到项目的开发、管理、测试为前提。
很多应用 Trac 进行管理的人都说:现在最兴奋的事,不是完成一个一个的功能,是关闭一个又一个的 Ticket,看着里程碑逐渐接近 100%,工作热情也特别高涨。
2) 权限管理
Trac 中的权限划分的很为细致,并且有用户组的概念,但是 Trac 并不包含用户信息,通常都是与 Apache 集成权限认证来获得用户信息。当创建了一个 Trac 环境时,默认权限分布如下:
User Action
------------------------------
anonymous BROWSER_VIEW
anonymous CHANGESET_VIEW
anonymous FILE_VIEW
anonymous LOG_VIEW
anonymous MILESTONE_VIEW
anonymous REPORT_SQL_VIEW
anonymous REPORT_VIEW
anonymous ROADMAP_VIEW
anonymous SEARCH_VIEW
anonymous TICKET_VIEW
anonymous TIMELINE_VIEW
anonymous WIKI_VIEW
authenticated TICKET_CREATE
authenticated TICKET_MODIFY
authenticated WIKI_CREATE
authenticated WIKI_MODIFY
anonymous 代表匿名用户的权限,authenticated 代表登录用户所拥有的权限,权限信息都很易懂,就不做解释;默认配置下,这是较为安全的,但是这样我们无法管理这个任务仓库,必须先分配一个管理员。
D:\Python\Scripts\trac-admin D:\ALM\Trac\MyProject permission add zealic TRAC_ADMIN |
登录 Trac 以后,在管理页面中 Trac 提供了 Permissions 选项,可以以可视化的方式更改权限信息。
3) 集成
有了趁手的工具,我们当然愿意这个工具与旧有工具完美结合,以产生更高的价值。好比 .Net 下的 TDD 拥有了 TestDriven.Net,提高的生产力可不是几句话就能够形容的,我也极度期盼 .Net 能够提供与 Trac 集成的插件。
相比之下,我极羡慕 eclipse 3.3 中集成的
Mylyn,可以很方便的与 Bugzilla,JIRA,Trac 集成;好吧,我承认,我希望有“逸士”能够造一个 NMylyn 或者 Mylyn.Net 供我们使用。
Trac 通过 xml-rpc 提供交互接口,也许某天,我会来做这个“逸士”;不过,似乎很难。
4) 推荐资料
这里 是台湾某教师为学生制作的 Trac PPT 教程,较浅显易懂,各位可以参考一下。这里 是台湾的某人写的一系列关于 Trac 的文章,可以参考一下。
5) 结束语
如果您所在的公司仍然处于项目管理混乱,失败率高的情况,我极力推荐您使用 Trac、Bugzilla 等 ITS 进行管理。主页:http://trac.edgewall.org/
参考:http://www.cnblogs.com/zealic/archive/2008/01/13/1037414.html
参考:http://www.cnblogs.com/HanN1984/archive/2007/08/09/840575.html
相关文章推荐
- 使用trac进行项目管理
- 使用trac进行项目管理
- 使用EVM进行项目管理时的注意事项
- 使用SVN进行项目版本管理
- KlayGE的Trac项目管理系统转移到klayge.org
- 【推荐】使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享 推荐
- Mac中使用svn进行项目管理
- Abp项目模板使用Oracle数据库包括系统权限管理
- 使用Jquery+EasyUI 进行框架项目开发案例讲解之二---用户管理源码分享
- Linux磁盘及文件系统管理 2---- 使用fdisk进行磁盘管理
- 完整教程--idea使用git进行项目管理
- 使用Jquery+EasyUI 进行框架项目开发案例解说之二---用户管理源代码分享
- Web API项目中使用Area对业务进行分类管理
- 系统管理工具包: 使用 SSH 进行分布式管理
- 使用ssm(系统存储管理器)进行逻辑管理
- 使用autotools进行项目管理简单应用
- 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享
- ionic工程中使用git进行项目管理
- 使用 git 进行项目管理(只管理代码,不管理项目配置)
- 完整教程--idea使用git进行项目管理