Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Adobe Summit 2023 [19th to 23rd March, Las Vegas and Virtual] | Complete AEM Session & Lab list

How to get notified when offline changes are successfully applied ?

Avatar

Level 1

Hi,

I'm currently experimenting with the offline / sync capabilities of LCDS. My concern is to get notified when a write operation has been done, whether we are working online or offline from the server. This way, my code has a consistent behavior whatever the connection status is. According to the docs and examples found online, the usual way to do it is using an AsyncToken / ItemReference returned by the write operations.

This works perfectly well when online, my callbacks are triggered correctly. But when working offline, I'm facing two problems :

  • if I enable autoCommit, the calls to "createItem()", "updateItem()", and "deleteItem()" all throw an exception because we try to call the service on server while offline ;
  • if I disable autoCommit and manually call "commit()" when appropriate (i.e. only when connected), I don't get any error (and all the operations will be replayed once reconnected), but I no longer get the callbacks from the AsyncTokens...

I found a solution in the sample app from Christophe Coenraerts, where he disabled the autoCache feature and thus uses the callback from the "merge()" operation to trigger actions. But I find this weird from a code point of view. We want to listen to individual events, not a generic event that may include multiple operations at once.

Is there any mean to use the same callbacks for both offline and online mode ?

Many thanks in advance for your help

Fred.

0 Replies