使用trac的主要功能

管理trac网站功能

默认情况下,trac普通用户可以做日常开发需要的所有活动。然而,执行更高级的任务,比如创建里程碑、报告或者增加新的投票类型,则需要额外的权限。

查看trac当前权限设置:

trac-admin /home/trac/test/ permission list

为用户开通管理员权限:

trac-admin /home/trac/test permission add marshal TRAC_ADMIN

开通管理员权限后,在web界面中增加了一个admin菜单项,里面是管理员的一些设置和功能。

管理用户账户

默认安装的trac,管理用户账户是十分不方便的。web admin界面为管理员提供了为用户增加权限的功能,但是不能直接创建和删除用户。如果需要,必须通过apache的htpasswd等工具执行(如果安装了svnmanager,可以有之解决)。

或者,通过第三方插件解决这个问题:

http://trac-hacks.org/wiki/AccountManagerPlugin

借助python的easy_install工具,安装插件是否容易:

easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk

安装完毕,需要重启apache使插件生效。

如果需要卸载该插件,可:

easy_install -m 
http://trac-hacks.org/svn/accountmanagerplugin/trunk

如果能够通过svnmanager管理用户账户,这个功能可以忽略。

使用wiki功能定制trac网站

trac是一个以wiki为基础的应用程序。团队成员在具备相应权限后可编辑任何页面,而且可以很容易的创建新的页面,用来描述特定项目的特定内容。

trac的在线帮助有详细的wiki语法描述。wiki系统的语言格式都很近似,特别是和moinmoin比较。

wiki的命名

驼峰式的命名,比如HelloWorld,就会被当做一个wiki页面链接。为了避免成为链接可以:

!HelloWorld

对于汉语,这种方式不够友好,可以这样:

[wiki:HelloWorld 你好,世界]

trac的wiki可以使用子页面:

HelloWorld/SubHelloWorld

wiki中使用的链接类型

trac比较有特点的是url可以定位很多问题管理相关的资源:

投票的链接:

This revision corrects the issues #123, #125 and #245 

svn源代码链接,甚至可以定位到代码的行和版本:

see source:/trunk/src/main/java/com/wakaleo/JavaLamp.java@10#L50
记录代码变化的内容和相关日志:
delivered in changeset:186
里程碑的链接:
planned for milestone:milestone1

报告的链接:

listed in this report:7

版本差异的链接:

the class as shown here: diff:

/trunk/src/main/java/com/wakaleo/JavaLamp.java@10:11

wiki中的代码显示

比如java代码,可以这样:

{{{

#!java

public void main(){

    System.out.println("hello");

}

}}}

使用trac投票管理系统

投票是trac的主要功能。投票可用于保持对bug的跟踪,以及需求、特性、任务和其他任何事物的变化。

创建投票(传票)

trac的传票系统简单而富有扩展性,因为没有强制字段,可以在描述字段中写入wiki格式内容。传票的类型可以扩展或者做文字修改。

可以为传票定义属性:

  1. priority:优先级
  2. severity:猛烈程度,比如bug,默认安装的trac没有severity的值,需要通过admin界面自行添加
  3. milestone和version:里程碑和版本,用于QA和项目管理
  4. component:用于标识软件的子模块
  5. assigned:指派给哪个用户

trac传票的生命周期

basic-workflow

  1. leave as new:保持新提交的状态,一般用于修改其他传票属性;
  2. resolve as:一旦选择其中之一,将被关闭;
  3. reassign to:指派给其他团队成员;
  4. accept:自己接受这个传票;
  5. reopen:已经关闭的传票还可以重新打开。

svn提交日志中如果带传票号,比如:

$ svn commit \ -m "Corrected the Catalog file loader. This fixes the bug raised in #123."

那么trac中可以通过timeline(时间线)或者browse source(浏览源代码)查看到该日志。

从0.11开始,还可以定制工作流,需要设置trac.ini文件,详情参见trac在线帮助的TracWorkflow部分。

通过subversion更新trac问题条目

可以为svn增加提交代码后的钩子函数,实现在svn提交日志中包含某些关键字后,自动修改传票状态,比如改为fix或者close。或者只是为传票增加一些信息。

定制trac传票项

如果不需要某个传票项,比如severity,只需删除所有该列表条目,trac就不会在传票属性中列出它。

默认情况下assigned to项是普通文本框,如果想显示为列表显示所有团队成员,需要修改trac.ini文件,增加:

[ticket]

restrict_owner = true

修改后不需要重启apache即可生效。

可以为trac传票增加额外的项,方法是修改trac.ini文件,在[ticket-custom]块中增加配置。比如增加一个使用何种操作系统的项:

[ticket-custom]

os = select

os.label = Operating System

os.options = All|Windows|Mac|Linux|Other

os.value = 1

项的类型对应html可以是:

text, checkbox, select, radio, textarea

设置邮件通知

trac通过邮件通知用户。可以在trac.ini文件的[notifications]部分设置。默认情况下邮件通知是关闭的。打开这个功能,需要:

smtp_enabled=true

以下是完整的示例:

[notification]
smtp_enabled = true
use_tls = true
mime_encoding = base64
smtp_server = smtp.gmail.com
smtp_port = 587
smtp_user = user
smtp_password = password
必须设置smtp_from或smtp_replyto(或两者), 否则Trac拒绝发送提醒邮件。

当然,这要求用户填写了自己的email地址,可在preferences链接的表单填写。

使用trac查询和报告功能

很长一段时间里,trac用户通过数据库的SQL实现报表功能。虽然现在还可以使用这样的方法,trac提供了更直观的trac查询语言,可通过web界面设置并且能直接在wiki页面中使用。

trac预制了一些查询报表脚本,可以直接使用或者做一些修改。

trac提供了query link,可以产生自定义的交互查询界面,比如以下代码将被生成为一个链接,点击进入带查询表单的页面,可以交互式的产生报告:

[query:status=new|assigned|reopened]

通过trac路线图和时间线管理开发过程

trac里程碑

里程碑用于计划、跟踪和发布项目进程。

里程碑是迭代增量开发中的每次迭代单位的目标集合。

时间线视图

时间线,用于项目的详细活动密切监控。

浏览源代码库

trac提供了对后台svn仓库完整的web访问功能。可以查看所有目录和文件及其最近的修订版号。点击修订版号查看修改日志。查看两个修订版之间的改动。还可以浏览指定的修订版源文件。

使用RSS和ICalendar

使用RSS

对于每天并不想很频繁的访问trac,或者不想打开新的web窗口访问trac的用户,可以使用rss订阅trac的timeline项目数据。

使用ICalendar

对路线图任务数据,可以导出为icalendar格式的文件,使用outlook、notes、Evolution等日历软件打开,如果日历软件支持,还可以订阅远程日志,这样和服务器保持同步。

测试了一下,在vista的windows日历,可以订阅远程日历。

通过python定制wiki

trac的页面可扩展,而且易于配置。除了编辑wiki页面的文本和布局外,还可以使用宏插入动态内容。

比如插入图片的宏:

[[Image(screenshot.gif)]]

生成最近修改wiki页面列表的宏:

[[RecentChanges(Wiki,5)]]

传票查询方面的宏:

[[TicketQuery(status=assigned)]]

另外,trac有大量的第三方宏,见:

http://trac-hacks.org/wiki/macro

PDF格式打印機    发送文章为PDF   

这篇文章上的评论的 RSS feed TrackBack URI

Leave a Reply