Development of different sync mechanisms

Asked by Benjamin.M on 2013-03-31

I wanted to inquire about the status and plan for the implementation of other synchronization mechanisms, aside from Snowy/Rainy.

Syncing is an essential feature for me, since viewing out of date notes just doesn't do it. Copying notes over by hand is not practical. I think Rainy is not an optimal solution either, because not everybody has a server availiable (and for me, it doesn't run on my Raspberry Pi with Raspian, which is my only "server").

There is a branch called sshsync, but that seems to be dead since 2011. Also, there is a dropbox sync branch, but no pushes yet. Someone asked about "Syncing your notes with Dropbox" on 2012-01-11, but the answers went from "there is a branch", "it's in the market release" to "we don't officially support any file-sharing-service (sic!)".

So my question is, are there plans to support sync over ssh or any cloud storage services?

I think the latter would be the most convenient solution, requireing minimal work for the user and no coding work on the Tomboy side (at least for Dropbox).
If no one is working on it and there is no intention to, then could you maybe push the existing code? Unless it is too outdated. I would be interested to have a look at it/have a go at it (although to be honest, I might not find the time to do it).

Cheers,
Ben

Question information

Language:
English Edit question
Status:
Solved
For:
Tomdroid Edit question
Assignee:
No assignee Edit question
Solved by:
Stefan Hammer
Solved:
2013-04-01
Last query:
2013-04-01
Last reply:
2013-03-31
Best Stefan Hammer (j-4) said : #1

Hi,

Yes, there are plans to add other sync methods like webdav sync or ssh sync. In the end we want to support the same methods as Tomboy does. And yes, there are branches existing for both of them. However the are based on the 0.4.1 version which was only one-way sync and therefore can't be easily merged with our recent code. So in principal, one has to rewrite that stuff based on 0.7.x! I plan to do it in the far future, but my main focus at the moment is to get the beta (two-way-sync) branch bugfree, merged and released as a stable version.

Rainy runs on the Raspberry Pi, but only on the soft-float version of Raspbian or on the original Debian Wheezy (http://jjjjango.blogspot.co.at/2013/02/tomboys-new-sync-server-rainy-running.html). Unfortunately, mono does not run on a hard-float OS - this is still work in progress.

According the file-sharing-services (Dropbox, GDrive,...): We never supported a direct sync using the APIs of such services and we probably never will. This has one simple reason: These APIs never provide methods for conflict resolution and it is therefore not possible to sync files from different clients with a client-based conflict resolution as we do it. If I am mistaken, please correct me.
However, we added an option to choose the folder of the sdcard sync service. This means, it is possible to sync from Tomdroid to the SD card (eg into the Dropbox folder) and from there update Dropbox.
People have done it, but I never tried it and I don't know how this works with conflicts etc... So this method is not officially supported by us eigher.

Our solution for this whole problem will be (hopefully soon) to provide a public sync server based on Rainy. With free accounts, just like Ubuntu One offered it. I fear this will still take several month.
However, I can give you a free testing account on http://www.notesync.org I sync with this server (it is run by the developer of Rainy, a friend of mine) every 10 minutes and never lost a note or change until now. But, of course as it is a testing account, you could loose notes at any time or break the syncronisation.
If you want an account, just contact me directly via launchpad!

Further, if you want to implement ssh or webdav sync i would appreciate this a lot. However, you changes will be merged after the beta branch got stable (as we are in feature freeze now).

Greetings,
Stefan

Benjamin.M (benjaminm) said : #2

OK, I see.

As for Raspberry Pi, the maintainer of Rainy explained that to me. Unfortunately I'm running Raspbian hard float.

I'm not completely sure why a lack of sync mechanisms in the API of Dropbox and co. would be a problem. Afterall, you said you do conflict resolution client side and the Dropbox docu says that using the "Sync API" is like having a "private filesystem", where your App uses "filesystem calls to read, write..." etc. But I don't have any hands-on experience with this API, I just skipped over the documentation :)

The problem with using SD sync with Dropbox is, it doesn't download your complete online folder, that would not be feasible and you can't download complete folders (that are inside your Dropbox folder).

Benjamin.M (benjaminm) said : #3

Thanks Stefan Hammer, that solved my question.