如果你有坚定的信念你就不会迷茫。

Trac - 为Tickets增加自定义字段

上一篇 / 下一篇  2010-10-12 10:43:41 / 个人分类:Trac

Trac 从0.11版本后可以让用户自定义Ticket的字段,我认为这是Trac向前又迈出了一大步,让我们更加灵活的使用Trac来进行bug管理和跟 踪,0.11版本自定义字段支持以下几种类型: text, checkbox,  select, radio, textarea.

1、如何为Ticket增加自定义字段其实很简单,只需要修改一下trac.ini文件即可:

[ticket-custom]
test_two = text
test_two.label = Just a text box 

test_two.value = Default [mailto:joe@nospam.com owner]       // 为text设定默认值
test_two.format = wiki                    // 指定text的格式,有两种选择plain, wiki.

test_three = checkbox
test_three.label = Some checkbox
test_three.value = 1

test_four = select
test_four.label = My selectbox
test_four.options = one|two|third option|four            // 为下拉框设定默认值,用"|"作分割线。
test_four.value = two

test_five = radio
test_five.label = Radio buttons are fun
test_five.options = uno|dos|tres|cuatro|cinco
test_five.value = dos                    // 为radio按钮选择默认值

test_six = textarea                    // textarea类型也可以指定其format(plain, wiki)
test_six.label = This is a large textarea
test_six.value = Default text
test_six.cols = 60
test_six.rows = 30

2、如何在报表中使用新增加的自定字段:在trac.ini文件中增加了这些选项之后仅仅是让用户在使用Ticket的时候可以填写这些字段,但是 如果要将这些自定义的字段在trac的报表中显示还需要注意一点:自定义的Ticket字段是在ticket_custom表中,而不是在ticket表 中,这两个表用来做连接的字段是ticket_custom.ticket = ticket.id。ticket_custom表的3个字段为:ticket, name, value。

  除此之外还有一点需要强调一下的,例如:目前已经在ticket_custom增加了自定义字段'progress',那我们通常会使用如下SQL来显示带progress的ticket报表:

SELECT  idASticket,summary,owner,c.valueASprogress
 FROMticket t, ticket_customc
 WHEREstatusIN('assigned')ANDt.id=c.ticketANDc.name='progress'

如 果该自定义字段是在Trac已经被使用了一段时间之后才定义的,那么以上的SQL生成的report并未包含所有的ticket, 仅仅会包含所有在自定义字段progress增加后创建的ticket,那么会有人建议使用left outer join就可以解决该问题,是的,如果使用left outer join当然可以解决该问题。不过Trac是一个可以供用户自己写SQL创建report的工具,有相当大的自由性。所以我建议在每次增加自定义字段的时 候都主动往ticket_custom表中为所有ticket创建一条为None(或者default值)的记录,从根本上避免以上问题。

INSERTINTOticket_custom
  (ticket,name,value)  SELECT      idASticket,      'request_source'ASname,      'None'ASvalue
  FROMticket 
  WHEREidNOTIN(      SELECTticketFROMticket_customWHEREname='request_source'  );

参考URL:

http://trac.edgewall.org/wiki/TracTicketsCustomFields

http://trac.edgewall.org/wiki/TracTickets


TAG: Tickets trac Trac

 

评分:0

我来说两句

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 20132
  • 日志数: 19
  • 建立时间: 2010-09-08
  • 更新时间: 2011-01-21

RSS订阅

Open Toolbar