Windows使用Redmine與轉檔紀要
最近準備要將用了十年(!)的問題追蹤系統Track+改為Redmine。當年使用Track+有其歷史因素,主要是當時有Open source,又是Java開發的,因此拿來加了簡體與繁體中文語言檔,又修改了一些網頁以適合我們兩岸團隊使用,沒想到一路就用了十年,中間有部份專案用過Trac 0.10,但並未普及,主要是既有資料沒有轉換到Trac的SQLite裡,自然無法順利轉換到新系統。這次要導入Redmine就必須匯入資料才行。
Redmine安裝
Windows裡安裝Redmine的最讚選擇:Bitnami Redmine Stack,用預設值安裝即可,內定會使用80 Port。
Redmine釋義
Redmine是使用Ruby on Rails,Ruby是紅寶石之意,Red-Mine應該就是具有紅色寶礦的涵義吧?
Redmine資料結構簡述
Redmine的schema還算簡單易懂,主要的狀況發生在projects與issues兩個資料表的lft、rgt欄位,所幸研究了一下後終於找到解釋的網站並有了處理方法。
首先在Redmineのチケット登録でのレコード生成調査看到issues資料表的欄位說明,第5回 SQLで木構造を扱う~入れ子集合モデル (1)入れ子集合モデルとは何か這篇則解釋了lft、rgt欄位存放的Nested Set的原理,又找到實際的資料範例說明:[MySQL][Redmine] 削除してしまったチケットを復活させる。有了這些基本認識後才有辦法寫轉檔程式,將Track+的TWorkitem匯出為issues資料表。
▼ Nested set範例
簡單說就是把Ticket記錄依專案名稱+Ticket號碼排序,lft與rgt分別啟始為1和2,再逐筆加2,當專案編號變換時,把此專案Ticket第一筆的lft與Ticket最後一筆的rgt寫入projects該專案記錄,如果有使用子Ticket,則root_id與parent_id也要額外再寫入。使用專案名稱排序的原因是Redmine的專案選單排序無法指定,預設是以projects.lft來排列,如果想要專案下拉選單仍依專案的英文字母排序,在產生lft時就要自己先排好。
大致的匯入SQL是:
truncate table issues; alter table issues AUTO_INCREMENT=1; INSERT INTO issues(id, tracker_id, project_id, subject, description, due_date, category_id, status_id, assigned_to_id, priority_id, fixed_version_id, author_id, lock_version, created_on, updated_on, start_date, done_ratio, estimated_hours, parent_id, root_id, lft, rgt, is_private, closed_on) VALUES (...);
issues.id可以使用原有的TWorkitem.WORKITEMKEY,讓新舊兩個系統的Ticket編號相同,可以節省許多資料核對的工夫。
Redmine設定
Redmine有幾個免費的Android client可以用,使用前必須在後台將Web Service選項打開:
另外,轉檔過程中需要頻繁參考Redmine的MySQL資料表,使用下列指令讓外部也可以取存到MySQL:
grant all privileges on *.* to 'root'@'%' identified by 'your_root_password' with grant option
幾個Redmine的重要資料夾:
- Redmine系統目錄:[Redmine安裝目錄]\apps\redmine
- Redmine設定目錄:[Redmine安裝目錄]\apps\redmine\conf
- 附件目錄:[Redmine安裝目錄]\apps\redmine\htdocs\files\西元年\月份
目前安裝了的外掛
用Redmine的好處之一就是有很多的外掛可以使用,但使用了幾個發覺版本標示不準確,雖然標示2.6版相容,但掛上後卻會錯誤,似乎是外掛需要建立新的資料表,但外掛卻不會自動建立?這個有賴Redmine使用先進們協助了。目前安裝了下列外掛:
- Code Highlight plugin:https://github.com/mediatainment/redmine-codebutton
- Redmine Lightbox 2:https://github.com/paginagmbh/redmine_lightbox2
- Redmine Status Button plugin:http://web.4399.com/
參考
- 打造軟體團隊(12): 搭配IT工具-Project Management, Issue tracking system:http://ithelp.ithome.com.tw/question/10103207
- Redmine資料庫schema:http://www.redmine.org/projects/redmine/wiki/DatabaseModel
##
您可能也會有興趣的類似文章
- Redmine 2.6外掛於Windows環境的安裝步驟 (0則留言, 2015/01/10)
- Redmine升級5.x (0則留言, 2024/03/20)
- 整合Redmine的TortoiseSVN外掛:TurtleMine (0則留言, 2015/01/23)
- 針對Redmine 2.6回應緩慢的調整 (0則留言, 2015/01/28)
- Redmine開啟事項鏈接到新分頁 (0則留言, 2024/03/26)
- 用AutoGUI來學習AutoHotkey!超級簡單!(AHK #1) (0則留言, 2019/05/14)
- Obs#117 | Obsidian表格攻略與表格就地編輯外掛:Table Enhancer (0則留言, 2023/03/19)
- 快速下載卡提諾/伊莉論壇小說的方法:使用JNovelDownloader (0則留言, 2019/04/14)
- 歡迎使用 Trac 0.10.4 (0則留言, 2007/07/25)
- Obs146|Obsidian彙總常用說明網站的助手:HelpMate (0則留言, 2023/12/03)
- Obs152|終於能產生書籤與頁碼了!與PDF相關的外掛:Better Export PDF&PDF++ | 修訂 (0則留言, 2024/02/18)
- 使用FireFox插件存取SQLite資料庫 (0則留言, 2008/01/23)
- Tasks & Contexts:IntelliJ IDEA與Redmine整合 (4則留言, 2015/01/26)
- Obs141|Opener與Open Gate外掛-開啟在新分頁與開啟網頁+內嵌網頁 (0則留言, 2023/09/24)
- [AHK#36] 自製AutoSub圖形介面工具:AutoSub-AHK;Windows適用 (7則留言, 2020/05/15)
Sorry, 很久沒用Google sc…