客製化 BugTracker.NET

BugTracker.NET 除了安裝簡單,也有考慮到一些客製化的需求。例如,web.config 裡面有下列參數:

    <add key="AppTitle" value="BugTracker.NET"/>
    <add key="SingularBugLabel" value="bug"/>
    <add key="PluralBugLabel" value="bugs"/>
AppTitle 是顯示於瀏覽器視窗標題的文字,SingularBugLabel 和 PluralBugLabel 則可以讓你用別的名稱取代 bug/bugs。如果覺得 bug 這個名詞太侷限,或太敏感,我們可以改用其他名稱,像這樣:
    <add key="AppTitle" value="問題管理系統"/>
    <add key="SingularBugLabel" value="issue"/>
    <add key="PluralBugLabel" value="issues"/>
注意如果有用到中文字,在顯示時可能會變成亂碼,因此得將 web.config 改以 UTF-8 編碼的格式儲存。結果如下圖:

其他可客製化的頁面都放在 custom 目錄下,你可以藉由修改 custom_logo.html 把左上角的 Logo 換掉,或者修改 custom_header.html,以便在每頁的上方顯示公司或單位名稱,例如:

同樣地,這些檔案也都要存成 UTF-8 編碼,否則網頁無法正確顯示中文字。此外,上述修改動作都必須重啟 IIS 才會生效。

除了頁面文字的客製化,BugTracker.NET 還提供了 custom fields,讓你可以增加問題登錄頁面的輸入欄位。在 3.1.6 版,每個專案最多可有三個自訂欄位,而且都是下拉清單(drop-down list),如果這三個下拉清單欄位仍不夠用,還可以增加全域的自訂欄位。參考下面這張登錄新問題的畫面截圖:

圖中的「預定完成日」是全域自訂欄位,「子系統」則為該專案 'project 1' 的自訂欄位(若選擇其他專案,則不會出現此欄位)。在建立全域自訂欄位時,可指定輸入方式是否為下拉清單,並可指定資料型態;如果資料型態是 datetime,還有日曆元件可用。

有個小地方可能要注意一下:管理員可以隨時刪除全域自訂欄位。也就是說,如果你已經有登錄 issues,後來又把某個自訂欄位刪除,那麼之前登錄的 issues 資料就不會有那個自訂欄位了。實際上,在建立全域自訂欄位時,程式會真的在資料表 bugs 中動態建立新欄位,而刪除全域自訂欄位時,也會真的刪除實體欄位。至於專案的自訂欄位,則只是預先在資料表中預留三個欄位而已。

BugNET 比起來,BugTracker.NET 的程式寫法顯得「樸實」許多,因為它主要是以 .aspx 和 html 構成,完全沒有 code-behind 類別,但整個設計給我的感覺是非常簡單、易用,也很彈性,有需要架設問題管理系統的人不妨試試。

相關文章:BugTracker.NET 簡介
Copyright © 2012. Huan-Lin 學習筆記 - All Rights Reserved
Powered by Blogger
Template Design by Cool Blogger Tutorials
Published by Templates Doctor