Trac 手记(三) : 应用 Trac

1) 基本概念

Trac 中的单元:

  • Milestone(里程碑) :这个好理解,不做解释。
  • Version(版本) :项目的版本。
  • Component(组件):项目中的组件。
  • Ticket : 这个有人翻译为传票,有人翻译为任务单,我都觉得不妥,因此不做翻译。
  • Ticket type :Ticket 的类型,默认有 defect(缺陷)、enhancement(改进)、task(任务)。
  • Priority(优先级) :Ticket 的优先级。
  • Resolutions(解决方式) :Ticket 的解决方式。
  • Severity(严重程度):Ticket 的严重程度。

关系图如下:

由于 Trac 的灵活性,我们使用 Trac 来进行项目管理时,有很高的自由度,上述单元皆是可自定义的,比如 Ticket 默认有如下类型:

  1. Defect
  2. Enhancement
  3. Task

偷懒的人一般就默认使用这三个类型,如果是项目要求高一些,可以定义一些扩展的 Ticket 类型,如 PatchTranslateTest,当然这只是举例说明,还是需要根据项目的具体需求来进行定制。

大多使用 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 环境时,默认权限分布如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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 代表登录用户所拥有的权限,权限信息都很易懂,就不做解释;默认配置下,这是较为安全的,但是这样我们无法管理这个任务仓库,必须先分配一个管理员。

1
D:\Python\Scripts\trac-admin D:\ALM\Trac\MyProject permission add zealic TRAC_ADMIN

TRAC_ADMIN 是最高级别权限,有了这个权限,登录名为 zealic 的用户就可以管理这个项目的所有信息了。

登录 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 进行管理。

本人才疏学浅,加之时间仓促,Trac 只能介绍到这里,如果您还有什么不懂得地方,请联系我,我将尽力帮助你。
过段时间我会放出自己基于 Trac0.11b1 制作的 EasyTrac,简化 Trac 的部署,供需要的人使用。

**警告 **: 本文所使用的是 Trac 0.11b1 版,不保证对文章内容对其他版本适用。
同样也不推荐你在实际环境部署使用该beta版,如出现任何问题,概与本人无关。
如果你存在任何有关问题,请 mail 我 : rszealic{at}gmail.com

版权 : 保留对本文的一切修改、发布等权力。任何人想要转载本文部分或全部内容时,必须保留包括作者 Zealic、出处、版权,共三项信息。对本文的参考引用,则不受限制。

参考)

Trac Usage:

http://wiki.woodpecker.org.cn/moin/TracUsage

Trac 中的 Ticket系统:
http://www.cnblogs.com/HanN1984/archive/2007/08/09/840575.html

Bugzilla 培训手册--操作说明:
http://liuyu.blog.51cto.com/183345/49829

Why Programs Fail:系统化调试指南:
http://book.csdn.net/bookfiles/306/

其他:
http://www.cnblogs.com/HanN1984/archive/2007/08/09/840575.html
http://tech.idv2.com/2007/02/11/trac-install-windows/

Zealic @ 2008-01-13

View Comments |
Categories: tech
Tags:

Related posts