##language:zh #pragma section-numbers on ''' Trac 使用速写 ''' ::-- ZoomQuiet [<>] <> ## 默许导航,请保留 <> = Trac = <> Trac 是个项目管理系统,是pure Python的,是基于 Subvertion -- 史上最优秀的版本管理系统 --的! 安装说明非常的明白: http://trac.edgewall.org/wiki/TracInstall * 大家之所以喜爱Trac 是因为Trac 将 版本管理系统/代码浏览系统/问题追踪系统/维基 All in One 的集成在一起,并可以快捷的配置和管理; * 在啄木鸟会课中也有讨论: http://wiki.woodpecker.org.cn/moin/BPUG/2006-08-27 * 在线阅读幻灯: http://www.woodpecker.org.cn:9081/classes/Classes2006/060827-exoweb/usage-trac/ == 快速安装trac == === BSD === 这里根据个人体验给个最 zip 的安装配置过程: 1. 安装好必要的软件,如果是 BSD/GNU/Linux 系统的话会非常简单比如说: {{{ #pkg_add -r trac }}} 就会自动安装好一切,M$ 中,你按照要求安装好相应软件即可: 1. 初始化 SVN: {{{ $svnadmin create --fs-type fsfs /path/to/u/repo }}} 1. 启动 SVN: {{{ $svnserve -d -r /path/to/u/repo }}} OK 你获得了一个版本管理仓库,然后这是在其上架设 trac 项目管理环境 1. 创建trac 实例: {{{ $trac-admin /path/to/u/trac/site initenv }}}回答一些问题,比较重要的这是回答你的SVN 仓库在哪儿,使用上面的 ` /path/to/u/repo` 就好 1. 启动 trac:{{{ $tracd --port 80 /path/to/u/trac/site }}}就会由 trac 自个儿在 80 端口启动一 trac 站,你可以进行各种项目管理活动了; * 如果看着没有问题就使用 守护进程模式,启动:{{{ $tracd -rd --port 80 /usr/local/www/data/trac }}} === Debian === 注意,0.12开始支持国际化和本地化,要实现中文界面,除了trac本身外,还要安装相关依赖包!这些依赖包一般OS官方软件仓库都不提供,要手动下载源码安装。 中文化依赖下面两个包: * Babel, version >= 0.9.4, needed for localization support * pytz to get a complete list of time zones, otherwise Trac will fall back on a shorter list from an internal time zone implementation. '''认真读官方文档!特别注意处理babel时要安装其它与它相关的依赖包。''' * 官方trac 0.12安装说明 [http://trac.edgewall.org/wiki/0.12/TracInstall] * 官方babel安装说明 [http://babel.edgewall.org/wiki/SubversionCheckout] '''DONE!现在我们已经有Trac 环境可以运行使用了!''' === 发布 === 1. [[TracWithLighttpd|从Lighttpd发布]] 1. [[TracWithApache|从Apache发布]] == 深入配置 == 接着就是根据自个儿的情况进行各种配置了: 1. 界面配置 1. 权限配置 1. Tickets 配置 1. 插件配置 1. .... 一切都有明确的文档,只要你敢于尝试,trac 的管理和使用是非常清晰明了的 == 项目管理 == = Trac传票系统 = [[TracGuideToc]] Trac环境针对项目提供了简单但是实用的提案和问题追踪服务. 作为Trac 的核心项目管理元素,'''传票'''--Ticket 可用以追踪:'''项目任务''', '''特性需求''', '''缺陷问题''' 和 '''软件讨论'''. 与TracWiki 的结合,达成了令用户的再次开发和贡献非常轻松的整体目标. 通过'''传票''' 可以非常轻易的汇报缺陷,提出问题,提交建议. 一个提案需分配给具体的人,他必须解决或是再次分配给另外的人. 所有'''传票'''可以在任何时候被编辑,注释,分配,优先排序,讨论... * 注意传票提交时必要信息的填写要精确,足够,特别是 '''4W1H''': 1. '''W'''hen -- 什么时候发现/解决的? 1. '''W'''here -- 哪个文件/URL的问题? 1. '''W'''ho -- 谁发现的? 1. '''W'''hat -- 发生了什么? 1. '''H'''ow -- 谁?何时?在哪?如何?怎么?处理什么文件?才解决的? == 传票字段 == 每一传票都能包含有以下信息([[TracTicketsValues|传票字段详解]]): * '''Reporter''' - 汇报人 * '''Status''' - 当前传票状态: {{{new}}}^新增的^, {{{assigned}}}^已分配^, {{{closed}}}^已关闭^, {{{reopened}}}^重开^. * '''Summary''' - 简述 * '''Description''' - 说明,传票的主体,好的说明应该是明确的和切中要点的 * '''Type''' - 类型属性 (比如说默认的: 缺陷 或是 增进建议) * '''Component''' - 组件,项目模块或是子系统 * '''Version''' - 版本, 传票从属的项目版本 * '''Priority''' - 优先级,提案的重要程度,从 ''trivial''^轻微的^ 到 ''blocker''^死锁^ 默认分5级 . * '''Milestone''' - 里程碑, 提案必须解决的时间点区间 * '''Keywords''' - 关键字,一般用以搜索和报表 * '''Assigned to/Owner''' - 责任人,被分配的主要负责人 * '''Cc''' - 应该知会的相关成员列表 ''注意,这并并非重要的策略.'' * '''Resolution''' - 传票被关闭的理由: {{{fixed}}}^解决的^, {{{invalid}}}^无效的^, {{{wontfix}}}^不可修复^, {{{duplicate}}}^重复的^ '''注意:''' 以上 ''类型'' , ''组件'', ''版本'', ''优先级'' 和 ''严重度''都可以由 [[TracAdmin|trac-admin]] 管理工具统一配置. == 修改和批注传票 == 一旦传票被提交到Trac 中,你就可以在任何时候进行'''批注'''. 这意味着修改和批注是传票本身的一部分被进行追踪. 当阅读传票时,所有历史和批注都将列显在主体内容之下. ''在Trac 项目中,我们使用传票来追踪任务和提案,以便在着手设计/执行前深入理解需求,确认正确的策略.'' '''注意:''' 在传票说明和注释中可以使用重要的 Trac链接(TracLinks) 和 维基语法(WikiFormatting) 特性, 以便轻快的关联其它提案/变更集(changesets)/文件等等,以便你的传票容易理解. '''注意:''' 参考Trac提醒(TracNotification),以配置Trac通过邮件对传票的变化进行提醒. === 状态图解 === [[Image(http://projects.edgewall.com/trac/attachment/wiki/TracTickets/Trac%20Ticket%20State%20Chart%2020060603DF.png?format=raw)]] == 传票的配置 == === 下拉菜单中的默认选项 === 新建传票时的下拉菜单的默认值,是可以在配置文件中声明的;具体[[TracIni|trac.ini]]中的 `[ticket]` 一节: ||`default_component` || 默认组件值 || || `default_milestone`|| 默认里程碑名|| || `default_priority`|| 默认优先级|| || `default_severity`|| 默认严重度|| || `default_type`|| 默认传票类型|| || `default_version`|| 默认版本名|| 如果配置文件中省略了相应的设置,则默认值使用列表中的首个或是空值,依字段值是否必须. === 隐藏字段或是追加自定的 === 可以通过 [[TracAdmin|trac-admin]] 隐藏多个默认传票字段,只要简单的清空所有值即可. 这种配置只针对下拉菜单有效,比如说:''type''^类型^, ''priority''^优先^, ''severity''^严重度^, ''component''^组件^, ''version''^版本^ and ''milestone''^里程碑^. Trac也支持使用自定的传票字段,具体参考'''TracTicketsCustomFields''' 获取更多信息. === "分配给"字段使用下拉菜单 === 如果可能的Trac传票用户是有限的,你就可以定制传票的 ''assign-to''^分配给^ 字段使用下拉菜单. 通过在配置文件[[TracIni|trac.ini]]的`[ticket]` 一节,设置`restrict_owner` 选项为“true”. 这样Trac 将使用所有登录过并设置过邮箱信息的成员名组成下拉菜单. 让下拉菜单生效,用户首先注册为项目成员, ''i.e. 即:'' 数据库中有用户的session 存在. session 将在用户首次登录时自动生成,可以在用户''Settings''^设置^页面中看到具体数值. 同时,此用户必须要有 `TICKET_MODIFY`^传票编辑权限^ ,参考:[TracPermissions Trac 权限说明]. == 创建传票的参数 == 通过组合一个链接,你可以直接创建传票, 只要调用 `/newticket?` 链接后是由'''&''' 连缀起来的`variable=value`^参数=值^组合字串. 可能的参数有 : * '''type''' - 类型 * '''reporter''' - 提交人帐号或是邮箱 * '''summary''' - 简述 * '''description''' - 详细说明 * '''component''' - 组件 * '''version''' - 版本 * '''severity''' - 严重度 * '''keywords''' - 关键字 * '''priority''' - 优先级 * '''milestone''' - 里程碑 * '''owner''' - 负责人 * '''cc''' - 需要提醒的人员邮箱列表 '''例如:''' ''/trac/newticket?summary=Compile%20Error&version=1.0&component=gui'' ---- See also: TracGuide, TracWiki, TracTicketsCustomFields, TracNotification == 反馈 == 修改 -- -- [[flyinflash]] [<>]