計劃方向與架構
這個計劃的目的,是幫助家庭整理成員關係、保存家族回憶,並以較由擁有者掌握的方式維護私人家族樹。
目前的主要方向:
- 以私隱與審慎使用為前提
- 以家族/內部使用為主
- 核心功能以免費使用為原則
- 不以中央後端代管私人家族樹資料
- 由擁有者掌握主要私人儲存位置
- 擁有者的私人家族樹主要存放於其自己的 Google Drive
- 受邀家族成員可透過核准的共享流程存取家族樹
- 支援匯出為圖片或 PDF
- 私人家族樹內容主要面向擁有者與受邀家族成員
目前的架構與儲存方式
本計劃刻意避免以中央後端代管私人家族樹資料。
- 擁有者的私人家族樹主要存放在其自己的 Google Drive。
- 瀏覽器本地儲存目前仍可能用於有限的快取資料或過渡狀態。
- Google 登入與 Drive 權限,是目前私人家族樹主要流程的一部分。
這樣的設計有助減少平台集中持有敏感家族資料,亦降低長期後端與安全維護負擔。
功能與頁面導覽
目前應用程式的主要導覽包含以下幾個頁面:
- 家族樹:主要的視覺化家族樹頁面。您可以瀏覽成員與關係、點擊人物查看詳情、在有權限時編輯資料,並將家族樹匯出為 PNG 或 PDF。
- 社群連結:整理外部連結,方便家族成員保持聯繫。
- 成員表:以表格方式查看所有家族成員,方便搜尋、排序、快速編輯,以及匯出 CSV 或 Excel。
- 成員管理:主要供家族樹擁有者使用,可加入受邀家族成員、調整檢視或編輯角色,並管理共享流程。
開始使用
目前這個應用主要有兩種開始方式:
- 登入:適合建立與管理主要家族樹的擁有者。
- 加入:適合已受邀查看或協作現有家族樹的家族成員。
如果您是擁有者
- 開啟應用後,使用您的 Google 帳號點選登入。
- 建立新的家族樹,或重新開啟您之前儲存的家族樹。
- 加入家族成員、設定親屬關係,以及填寫基本人物資料。
- 目前版本會在您編輯後自動嘗試儲存到 Google Drive;如有需要,亦可使用頂部的手動儲存再次寫回。
- 日後只要再次登入,應用便可重新開啟您已儲存的家族樹。
- 如有需要,亦可把家族樹匯出為圖片或 PDF,方便列印或留存。
共享目前如何運作
目前私人家族樹的共享,主要透過 Google Drive 進行。
- 儲存:擁有者先把主要家族樹檔案儲存在自己的 Google Drive。
- 管理存取:在成員管理頁面中,擁有者或具備編輯權限的人可輸入受邀家族成員的 Gmail 地址。
- 設定角色:受邀者可被設定為編輯者或檢視者。
- 透過 Drive 共享:應用會使用 Google Drive 權限,把相關家族樹檔案共享給該 Gmail 帳號。
- 加入:受邀家族成員登入後,即可開啟共享的家族樹。
- 協作:視乎角色權限,受邀者可以檢視家族樹,或協助更新內容。
簡單來說,目前應用主要有三種角色:擁有者、編輯者及檢視者。擁有者與編輯者可在成員管理頁面處理共享,而受邀者則以 Gmail 地址加入並取得相應權限。
如果您是受邀家族成員
- 開啟應用。您可以從邀請連結進入,或在家族樹已共享給您的情況下直接開啟應用。
- 點選加入,或使用應用內開啟共享檔案的流程。
- 使用與邀請相同的 Google 帳號(Gmail 地址)登入。
- 開啟共享的家族樹檔案;在目前流程中,這可能包括透過 Google Picker 選擇共享的
private_tree.json檔案。 - 依照您獲得的權限檢視家族樹,或協助更新內容。
簡單理解
- 擁有者登入後,把主要私人家族樹保存在自己的 Google Drive。
- 受邀家族成員則透過加入開啟已共享給他們的家族樹。
- 本應用主要面向家族內部使用,而不是公開瀏覽。
核心流程:編輯、儲存、復原與重新載入
本應用的設計方向,是讓主要家族樹檔案存放於 Google Drive,而不是集中保存在平台資料庫。
1. 編輯與儲存
- 編輯人物:您可以在家族樹頁面或成員表中開啟人物資料並進行編輯。
- 畫面上的變更:當您儲存修改或新增親屬時,變更會先立即反映在應用畫面中。
- 自動儲存:目前版本以自動儲存為主。當 Google Drive 存取已就緒時,應用會在修改後盡快把更新後的家族樹檔案寫回 Google Drive。
- 綠色提示:當頂部出現綠色的 ✓ 已儲存到 Google Drive 提示時,表示該次修改已成功寫回 Drive。
- 編輯節奏:如要降低多人協作時的衝突風險,建議每次修改後先等候綠色儲存完成提示,再進行下一次編輯。
- 手動儲存:頂部的手動儲存是補充用按鈕;當您想再次確認已寫回 Drive,或網路較慢、想手動再儲存一次時,可使用此按鈕。
2. 復原與重做
- 頁面頂部設有復原與重做按鈕。
- 這些按鈕是目前工作階段內回到較早修改狀態或重新套用修改的主要工具。
3. 從 Drive 重新載入
- 當您開啟的是 Drive-backed 家族樹時,頂部亦會顯示從 Drive 重新載入。
- 此按鈕會重新讀取目前儲存在 Google Drive 的家族樹檔案。
- 如果另一位協作者已更新內容,這個按鈕可用來取得最新 Drive 版本。
- 它亦可協助您放棄未同步的本地變更,並以 Drive 中已儲存的版本為準。
4. 版本記錄
- 當您開啟的是 Drive-backed 家族樹,且具有擁有者或編輯者權限時,頂部亦會顯示版本記錄。
- 版本記錄會列出同一個
private_tree.json在最近幾天內保留的 Google Drive 版本。 - 如果內容被誤改、多人協作時出現混亂,您可以開啟版本記錄,查看較早的版本並選擇還原。
- 還原後,所選版本會重新儲存成目前版本,因此還原前建議先確認您希望保留哪一個版本。
注意事項
- 本計劃由獨立維護者持續更新,部分功能仍在調整中。
- 某些功能或儲存行為目前仍可能處於過渡狀態。
- 當您建立或分享家族樹副本時,請自行留意該副本如何被保存、共享或轉發。
- 處理仍在世親屬的個人資料、照片或故事時,請特別審慎。
- 私人家族樹主要面向擁有者與受邀家族成員使用。
開發說明
此程式碼庫為公開狀態,方便檢視與審閱程式碼。整個計劃的方向,是主要依靠擁有者自己的 Google Drive 儲存私人家族樹,以減少平台集中保存私人家族資料。
如需在本地執行應用,請不要直接從磁碟開啟 HTML 檔案,而應改用本地網頁伺服器。您亦需要自行建立 Google Cloud 專案、產生 OAuth 憑證、填入程式碼,並在 Google Cloud Console 中設定對應本地網址的允許 JavaScript origins。
目前狀態
此程式碼庫目前仍在持續測試與調整中。