{"ref":"content:the-fourth-way-to-go-offline-in-ui5-and-why-the-service-worker-stays-dumb","page":"/content/the-fourth-way-to-go-offline-in-ui5-and-why-the-service-worker-stays-dumb","json":"/content/the-fourth-way-to-go-offline-in-ui5-and-why-the-service-worker-stays-dumb.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"the-fourth-way-to-go-offline-in-ui5-and-why-the-service-worker-stays-dumb","title":"The Fourth Way to Go Offline in UI5 (And Why the Service Worker Stays Dumb)","url":"https://community.sap.com/t5/technology-blog-posts-by-members/the-fourth-way-to-go-offline-in-ui5-and-why-the-service-worker-stays-dumb/ba-p/14441667","content_type":"blog","published_on":"source:sap-community","explains":["capability:odata","capability:ui5-data-binding"],"summary":"Reporting on the UI5Con session run by [Viktor Sperling](actor:viktorsperling) and [Lars Kissel](actor:larskissel), the post proposes a fourth offline architecture for a warehouse scanning app: a service worker kept deliberately ignorant of OData, and a JSONModel/IndexedDB layer that does an explicit download, work, submit cycle, queuing local mutations before posting one `$batch` with a single changeSet at the end of a session. It also works through the alternative `v4.ODataModel` change-buffer pattern (`updateGroupId`, `submitBatch`) and explains why Fiori elements' annotation-driven, live OData V4 interactions resist offline replay. The session-token and XSRF-expiry problem for long offline periods is named as an open gap rather than solved.","short":"Offline architecture for a UI5 warehouse scanning app","author":"Noel_Hendrikx","published":"2026-07-15","provenance":{"discovered_via":[{"source":"source:sap-community","channel":"fiori-tag"}],"first_seen":"2026-09-23"},"drafted_with_ai":true},"readings":{"liveness":[{"label":"Checked against the source","tier":"unknown","evidence":"nobody has checked it"},{"label":"Source reachable","tier":"unknown","evidence":"not crawled"},{"label":"Age","tier":"good","evidence":"published 3 months ago"}],"compatibility":[{"label":"Version","tier":"unknown","evidence":"no version declared"},{"label":"Moved since?","tier":"good","evidence":"no recorded change after 2026-07-15"},{"label":"Findings","tier":"good","evidence":"none flagged"}],"reach":[{"value":647,"unit":"views"},{"value":0,"unit":"comments"},{"value":9,"unit":"likes"}]},"signals":{"views":647,"likes":9,"comments":0,"metrics_at":"2026-10-25"},"series":null,"edges":{"authors":[]}}