Odoo 20 擴展離線模式,讓使用者在沒有連線的情況下也能建立、編輯、封存、取消封存與刪除記錄。先前執行過的搜尋也可離線執行。連線恢復後,同步佇列會處理這些變更,並提供離線介面與管理工具來監控流程。 (Odoo 20 Release Notes; Odoo Goes Offline) 這使離線存取從僅作為檢視備援,轉變為能夠變更業務資料的工作模式。評估 Odoo 20 的組織,應檢視這些變更在同步後的表現,而不只是記錄在中斷期間是否仍可存取。

Odoo Nightly 將 Odoo 20 列為穩定、建議採用的 Community Edition 版本,日期為 2026 年 9 月,支援至 Odoo 23。 (nightly.odoo.com) 此列示與 Community Edition 規劃相關,但不能據此認定所有平台、Enterprise 環境或自訂資料庫的離線覆蓋完全相同。應依預定部署情境確認覆蓋範圍。

與 Odoo 19 相比有何變化

Odoo 19 的離線模式允許使用者檢視連線中斷前已開啟的記錄,但在離線時無法修改這些記錄。Odoo 20 則新增建立、編輯、封存、取消封存與刪除記錄的能力。 (Odoo 19.0 Docs: General Offline Mode; Odoo 20 Release Notes) 這是功能上的擴充,而不是把先前的快取重新命名。在 Odoo 19 中,使用者可以先開啟相關記錄以便在斷線時參考,但會變更這些記錄的工作必須等到恢復連線後才能進行。Odoo 20 支援在離線時建立新記錄,以及變更既有記錄。 (Odoo 19.0 Docs: General Offline Mode; Odoo 20 Release Notes)

版本評估應區分對快取資訊的存取,與完成並排入記錄操作的能力。只需要參考資料的工作流程,與涉及資料輸入、狀態變更或刪除的流程,其需求並不相同。 (Odoo 19.0 Docs: General Offline Mode; Odoo 20 Release Notes)

已確認的離線操作

已確認的 Odoo 20 動作涵蓋記錄生命週期的五個部分,分別是建立、編輯、封存、取消封存與刪除。先前執行過的搜尋在離線時也可使用。 (Odoo 20 Release Notes) 驗收測試應至少針對每一項動作設計一個情境,並在重新連線與同步後確認預期的記錄狀態是否出現。

Odoo 的 Experience 會話描述了專用的離線介面、同步佇列,以及監控與管理同步的工具。 (Odoo Goes Offline) 這些功能應納入使用者訓練與作業程序。使用者需要知道排入佇列的項目會出現在何處、如何辨識未解決項目,以及由誰負責審查。提供的資料確認存在管理工具,但未定義其完整工作流程或管理權限。

快取與搜尋覆蓋範圍需要驗證

Odoo 19 文件以連線中斷前已開啟的記錄來描述離線存取。Odoo 20 則另外確認,先前執行過的搜尋可在離線時執行。 (Odoo 19.0 Docs: General Offline Mode; Odoo 20 Release Notes) 提供的來源未說明會保留多少相關資料、可保留多久、是否有儲存空間限制,或快取記錄關聯的每個欄位是否都可用。這些來源也沒有說明在離線狀態下重複搜尋,回傳的是原始結果集,還是僅回傳已儲存在裝置上的資料。

在核准離線工作流程之前,團隊應先確認每個角色所需的搜尋與記錄類型。測試應先在線上執行相關搜尋並開啟所需記錄。接著,測試人員可中斷連線,再重複預定任務,包括附件、關聯記錄與必填欄位的使用。這些都是驗證點,不是已確認的限制,因為提供的發佈資訊並未描述其行為。 (Odoo 20 發行說明)

衝突處理需要測試

同步佇列與管理工具已獲確認,但所提供的來源未說明 Odoo 20 如何處理同一筆記錄的競爭性變更、重新連線後的驗證失敗,或佇列作業之間的相依性。 (Odoo 離線運作) 佇列的存在不代表已建立衝突政策。其行為應在預定的 Odoo 建置與設定中加以示範。

衝突測試可以讓一位使用者離線修改記錄,而另一位使用者在線上變更同一筆記錄。重新連線後,團隊應檢查產生的值、佇列狀態與使用者通知。另應分別測試離線編輯一筆在其他地方已封存或刪除的記錄,以及一筆因伺服器端規則而失敗的新建記錄。測試應記錄是更新優先、發生合併,或需要人工介入。 (Odoo 離線運作)

存取控制與破壞性操作

由於 Odoo 20 包含離線封存、取消封存與刪除,評估應超越例行資料輸入。 (Odoo 20 發行說明) 組織應驗證離線動作發生時、同步期間,或兩個階段都會套用存取權限、記錄規則與核准要求。發行說明確認了可用動作,但未說明各項安全控制在沒有連線時的表現。

測試應使用具代表性的使用者角色,而不只是管理員帳號。每個角色都應在連線與離線狀態下嘗試允許與禁止的操作。之後,測試人員應檢查佇列中的變更是否仍可見、拒絕訊息是否清楚,以及已封存、已還原或已刪除的記錄是否達到預期最終狀態。對於刪除後果重大的流程,應在部署前建立並記錄離線作業程序。 (Odoo 20 發行說明; Odoo 離線運作)

自訂模組需要針對性測試

已確認的功能涵蓋 Odoo 20 的離線記錄操作與同步設施,但所提供的來源並未指出每個自訂模組、第三方模組、自動化動作或外部整合都相容於離線作業。 (Odoo 20 發行說明; Odoo 離線運作) 因此,客製化部署應逐一評估模組支援度,而不是假設離線模式會在整個資料庫中一致適用。

測試應涵蓋自訂欄位、onchange 行為、必填值、計算值,以及組織工作流程中使用的伺服器端檢查。通常會對記錄建立或編輯產生反應的整合,也應在佇列變更同步後進行觀察。目的不是預設失敗,而是確認每個元件是否可離線執行、是否等待重新連線、是否產生遭拒絕的佇列項目,或是否需要不同流程。 (Odoo 20 發行說明; Odoo 離線運作)

上線前需要釐清的問題

相較於 Odoo 19,Odoo 20 提供更廣泛且已確認的離線能力,並以專用介面與同步工具支援佇列作業。 (Odoo 19.0 文件:一般離線模式; Odoo 20 發行說明; Odoo 離線運作) 在依賴這些功能之前,組織應驗證涵蓋哪些應用程式與記錄類型、使用者在離線前必須開啟或搜尋哪些內容、衝突如何呈現,以及誰負責監控失敗或延遲的同步。

上線決策也應記錄支援的裝置與部署環境、儲存與保留行為、存取控制結果、自訂模組結果,以及刪除或其他重大變更的處理程序。所提供的發行資料沒有回答這些實作問題,但這些問題決定已確認的功能是否適合特定的離線工作流程。 (Odoo 20 發行說明; Odoo 離線運作)

就 Community Edition 規劃而言,Odoo Nightly 的穩定與建議清單提供了所述的版本狀態,並支援到 Odoo 23。 (nightly.odoo.com) 仍應以測試使用者將離線使用的確切建置、模組、權限與工作流程為核准依據。已確認的變更是,Odoo 20 超越了 Odoo 19 對先前開啟記錄的唯讀存取,允許以佇列方式離線建立與修改。測試必須確認此能力在組織設定中的實際表現。 (Odoo 19.0 文件:一般離線模式; Odoo 20 發行說明; Odoo 進入離線模式)