這是一個非常有意義且具體的專案需求。將 Odoo 應用於「文化古蹟宗祠會員管理」,不僅能解決現代化的行政管理問題,更能透過數位化方式保存珍貴的宗族譜系與歷史脈絡。

以下是針對您需求的詳細 Odoo 實作方案,包含模組規劃、核心功能設計與開發建議。


一、 系統架構與核心模組規劃

基於 Odoo 的模組化特性,我們可以將其拆分為以下幾個核心模組:

  1. 基礎設定模組 (Base Setup)
  2. 宗親會員管理模組 (Clan Member Management)​ – 核心
  3. 世系圖譜管理模組 (Genealogy Management)​ – 核心
  4. 祭典與活動管理模組 (Ritual & Event Management)
  5. 捐款與財務管理模組 (Donation & Finance Management)
  6. 權限與門禁管理模組 (Access Control)

二、 各模組詳細功能設計

1. 基礎設定模組 (Base Setup)

  • 宗祠基本資料:記錄宗祠名稱、地址、創建年份、供奉祖先、歷代重要記事等。
  • 輩分/字輩管理:建立宗族的輩分順序表(例如:...文、章、華、國...),這是後續自動推算輩分與排序的關鍵。
  • 祭祀節日設定:設定年度重要祭祖日期(春祭、秋祭、忌辰等),可自動觸發活動通知。
  • 職稱/頭銜管理:設定宗親會內部的職稱(理事長、總幹事、爐主、頭家等)。

2. 宗親會員管理模組 (Clan Member Management) – 核心

  • 會員資料卡
    • 基本資訊:姓名、性別、出生日期、聯絡電話、地址、Email、照片。
    • 宗族資訊
      • 所屬房支:選擇其所屬的「房」或「派」(如:長房、二房)。
      • 輩分:根據出生年與字輩表自動計算。
      • 配偶資訊:記錄配偶姓名及其來源家族。
      • 子女列表:連結到其子女的會員卡片。
      • 過繼/收養標記:特殊情況的註記。
    • 參與紀錄
      • 入會日期:成為正式會員的日期。
      • 繳費紀錄:連結到財務模組。
      • 參與活動紀錄:參加過哪些祭典、會議。
      • 擔任職務歷史:曾任與現任的宗親會職務。
  • 家庭群組視圖:提供一個樹狀或網格視圖,以「戶」為單位顯示家庭成員關係(戶長、配偶、子女)。
  • 搜尋與篩選:支援依姓名、輩分、房支、居住地、生日月份(便於寄送賀卡)進行進階搜尋。

3. 世系圖譜管理模組 (Genealogy Management) – 核心

  • 圖譜編輯器
    • 圖形化介面:採用類似 jsfamilytreeGoJS的前端套件,讓管理者能以拖曳方式建立父子、夫妻關係。
    • 直式/橫式譜圖:支援常見的歐式(橫式)或中式(直式)譜圖呈現。
    • 個人節點:點擊節點可直接查看/編輯該會員的完整資料卡。
  • 自動關聯:當新增一位會員時,若指定了其父親的會員編號,系統應自動將該會員掛載至父親名下,並更新整個譜圖結構。
  • 列印與匯出
    • 支援將特定房支或整個宗族的譜圖匯出為 PDF 或高解析度圖片。
    • 支援匯出 Excel 格式的名錄清單(含世系代數)。
  • 缺失鏈結提示:系統可自動偵測並列出「尚未連結父親/母親」的會員,協助管理者補全資料。

4. 祭典與活動管理模組 (Ritual & Event Management)

  • 活動建立:建立祭典、春秋兩季旅遊、會員大會等活動。
  • 線上報名:產生報名表單,會員可透過 Email 或入口網站回覆出席意願。
  • 工作分配:指派爐主、頭家、司儀、接待等人員,並自動發送任務提醒。
  • 祭品/用品清單:管理每次祭典所需的牲禮、鮮花、金紙等物品採購清單。
  • 簽到管理:活動現場可使用 QR Code 掃碼簽到,自動記錄出席率。

5. 捐款與財務管理模組 (Donation & Finance Management)

  • 捐款紀錄:記錄每筆捐款的金額、用途(香油錢、建設基金、獎學金)、捐款人、日期。
  • 捐款收據:自動產生符合稅務規定的捐贈收據(PDF)。
  • 年度繳費:設定年度常年會費金額,系統可批次產生繳費通知單。
  • 財務報表:產出收支明細表、捐款排行榜、年度預算執行表。

6. 權限與門禁管理模組 (Access Control)

  • 角色權限
    • 系統管理員:擁有所有模組的最高權限。
    • 宗親會幹部:可檢視會員資料、編輯活動、管理財務。
    • 一般會員:僅能檢視自己的資料、查閱公開的活動行事曆。
  • 門禁整合(進階):若宗祠有電子門鎖,可串接 RFID 卡片或手機 NFC,僅允許有效會員進入。

三、 技術實作建議 (Odoo 17 / 18)

  1. 模型設計重點
    • 建立 clan.member模型,並增加 parent_id(Many2one to self) 來建立父子關係。
    • 建立 clan.lineage.node模型來儲存每個譜圖節點的 XY 座標位置,以便下次開啟時保持排版。
    • 利用 _order屬性,依照輩分、年齡排序會員清單。
  2. 前端客製化
    • 譜圖 Widget:這是最大的挑戰。您需要開發一個自訂的 widget.js,引入 D3.jsvis-network等函式庫來繪製互動式譜圖。
    • 家庭卡片視圖:使用 Odoo 的 kanban視圖,將同姓氏、同地址的會員卡片顯示在一起。
  3. 第三方套件參考
    • web_tree_dynamic_colored_field:讓表格視圖依據輩分或房支顯示不同顏色。
    • mail:內建郵件系統,用於發送活動通知、繳費提醒。
    • website_event:若需開放外部人士報名,可擴展此模組。
  4. 行動端支援:Odoo 本身支援響應式設計,會員可透過手機瀏覽器查詢通訊錄、接收活動推播通知。

四、 開發步驟建議

  1. 階段一:基礎建設:安裝 Odoo,完成基本設定模組,建立會員資料模型與輸入介面。
  2. 階段二:核心功能:開發世系圖譜編輯器,先求能用,再求好看。同時導入舊有的紙本會員資料。
  3. 階段三:流程自動化:串接活動管理與財務模組,實現繳費通知、活動報名自動化。
  4. 階段四:優化與上線:調整 UI/UX,進行使用者測試(找幾位熟悉電腦的宗親長輩試用),正式上線。