Swaroop C H
Swaroop C H

Reputation: 17034

Any open source examples of offline-online synchronization?

Are there any open source applications that demonstrate good techniques of online-offline synchronization of databases, something like Remember The Milk does with their iPhone app, Google Gears offline mode, etc.?

Upvotes: 7

Views: 3603

Answers (5)

CruiZen
CruiZen

Reputation: 182

The article Create offline web applications on mobile and stationary devices with CouchDB describes a simple inventory management app. with source code. It uses CouchDB's replication support. CouchDB is a NoSQL database though (document oriented, to be more specific). If you are looking for a solution for RDBMS, the database synchronization provider in Microsoft's Sync framework takes advantage of the change tracking mechanism built in SQL server 2008. Microsoft also describes a service-oriented approach in their documentation of the Smart Client Offline Application Block. This approach is more flexible in some cases than using merge-replication in the data-oriented approach.

Upvotes: 0

Daniel Paull
Daniel Paull

Reputation: 6843

The Wikipedia article on Operational Transform references four open-source applications - Ace, Gobby, Subetheredit and So6. Perhaps one of them is able to used as a starting point for you.

While they might not work directly with your DBMS of choice, it would be worth considering Operation Transform as the basis of your synchronisation.

Upvotes: 2

Bojan Milenkoski
Bojan Milenkoski

Reputation: 501

I have experience with SymmetricDS and it is really good. It can handle a lot of scenarios. It is open source, so it can be modified or extended for some special cases. As the authors say it was developed for a real life project so you can be sure that it really works fine (and it works for me also).

Just one thing. SymmetricDS relies on database triggers, so your database must support triggers.

Upvotes: 2

Norman Ramsey
Norman Ramsey

Reputation: 202595

The Unison file synchronizer is a magnificent tool, but its source code is not for the faint of heart. You didn't ask for academic papers but I have written one I'm proud of. There was some perl code to go with that one but I'm not sure if it's of any use. If you want it send me an email.

Upvotes: 8

Aaron
Aaron

Reputation: 829

google gears itself is open source. you'll want to look at the localserver module.

check out code.google.com/p/gears for the main developer site, and the LocalServer source. Although gears is a complex piece of software because it has lots of components (browser plugin interface, integration with javascript, SQLite integration, etc...), it is fairly well factored, so the LocalServer source is pretty easy to follow.

Upvotes: 3

Related Questions