本文来自百科,由于是非Python开发者,所以仅为了拓宽知识面
1软件介绍
Trac是一个为软件开发项目需要而集成了Wiki和问题跟踪管理系统的应用平台,是一个开源软件应用。Trac以简单的方式建立了一个软件项目管理的Web应用,以帮助开发人员更好地写出高质量的软件;Trac应用力求不影响现有团队的开发过程。[1]2开发语言
Trac是采用Python语言开发的,因此Trac的在运行的时候,需要有Python环境的支持,在本手册中Python采用2.5,Trac采用0.11Beta版本、Apache 2.2。 整个Trac是建立在WIKI和TICKET基础上的,WIKI在工具中充当书写文档、TICKET等的语法,它包 含了一些类似HTML但简化了的语法格式,在Guide文档中有语法的详细介绍。WIKI的具体含义将在“Trac中的WIKI”一节中进行详细介绍。 TICKET是Trac中的另一个重要的组成部分,Trac使用Ticket(小纸条)传递信息。一个Ticket是具体需要做的事情的载体,也包含很多 描述性信息。[1]3模型
Trac 是以面向进度模型为项目管理模型的,很明显的特点就是它以里程碑(Milestone)方式进行项目管理的。每个里程碑中的具体要做哪些事情,就使用 Ticket来进行定义、跟踪等。里程碑是什么呢?为什么我不用时间点呢?原因在于使用时间点往往让人误以为,里程碑是按照时间来设计的,而不是按照事件 来设立的。 另外,Trac做一个SCM配置管理平台,意味着它有良好的扩充性。通过WebAdmin界面中的Plugin功能,可以很方便的安装下载的插件,也可以通过此功能查看已经安装的插件,并可对其中的插件进行启用或停用操作。[1]4体系架构
Trac权限体系
Trac 的权限体系是比较完备的设计,默认情况下trac有anonymous和authenticated两种性质的用户组。Anonymous即匿名组,默认 情况下只要能访问apache提供的trac实例服务,那么就属于这个组,这个组浏览trac实例界面时,将根据trac实例设定的权限方案提供可以浏览 的内容。 在通常情况下,我们都给某个trac实例指定admin用户,即权限最大的用户。可以通过trac-admin 实例名 permission add 用户名 TRAC_ADMIN,命令在dos提示符下创建此实例的管理员帐户。需要注意的是权限是区分大小写的。设置成功后,此用户验证登录后,将能够看到Admin这个webadmin管理界面。可以通过此界面可视化的对trac实例进行管理。 Trac使用Subject和Action方法绑定来进行赋权。Subject即操作对象,Action即可以执行 的动作。通过这种关系映射,从而实现Trac的权限管理。默认情况下Trac包含anonymous和authenticated两个Subject,通 过前面的trac-admin后,将出现第三个subject,即用户名。 对于Subject具体的赋权操作,可通过下图完成。通过对Subject的分配Action即可完成赋权操作,通 过Remove selected items可以取消某个Subject已经分配的权限。需要注意的是TRAC_ADMIN是最大权限。同时也可以对Subject进行分组管理。某个组拥 有的权限,组员将会自动继承。Trac中的WIKI
在Trac中随处可见WIKI的影子。Trac的welcome页面,Ticket的编写等等,在整个Trac界面中均可以使用WIKI的语法书写文档。WIKI包含自己的一套语法,采用Genshi才渲染Web页面,或者说解释WIKI语法到HTML语法。Roadmap
Roadmap中文翻译路线图。在Trac中使用Roadmap展现某个软件的开发过程。在Roadmap中,通过Milestone来分解软件开发的整个生命周期。多个Milestone就构成了一个Roadmap。当然一个软件交付后,在以后的维护过程中的变更、修改等都创建新的Milestone进行管理。Timeline
Timeline中文可译作时间线,它是以时间进度为参考轴,按时间倒序的方式显示此trac实例中所以的操作日志。它监控的对象包括:- WIKI事件:创建和更改动作;
- Ticket事件:创建、更改、完成等所有的Ticket的事件;
- Source chanege事件:资源库的代码发生一些动作事件;
- Milestone事件:Milestone结束事件。
Trac中的Ticket
Ticket是trac中管理项目的核心元素,它在trac中被用作项目的任务、功能需求、错误报告、软件发布支持等,它采用WIKI作为其描述部分文字的语法.Trac中的Report
Report在trac中主要的用于显示ticket,可以根据上文中提到的ticket所有的属性进行过滤,同时也可以定义显示ticket哪些字段属性,如果觉得用户设定的查询条件及显示方式很有价值,那么你可以保存此查询Report,在下次直接使用。这样在菜单“VIEW TICKETS”中看到此报表。需要注意的是Report只查询ticket。Trac中的Search
Search主要是对ticket和WIKI进行查询的,查询的内容为ticket和wiki内容,其实查询的就是timeline菜单中列出的所有的内容。Trac使用全文检索的方式进行查询。具体就不在描述。Search输入框中的最小长度的设置在Trac.ini配置文件中进行配置,参考Help/Guide。Trac中的Admin
Trac中的admin都是一些重要的操作,但是同时也是很简单的操作,都是对trac整个环境的基本信息做一些设置。包含两个部分的设置,即general和ticket。[1]5项目周期
Trac 采用面向进度的开发模型,因此产生了Milestone的概念,那么Milestone虽然建立了阶段性的里程碑,但是里程碑具体怎么才能到达呢?这就需 要采用ticket方式进行处理。当定义的所以的ticket全部closed时,就说明到达了里程碑,但是达到了也并不表示所有的ticket都是 fixed,也许是其他的原因关闭的。还有虽然到达了里程碑,但是未必是按时完成的,但是总的阶段性结束点是很明确的。 因此用trac管理一个项目,就要做好以下几方面的工作:- 划分里程碑
- 划分项目components
- 划分ticket
- 熟练掌握Ticket的运作机制
- 熟练掌握Change History的查看和使用
- 熟练掌握Milestone的查看和使用