協同開發

因為NPO日常行政將許多重要資訊除存於CiviCRM,並且大量操作此軟體,對軟體的穩定性要求將會更高。

netiCRM為Fork CiviCRM 3.x後,修正中文Bug、增加中文模組後的版本,存在目的即是提供穩定、無錯誤、支援在地格式的NPO專屬軟體,目的並非要取代CiviCRM,然而因為CiviCRM進展過於迅速,因此netiCRM延伸出自行的版本,並選擇性Back Porting CiviCRM的新功能,以確保程式碼的穩定[1]

程式碼

netiCRM其原始碼全數發佈於GitHub專案中之netiCRM,名稱的目的為的是與github中的CiviCRM有所區隔。

錯誤回報

  1. 請先註冊GitHub.com帳號
  2. Watch netiCRM
  3. 請至netiCRM的Issues,搜尋回報的Bug是否已存在
  4. 若沒有人回報過,請直接 New Issue後,將Tag標示為Bug

送Patch

  1. 請先註冊GitHub.com帳號
  2. Watch netiCRM
  3. Fork netiCRM至自己的帳號
  4. Commit至自己的Repository,確認無誤後,發布Pull Request至NETivism/netiCRM
  5. 詳閱讀「Using Pull Requests

認養時數

開發者可以參與我們的「開放.Dogfooding養成計畫

  1. 填寫表格,說明預計想認養的專案、PHP開發經歷、以及預計在此專案貢獻時數、GitHub帳號等
  2. 確認後,我們會直接將您的帳號加入GitHub/netiCRM的Membership
  3. 每個專案將會自己的Milestone和Issues,會隨著Issue的解決,逐步讓Milestone完成,詳參考Managing Projects with GitHub
  4. 每個Commit我們將進行Code Review,以確保無Bug產生
  5. 我們將秉持「認養」的原則,以「當初填寫表格時的預計貢獻時數」作為經費發放的標準,但總是有其上上下下左右左右視情況調整。

Barnch / Tag 規則

  • develop: 主要預設之Branch,接受各種Patch,新功能發展,Github Issue也預設回報此Branch的問題
  • master: 僅供merge develop後deploy使用
  • Tag: 與Github預設的界面意義相同,Tag僅會使用於發布新版本時使用,通常是在master merge develop後下標籤,快照此時發佈的程式碼為新版本。

Coding Standard

netiCRM將參照Drupal Coding Standard進行程式碼的撰寫。

然而目前多數沿用CiviCRM程式碼的格式,將會視情況重新調整Format,以供開發完整。

API Explorer and Generator

CiviCRM 有提供線上的 API 產生器,可經由官方的測試網頁在登入後直接使用。目前 NetiCRM 僅開放 PHP 語言的 API 。

帳號 : demo
密碼 : demo

程式碼授權

netiCRM/CiviCRM為AGPL 3.0授權

第三方程式/Library將全數置放於packages/底下,詳參照授權文件列表

 

註1: 可參考 CiviCRM Issues