Offline capability clarification

Could someone clarify what exactly the capabilities are for offline storage? I understand that you can query data and store it locally as a cache, but can it work in reverse, meaning can I have an online form and that data is stored locally, then synced with the server? I’m looking to build a mobile app with 2 way syncing.

1 Like

Not sure I quite understand what you are trying to do. Anytime you are doing anything involving a server you need connectivity. Only exception would be if the server is on the same device (computer).

Well, let me try again. If I create a mobile app, and have a form that users fill out, can the data from that form be stored locally and then synced to the server at a later time? I’m not sure if the offline cache data could store data and then sync it back to the server.

1 Like

I think you should involve @George or @Teodor for such technical question. And given the time… waiting tomorrow morning :wink:

@George @Teodor Can you help me with this? Just want to make sure of the offline capabilities.

No you cant
maybe they will add it in the future

As soon as the local storage connector is available you will be able to insert, update, delete data just like in the database connector.
This is planned and will be integrated in Wappler - i don’t have a time frame for this though.

1 Like

Thanks for the clarification. This is what I assumed but wanted to make sure.

Currently have a Client requesting this feature as some of their Agents work offline...

Any further information on this please Teodor?

Thanks in advance!

1 Like

@Dave, as this is a topic from 2018, I believe some of what is being discussed has been implemented.

When @Teodor discusses local storage connector, I believe (but could be wrong) that he is discussing local targets and now the Docker implementation, which allows you to insert, update, and delete data locally.

As far as synchronizing between local databases and remote databases, I am not sure this a Wappler issue because it opens up all kinds of issues that go beyond Wappler.

For example:

Handling conflicts between data (i.e. IDs that are the same, but contain different content) As an example, if Worker A adds a new Product locally and Worker B adds a new Product locally, both would have the same ID number in the Product table, but it would be for different products. Or what if both Workers update the same Product with different information?

While there are solutions out there that offer local to remote syncing, I have not found one that does it without issues.

I thought it was HTML5 localStorage

Not an issue as the new record would not have an id until it is inserted.

I was actually referring exactly to HTML5 Local Storage and a connector like the database connector we have.

2 Likes

@Teodor, yes, my original question was about HTML5 local storage. We have a client that we build Android apps for and they are used in a warehouse environment where sometimes they don’t get a good cell signal. We use Xamarin forms with offline sync. The app still works when not connected to the internet and when it does, it syncs all the data entered. Xamarin has conflict resolution built in and we also isolate the data based on device, so the chances of data conflicts are very low. Using Wappler would be so much easier than Xamarin.

4 Likes