2007年9月17日星期一

在 Windows 上使用 Trac on Apache - 使用說明篇

在 Windows 上使用 Trac on Apache - 使用說明篇

說明

以下將會簡單介紹 Trac 的使用方式,這裡是以 0.10.3 版為基礎。另外本文僅供初入門的朋友參考,因為我個人也還在學習中。


操作介面

Trac 主要由四個區塊組成:搜尋、使用者工具、功能選單及內容頁。

搜尋

這裡可以搜尋所有記在 Trac 資料庫裡的資訊,像是 Wiki 、 Changesets 或 Tickets 等等。

使用者工具

包含登入登出功能、使用者資訊修改介面及求助文檔。

功能選單

Trac 主要功能的選單, 像是 Wiki 、 Timeline 或 Roadmap 等等。

內容頁

上面的使用者工具或是功能選單如果有相關畫面的話,就會在這裡呈現。

主要功能簡述

Trac 的重點在於記錄專案相關歷程,方便管理者或開發人員追蹤之用。以下將對相關的功能做簡單的描述。

註:我會簡單的以意義而非直譯來翻譯裡面的專有名詞,不過可能會和業界所公認的有所不同;如果大家有比較好的建議,歡迎告知。

Wiki

Wiki (記事) 通常是用來記錄專案的相關說明,像是開發目的、版本演進說明、程式架構與功能等。 Trac 內建的 Wiki 包含很多實用的功能,像是 提供連結到 Milestone 、 Ticket 等相關頁面的語法,也可以自行擴充 Marco 與 Processor 。

Wiki 的詳細說明可參考 http://trac.edgewall.org/wiki/TracWiki

註:在新建每個專案時, Trac 都會自動幫我們建立相關的求助文檔,這也是用 TracWiki 製作的。

Timeline

Timeline (歷程) 會顯示專案所有變動,包含程式碼的修改、 Wiki 更新、新增 Ticket 或 Milestone 等。我們可以在其右上方的控制板上選擇日期範圍或是資訊類型,來顯示符合條件的變動。

另外這裡的內容是不可更改的,因為它們已經是歷史了。

Roadmap

Roadmap (指標) 是 Milestone (里程碑) 的集合體,而 Milestone 也可以是 Ticket (編修項目) 的集合體 (非必要) 。

Roadmap 主要的功能是讓管理者很清楚的掌握專案的進度;當所有 Milestone 完成後,專案即宣告結束。

Browse Source

因為我們安裝的 Trac 是搭配 Subversion ,因此這裡可以直接瀏覽專案 SVN 檔案庫裡的所有資訊。而且這裡也可以簡單比對出版本之間的差異;這個功能可以讓我們在撰寫 ChangeLog 時,直接連結引用。

註: Trac 預設是 UTF-8 編碼,所以 Source 裡面有用到 Big5 編碼的話,在這裡會看到亂碼。解決的方式是在 trac.ini 裡,將 trac 區段的 default_charset 改為 big5 。

View Tickets

依分類列出所有編修項目的報告,這可以方便管理者整理出給客戶的報表 (可匯出 CSV 格式的文字檔) 。 Trac 已預設提供多個實用的報告類型,不過管理者也可以以 SQLite 的 SQL 語法來建立屬於自己的報告類型。

New Ticket

建立一個編修項目,預設有 defect (缺失) 、 enhancement (功能加強) 及 task (工作) 等三種類型。

  • defect:就是一般我們所說的 Bug 。

  • enhancement:原先沒有規劃的功能,或是客戶建議改進的部份。

  • task :專案中預期應該要製作的項目。

這裡的 Full description 可以使用 TracWiki 語法。

而 Ticket 也有以下屬性可供設定:

  • Priority: 優先順序,預設為 major 。

  • Milestone: 里程碑。

  • Component: 所屬元件。

  • Version: 所屬版本。

  • Severity: 嚴重性。

  • Keywords: 關鍵字。

  • Assign to: 指定給某使用者。

  • Cc: 給某使用者一個副本。

另外最下方我們也可以為這個 Ticket 附加相關的檔案。

Search

上方 Search 區塊的進階版,多了 Wiki 、 Changesets 或 Tickets 的勾選項目;這裡同時也是呈現搜尋結果的頁面。

Admin

在安裝 WebAdmin 這個 Plugin 後就會多出來的功能,以下會再深入介紹。

管理項目

在 Admin 功能中,如果有依照前面的步驟安裝了 WebAdmin 、 Account Manager 及 IniAdmin 等 Plugin 的話,就會出現以下選單項目:

  • Accounts
    • Configuration
    • Users
  • General
    • Basic Settings
    • Logging
    • Permissions
    • Plugins
  • Ticket System
    • Components
    • Milestones
    • Priorities
    • Severities
    • Ticket Types
    • Versions
  • trac.ini

一般來說,在這裡調整相關設定後,只需要重新登入即可套用變更的設定。不過其中還是有一些設定需要重新啟動 Apache ,請特別小心。

註:這裡我會略過 trac.ini ,因為大部份需要調整的部份都已經在上面三個大項裡了。

Accounts / Configuration

這裡可以設定要存取的 Apache 帳號密碼檔,即為前一篇裡的 D:\Repository\project-users.db 。

Accounts / Users

這裡會列出 D:\Repository\project-users.db 裡所有使用者的帳號,右邊的控制板可以讓我們新增使用者。

General / Basic Settings

這裡可以設定專案的相關資訊,包含專案名稱、網址及簡述。

General / Logging

這裡可以設定 Trac Log 記錄的地方,可以是檔案或是 Windows 事件裡。這裡的設定變更後,需要重新啟動 Apache 。

General / Permissions

這裡會列出所有使用者的權限,右邊的控制板則可以設定使用者的權限,而且也可以新增一個群組或是把使用者加入一個群組。

General / Plugins

這裡會列出 Trac 已載入的 Plugins ,在 Plugin 的名稱上點一下可看到細部元件的啟用狀況。

另外可以利用檔案上傳的方式來安裝 Plugin ,這樣似乎是僅能讓該專案使用,而且可以移除;如果該 Plugin 是利用第一篇提到的方式安裝的話,似乎就沒辦法移除。(這裡用「似乎」一詞是因為我試過但沒成功,還望各位先進指導。)

Ticket System / Components

Components (元件) 會列出專案中會用到的獨立元件,像是類別庫或 JS 庫等等。每個 component 都可以為它們指定一個 owner (擁有者) ,以供開發協調用。任意點選一個 component 的名稱後即可修改它,這裡的 Description 可以使用 TracWiki 語法。

如果專案裡不需要 Components 的話,可以把預設的 component1 和 component2 移除。

註:在 Ticket System 中的所有子選單中如果把所有項目移除,那麼在 New Ticket 時,其對應的下拉選單就會自動隱藏。 (以下皆適用。)

Ticket System / Milestones

Milestones (里程碑) 會列出專案的所有里程碑,這裡管理者可以建立一個新的 milestone ,並且指定預定的到期日 (Due) 。 和 Components 一樣,任意點選一個 milestone 的名稱後即可修改它,並填寫它真正完成的日期。

Ticket System / Priorities

Priorities (優先順序) 會列出專案中所定義的優先順序,這裡管理者可以建立一個新的 priority ,並且指定它的順序 (Order) 。

Ticket System / Severities

Severities (嚴重性) 會列出專案中所定義的嚴重性,如同 Priorities ,這裡管理者可以建立一個新的 severity ,並且指定它的順序 (Order) 。

Ticket System / Ticket Types

Ticket Types (編修項目類型) 會列出專案中所定義的編修項目類型,如同 Priorities ,這裡管理者可以建立一個新的 ticket type ,並且指定它的順序 (Order) 。

Ticket System / Versions

Versions ( 版本) 會列出專案的所有版本,要注意的是這些版本是管理員自行決定的,而非版本控制系統提供。這裡管理者可以新增一個新版本,並填寫預計發佈日期。任意點選一個 版號後即可修改它,這裡的 Description 可以使用 TracWiki 語法。

參考流程

Trac 並沒有硬性規定它的用法,大家可以依照上面的說明自行決定要如何使用。以下我提供一個簡單的使用流程供大家參考:

  1. 管理者設定相關使用者權限。

  2. 管理者在 Wiki 中撰寫專案目的。

  3. 管理者依序建立 Version 、 Milestone 。

  4. 管理者建立 Task 並指派給開發者。

  5. 開發者進行專案建置,此時開發者可利用 Subversion 提交程式碼。

  6. 由客戶或 PM 提供 defect 或 enhancement 。

  7. 開發者依照 Ticket 的嚴重性或優先順序繼續進行程式修改。

  8. 管理者依照進度調整 Version 及 Milestone ,並視狀況撰寫 Wiki 以供備忘。

  9. 重複步驟 3 到步驟 8 ,直到專案結束。

註:請利用想像力,把這些步驟看成是多人同時執行的狀態。

以上流程歡迎補充。

没有评论: