16

我在 Subversion 实现之上安装了一个 Trac 项目(由于 Webfaction 的控制面板很容易做到),但现在我有配置工作要做。考虑到这一点,是否有简单的方法可以在 Trac 中执行以下操作:

1) 确保客户只能看到高级别的进度指示器。
2) 提供关于工单、测试和任务的每日总结报告。

另外,我很想知道是否有任何强烈推荐的插件,我很抱歉忘记安装。

4

7 回答 7

17

我不建议使用相同的 Trac 项目来跟踪开发任务并显示客户进度。您希望能够坦诚地对待您的开发票、评论等。客户可能会专注于错误的事情并误解您放入票中的数据。我建议为客户提供一个包含高级任务的单独项目,并且只显示这些任务的进度,而不是细节。

于 2008-10-11T00:15:52.523 回答
8

1) 高级进度指标:

路线图选项卡为您提供了一种高级进度指示器。它列出了所有里程碑,并为每个里程碑向您显示:

  • 里程碑标题
  • 简短的介绍
  • 里程碑到期的日期
  • 到那时还剩多少时间(或您落后于计划多长时间)
  • 有多少票分配给了那个里程碑,有多少票已经关闭,可视化为一个漂亮的绿色进度条。该条是基于每张票的重量相同的假设绘制的,这可能会产生误导

您可以限制您的权限,使您的客户只能访问此视图。

根据您和您的客户之间的关系,您可能希望让他能够创建新工单(权限 TICKET_CREATE),这应该是可能的,而无需授予他对其他工单(TICKET_VIEW 和 TICKET_MODIFY)的读取权限。抱歉,但我目前无法测试这是否真的有效,也许有人可以对此发表评论。

2) 每日总结报告

trac 为您提供您能想到的所有内容的 RSS 提要。应该可以从中生成每日报告,或者您只需告诉您的 RSS 客户端每天检查一次提要。

Trac 还可以通过邮件通知票证所有者如果票证发生变化,但它会立即发生,而不是作为每日摘要。您可以对工单发表评论,有时我们会将它们用作讨论板或邮件列表,在这种情况下,最好立即收到通知。

其他配置

在我使用 trac 进行的每个项目中,我都会创建一个自定义查询来列出所有无人拥有的票证:

选择 p.value 作为 __color__,
   所有者 AS __group__,
地位,
   id AS 工单、摘要、组件、里程碑、t.type AS 类型、AS 创建时间、
   更改时间 AS _changetime,描述 AS _description,
   记者作为_reporter
  FROM 票 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 字段中,但我的工单的报告只列出了您是所有者的那些。为了克服这个问题,我添加了一个这样的查询:

  选择 p.value 作为 __color__,
   (案例所有者 WHEN '$USER' THEN
     (案例状态
       何时“分配”
       THEN '您接受的门票'
       ELSE '已分配给您的票,请接受或重新分配'
      结尾)
     ELSE '门票,cc 中有你的名字' END)
     作为__组__,
   id AS 票证、摘要、组件、版本、里程碑、
   t.type AS 类型、优先级、AS 创建时间、
   更改时间 AS _changetime,描述 AS _description,
   记者作为_reporter
  FROM 票 t
  LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'
  WHERE t.status 'close' AND (owner = '$USER' OR cc like '%$USER%')
  ORDER BY owner, (status = 'assigned') DESC, p.value, 里程碑, t.type, time

(此代码适用于 trac 0.11b)

这是我最喜欢的票务报告。它将门票分为三个等级:

  • 您拥有并接受的门票
  • 已分配给您但您尚未接受的票证
  • 有你在 cc 中的票(如果没有那个查询,你就不会得到花哨的东西)

这些查询可能看起来很吓人,但它们是对已经存在的查询的简单修改。您不必破解 trac 源代码,网络界面可让您编辑查询。

插件

如果您使用 eclipse,我推荐XML RPC 插件。它可以与Mylin紧密集成。(我认为即使没有插件,基本集成也可以工作),因此您的开发人员可以在 eclipse 中完成许多任务,而无需切换到 trac Web 界面。

(如果你使用 eclipse,但不知道 mylin,你应该看看它。你可以在没有任何配置的情况下测试它,因为它带有大多数 eclipse 发行版,并且可以在没有 trac 的情况下独立运行。)

于 2009-02-10T22:11:13.713 回答
5

至于其他插件,我们安装了 TocMacro、XmlRpcPlugin、WysiwygPlugin 和 TracRedirect。特别是,WYSIWYG 插件非常适合鼓励较少技术人员在 wiki 中维护他们自己的文档 - 您甚至可以在保留格式的同时从 MS Word 中进行 C&P,这很有帮助。

如果 Trac 的默认设置不能很好地代表您自己的工作流程,请查看 Trac 为您提供的自定义工单工作流程。这使我们能够将代码审查和集成测试步骤添加到工作流程中。

我建议让您的 Trac 服务器针对某些中央身份验证框架进行身份验证。我们运行一个带有身份验证凭据的 LDAP 树,它被我们所有的内部系统使用 - 包括 trac、svn、samba、openvpn 等。

于 2008-10-20T11:45:00.070 回答
3

@Dave Dunkin 是对的。将 Trac 用于您的内部使用,并使用Basecamp之类的系统为您的客户提供项目中正在发生的事情的高级概述。

于 2008-10-11T13:00:54.927 回答
3

如果是库存安装,则数据库只是一个 SQLite3,因此您可以轻松编写脚本来获取“安全”信息,例如票的数量,或者为什么不获取其中一个报告。这样,只要票名没问题,就可以自由讨论。修订版、里程碑、维基页面、标签(如果您使用该插件)也可用。

于 2008-10-20T12:12:49.857 回答
3

您可能可以撤销除ROADMAP_VIEW匿名用户之外的所有权限,但这可能有点高级了,不是吗?目前不支持个人票证或评论级别的访问控制 AFAIK。有关 trac 权限的详细信息,请参阅http://trac.edgewall.org/wiki/TracPermissions

于 2009-02-08T01:08:30.950 回答
3

如评论之一所述,您不能基于用户限制票证或评论访问。寻找或创建外部报告系统是您最好的选择。

根据使用 Trac 的经验,有几件事:

  1. 创建自定义工作流程非常简单。GraphViz的使用 对交流状态和动作有很大帮助。如果您需要更复杂的状态交互,那么进一步扩展内置功能的工作流插件(如AdvancedTicketWorkflowPlugin)并不难。

  2. 对于自定义报告,您可以编写带有命名参数的 SQL 查询,然后从 wiki 页面链接到这些:

例如,查询可以包含这样的 WHERE 子句:

WHERE datetime(t.changetime, 'unixepoch') >= datetime('now','-$DAYS days')

维基页面可以有这个:

Show activity for last [http://server.com/trac/report/9?DAYS=8 8] days.
于 2009-02-09T21:54:44.407 回答