2008-10-10 88 views
16

我有一個Trac項目安裝在Subversion實現的頂部(容易做到感謝Webfaction的控制面板),但現在我有配置工作要做。考慮到這一點,有沒有容易方法在Trac中執行以下操作:我如何最好地利用Trac?

1)確保客戶只能看到高級別的進度指示器。
2)給出門票,測試和任務的每日總結報告。

此外,我有興趣知道是否有任何高度推薦的插件,我會很抱歉,我忘了安裝。

回答

8

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作品)

這是我最喜歡的機票的報告。它通過三個類goups門票:你自己

  • 門票和接受,被分配到你
  • 門票,但你沒有接受但
  • 門票有你在CC(即花哨的東西你不會沒有那個查詢)

查詢可能看起來很可怕,但它們是已經存在的查詢的簡單修改。您不必破解trac源代碼,web界面可讓您編輯查詢。

插件

我建議XML RPC plugin如果你使用Eclipse工作。它可以與Mylin緊密集成。 (我認爲即使沒有插件,基本集成也可以工作),所以你的開發人員可以在eclipse中完成許多任務,而無需切換到trac web界面。

(如果你使用Eclipse,但不知道mylin,你應該看看它,你可以測試它沒有任何配置,因爲它與大多數Eclipse發行,可以作爲獨立的工作,無需TRAC)

17

我不會推薦使用相同的Trac項目來跟蹤開發任務並顯示客戶進度。您希望能夠坦率地使用您的開發票,評論等。客戶可以專注於錯誤的事情並曲解您放入票據中的數據。我建議向客戶提供一個單獨的項目,其中包含高級任務,只顯示這些任務的進度,而不是實質。

+0

因此,沒有辦法限制客戶必須實現這一目標的觀點? – torial 2008-10-11 01:17:55

+0

我不認爲你可以限制用戶只查看一些門票而不是其他門票或一些門票的評論。 – 2008-10-13 16:21:33

+0

似乎違反幹(不要重複自己)。在兩個地方維護數據是不一致和丟失項目的祕訣。 – 2009-02-08 01:12:05

3

@Dave Dunkin是對的。使用Trac作爲您的內部使用,並使用像Basecamp這樣的系統爲您的客戶提供關於項目進展情況的高級概覽。

5

就其他插件而言,我們安裝TocMacro,XmlRpcPlugin,WysiwygPlugin和TracRedirect。特別是所見即所得的插件對於鼓勵更少的技術人員在維基上維護他們自己的文檔非常有用 - 您甚至可以在保留格式的同時保留格式,這有所幫助。

如果您自己的工作流程不能很好地代表Trac的默認值,請查看Trac爲您提供的自定義故障單工作流程內容。這使我們能夠將代碼審查和集成測試步驟添加到工作流程中。

我建議讓你的Trac服務器對一些中央認證框架進行認證。我們在其中運行一個包含auth憑證的LDAP樹,這被我們所有的內部系統使用 - 包括trac,svn,samba,openvpn等。

3

如果是股票安裝,數據庫只是一個SQLite3,所以你可以輕鬆編寫腳本來獲取「安全」信息,如票數,或爲什麼不是其中一個報告。這樣,只要票名正確,您就可以自由討論。修訂版本,里程碑,wikipages,標籤(如果您使用該插件)也可用。

3

您可能會撤回匿名用戶的所有權限,但ROADMAP_VIEW可能會有點高級別,不是? AFAIK目前不支持單個票證或評論級別的訪問控制。有關trac權限的詳細信息,請參閱http://trac.edgewall.org/wiki/TracPermissions

3

正如其中一條評論所述,您不能根據用戶限制票證或評論訪問權限。尋找或創建外部報告系統是您最好的選擇。

一對夫婦的基於經驗Trac的事情:

  1. 創建自定義workflow是 很直剛愎。 GraphViz的使用對於溝通狀態和動作的 是一個巨大的幫助。如果您需要更復雜的狀態交互,則可以進一步擴展內置功能的工作流插件(如AdvancedTicketWorkflowPlugin)並不太難做。

  2. 對於自定義報表,你可以寫 稱取命名參數SQL查詢, 然後從一個wiki頁面鏈接到這些:

例如,查詢可以包含WHERE這樣的條款:

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

和wiki頁面可以有這樣的:

Show activity for last [http://server.com/trac/report/9?DAYS=8 8] days.