先訂清楚「已儲存」的意思

香港維修承辦商揀系統,應先問一個現場問題:師傅在沒有訊號的地方完成檢查,辦公室最後收到的紀錄,是否仍然完整而且意思正確?可以假設師傅正在地庫檢查水泵,同一時間調度同事更改工作單。以下是建議的採購演練,並非客戶事故或實測成效;請用公司準備配發的手機及作業系統逐一試行。

Android Developers 的架構指引指出,能離線讀取資料,不代表能離線寫入。指引亦介紹先存到裝置、再排隊更新伺服器的做法,以及重新連線時處理版本衝突的需要。「最後寫入者優先」只是其中一種方法。這些是 Android 的設計原則,不能用來證明某款外勤產品已具備相關功能。承辦商仍要把自己的驗收要求交給供應商示範。

參閱 Android 離線優先架構指引

驗收時,畫面至少要分辨「已存於本機」、「等候上傳」、「伺服器已確認」及「需要核對」。照片尚未傳完,也應另有提示。建議把完成條件訂為:辦公室能開啟已接收的報告及所有必需附件。不能因文字先傳成功,就把整張工作單顯示為交齊。仍只存在手機的資料,遇到手機遺失或損壞便可能無法取回。

用一張測試工作單走完整個流程

先建立不含客戶資料的測試工作單,分別以維修員及調度員帳戶操作。記下原有狀態,在有網絡時下載工作單,然後同時關閉流動數據和 Wi-Fi。單靠訊號格數少,不能證明已測試離線儲存。測試前列明必須保留的欄位與附件,完成後逐項核對,避免只憑畫面出現剔號就收貨。

  1. 斷線填報

    填寫故障描述並附上兩張測試照片,按儲存後離開報告頁,關閉程式,再於離線狀態開啟。檢查文字及兩張完整照片都可讀取。

  2. 由辦公室改同一欄位

    調度員在有網絡的電腦把狀態改為等候零件;維修員則在離線手機把同一欄位改為已完成,再儲存一次。

  3. 連線後核對衝突

    恢復連線,按供應商說明觸發同步。檢查兩個狀態版本及現場紀錄,是否仍可供指定覆核人查閱。

  4. 裁決後兩邊核實

    由獲授權同事決定最終狀態並記下原因。辦公室開啟報告及照片,再更新手機畫面,確認兩邊顯示同一裁決。

再做一次中途斷線:讓文字先傳到辦公室,照片未齊時切斷網絡。用正式的重試功能繼續,查看有沒有重複報告或附件。還應請供應商示範儲存空間不足、登入逾時,以及手機重新啟動後的情況。失敗提示要講清楚哪些資料仍在、下一步如何取回。未上傳的紀錄尚未保全,就叫員工刪除程式或清除資料,不能算合格的復原流程。

衝突怎樣處理,要看業務後果

這個例子中,「等候零件」與「已完成」不能同時成為最終狀態。若只按時間先後覆蓋,仍需跟進的工作可能被結案。建議保留兩方修改及現場證據,由營運主管核對後裁決。紀錄亦要保留修改人、原有版本與決定原因,日後辦公室才能解釋為何更改狀態,而不是靠師傅回想當時輸入過甚麼。

外勤試行可採用的處理方案
只准連線提交可以等恢復訊號才提交的流程須另訂現場記錄方式,避免事後補填失準
本機草稿,連線後確認斷線期間記錄文字及照片要有可靠本機儲存、上傳進度及復原支援
獨立新增紀錄自動合併各有識別碼的新筆記或照片重試時須防止重複新增
互相矛盾的修改交人覆核結案狀態或有爭議的數量要指定覆核人並列出待處理項目
下載 CSV

預算屬中等、又未正式推出的承辦商,可先把離線範圍收窄至文字和照片,結案則留待連線後確認。這樣能控制首階段工作量,亦不用假設所有欄位都能自動合併。若供應商採用「最後寫入者優先」,請對方列明適用欄位、版本比較方式,以及被覆蓋內容能否找回。只有公司已明確接受丟失舊值的欄位,才適合考慮這項取捨。

把示範結果寫進採購條件

把同一份測試流程交給各候選團隊,要求逐款支援裝置記錄結果,列明可離線多久、附件限制、重試安排,以及誰負責未解決的衝突。師傅收工時仍有待傳資料,應交給哪位同事跟進,也要先講清楚。報價需包括裝置測試和日常支援。若基本演練已出現紀錄遺失或無提示覆蓋,應暫緩推出,待修正後重新示範。

比較原生與跨平台方案時,可參閱下方指南,但不論用哪種技術,都應完成同一個離線演練。如需商討開發範圍,可把流程交給流動應用程式服務團隊,分開估算本機儲存、上傳及衝突覆核的工作。現在最實際的一步,是安排一名師傅和一名調度同事共同見證測試,逐項寫下通過或不通過及原因。

延伸指南:原生與跨平台 App 如何選擇流動應用程式開發:釐清離線工作流程的範圍

進行前先確認

  • 離線關閉再開啟程式後,已儲存文字及完整照片仍可讀取。
  • 辦公室未能讀取的附件,仍清楚列為待傳。
  • 狀態衝突保留雙方版本,並交指定同事覆核。
  • 上傳中斷後可繼續處理,且不產生重複紀錄。
  • 推出決定附有裝置測試紀錄、支援負責人及明確驗收結果。

資料來源及延伸閱讀

付諸實行

相關指南