我在Subversion实现之上安装了一个Trac项目(很容易感谢Webfaction的控制面板),但现在我有配置工作要做.考虑到这一点,有没有简单的方法在Trac中执行以下操作:
1)确保客户只能看到高级进度指示器.
2)提供有关故障单,测试和任务的每日摘要报告.
此外,我有兴趣知道是否有任何强烈推荐的插件,我会抱歉,我忘了安装.
我不建议使用相同的Trac项目来跟踪开发任务并显示客户进度.您希望能够坦诚地使用您的开发票据,评论等.客户可以专注于错误的事情并错误解释您在票证中添加的数据.我建议为客户提供一个包含高级任务的单独项目,并仅显示这些任务的进度,而不是细节.
1)高水平进度指标:
路线图选项卡为您提供了一种高级进度指示器.它列出了所有里程碑,并为每个里程碑显示:
里程碑头衔
简短的介绍
里程碑到期的日期
到那时还剩多少时间(或者你落后多久)
分配给该里程碑的票数以及已关闭的票数有多少,可视化为一个漂亮的绿色进度条.这个栏是根据每张票具有相同重量的假设得出的,这可能会产生误导
您可以通过客户只能访问此视图的方式来限制您的权限.
根据您与客户之间的关系,您可能希望授予他创建新票证的权限(权限TICKET_CREATE),这应该是可能的,而不会授予他对其他票证的读取权限(TICKET_VIEW和TICKET_MODIFY).对不起,但我目前无法测试这是否真的有效,也许有人可以对此发表评论.
2)每日总结报告
trac为您提供所有可以想到的RSS源.应该可以从中生成每日报告,或者您只需告诉RSS客户端每天检查一次Feed.
如果票证发生变化,Trac还可以通过邮件通知票证所有者,但它会立即发生,而不是每日摘要.您可以对门票进行评论,有时我们会像讨论板或邮件列表一样使用它们,在这种情况下,最好立即得到通知.
其他配置
在我使用trac执行的每个项目中,我创建了一个自定义查询来列出没有人拥有的所有票证:
SELECT p.value AS __color__, owner AS __group__, status, id AS ticket, summary, component, milestone, t.type AS type, time AS created, changetime AS _changetime, description AS _description, reporter AS _reporter FROM ticket t LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority' WHERE status = 'new' AND (owner = '' OR owner = 'somebody' OR owner = 'None' ) ORDER BY owner, p.value, t.type, time
每个故障单可能有一个所有者和cc字段中的几个人,但我的故障单的报告仅列出您是所有者的那些人.为了解决这个问题,我添加了一个这样的查询:
SELECT p.value AS __color__, (CASE owner WHEN '$USER' THEN (CASE status WHEN 'assigned' THEN 'Tickets that you accepted' ELSE 'Tickets that were assigned to you, please accept or reassign' END) ELSE 'Tickets, that have your name in the cc' END) AS __group__, id AS ticket, summary, component, version, milestone, t.type AS type, priority, time AS created, changetime AS _changetime, description AS _description, reporter AS _reporter FROM ticket t LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority' WHERE t.status 'closed' AND (owner = '$USER' OR cc like '%$USER%') ORDER BY owner, (status = 'assigned') DESC, p.value, milestone, t.type, time
(此代码适用于trac 0.11b)
这是我最喜欢的门票报告.它通过三个类来获得门票:
您拥有并接受的门票
分配给您的门票,但您还没有接受
在cc中有你的门票(没有那个查询你没有得到的花哨的东西)
查询可能看起来很可怕,但它们是对已存在的查询的简单修改.您不必破解trac源代码,Web界面允许您编辑查询.
插件
如果你使用eclipse,我推荐使用XML RPC插件.它可以与Mylin紧密集成.(我认为即使没有插件也可以进行基本集成),因此您的开发人员可以在eclipse中执行许多任务,而无需切换到trac Web界面.
(如果你使用eclipse,但不知道mylin,你应该看看它.你可以在没有任何配置的情况下测试它,因为它附带了大多数eclipse发行版,并且可以在没有trac的情况下独立工作.)
就其他插件而言,我们安装了TocMacro,XmlRpcPlugin,WysiwygPlugin和TracRedirect.特别是,WYSIWYG插件非常适合鼓励技术人员在wiki中维护自己的文档 - 你甚至可以从MS Word中获得C&P,同时保留格式,这有助于.
如果您自己的工作流程没有被Trac的默认值很好地表示,请查看Trac为您提供的自定义票务工作流程.这使我们能够在工作流程中添加代码审查和集成测试步骤.
我建议让Trac服务器针对某些中央身份验证框架进行身份验证.我们运行一个带有auth凭证的LDAP树,我们所有的内部系统都使用它 - 包括trac,svn,samba,openvpn等.