MapGuide 代碼的修改可以分為兩大類:功能增強 (Ehancement) 和缺陷修正 (Defect) , MapGuide 使用 Tickets 來管理和跟蹤這些修改,訪問 http://trac.osgeo.org/mapguide/report 可以瀏覽和查詢活動的和已經關閉的 Tickets ,對于功能增強 MapGuide 還使用了 RFC 進行管理。需要注意的是無論創建 Tickets 還是 RFC ,都需要有一個 OSGeo 的帳戶,使用 OSGeo 帳戶登錄后才可以創建 Tickets 和 RFC ,訪問 https://www.osgeo.org/cgi-bin/ldap_create_user.py ? 可以注冊一個 OSGeo 的用戶。
1) ?? 缺陷修正
如果你在使用 MapGuide 的過程中發現了一個 Bug ,那么可以考慮創建一個 Ticket 。在創建 Ticket 之前,最好訪問 http://trac.osgeo.org/mapguide/search 查找是否已經有其他人提交過類似的 Ticket ,或者給 mapguide-users 郵件列表發 email 問詢是否見到過類似問題。在為一個 Bug 創建 Ticket 之時,需要提供一個完整的、可以重現 Bug 的步驟,如果可能的話最好提供一段代碼用于重現 Bug ,最后填寫 圖 18 ?3 所示的 Ticket 屬性。其中, Priority 代表 Bug 的優先級, Component 代表 Bug 所屬的功能組件, Severity 代表 Bug 的嚴重性, Milestone 代表修正了 Bug 的版本, Version 代表可以重現 Bug 的版本。最重要的是要填寫正確的 Version 值,如果不清楚需要為其他屬性填寫什么樣的值,那么可以將其他值保留為空,在其他人檢閱和分配這個 Bug 時會為這些屬性填寫合適的值。
?
?
圖? 18 ? 3 ?Ticket的屬性
2) ?? 功能增強
如果要改進 MapGuide 現有的功能,或者添加一些新的功能,那么需要創建一個 RFC 。訪問 http://trac.osgeo.org/mapguide/wiki/MapGuideRfcs 可以瀏覽現有的 RFC ,通過這些 RFC 我們可以了解 MapGuide 的每個版本添加了哪些功能,甚至下一個版本會添加哪些新的功能。 RFC 頁面使用 Wiki 的方式進行維護,使用如下的步驟可以創建一個新的 RFC 。
1) ?? 點擊“ login ”登錄。
2) ?? 點擊“ Edit this page ”編輯 RFC 列表頁面。
3) ?? 加入如下 Wiki 格式的字符串。其中,“ XX ”代表 RFC 的序號,“ V.V ”代表實現 RFC 的 MapGuide 版本號。
||[wiki:MapGuideRfcXX MapGuide RFC XX - xxxxxxxxxxxx]||draft||V.V||
4) ?? 點擊“ Submit changes ”按鈕提交修改。
5) ?? 點擊超鏈接“ MapGuide RFC XX ”會出現一個新的頁面用于創建新的 RFC 。
6) ?? 在按照 RFC 模板的格式創建完成新的 RFC 之后,發 email 給 MapGuide 郵件列表 mapguide-internals@lists.osgeo.org 要求 MapGuide 開源社區的人們評閱此 RFC 。
7) ?? 在 RFC 發布一周后,并且解答了 MapGuide 開源社區人們的所有問題之后,可以要求 PSC 的成員對此 RFC 投票。如果由多于兩個 PSC 成員同意此 RFC ,沒有任何 PSC 成員反對此 RFC ,那么此 RFC 就投票通過可以實現了。
8) ?? 創建一個類型為“ enhancement ”的 Ticket 用于跟蹤這個修改。
在修正了一個缺陷或實現了一個 RFC 之后,需要將相應的代碼修改創建為一個 SVN Patch 文件,將其上傳到相應的 Ticket 上便于開源社區的人們評閱此修改,在評閱完成之后就可以提交代碼了。如果你不是項目開發 人員,沒有提交權限, 項目開發 人員會幫助你提交代碼的。