Synchronization of notes will be simplified if a revisioning system is built-in to Tomboy.

Revisioning in Tomboy should be modeled after SVN. A brand new installation of Tomboy has a revision of 0 (i.e., NO notes have been created). The very first note that is created is stamped with "1". At that point, both the note and Tomboy have a revision of "1".



Tomboy Revision

Note Revisions

Install Tomboy


Create "Note A"


Note A = 1

Create "Note B"


Note A = 1, Note B = 2

Create "Note C"


Note A = 1, Note B = 2, Note C = 3

Edit "Note A"


Note A = 4, Note B = 2, Note C = 3

During synchronization, two Tomboy clients will negotiate what should be synchronized using each of their revision numbers. Only the changed notes should have to be synchronized. There will have to be a way to deal with conflicts (i.e., Client A and Client B changed the same note at the same time before beginning a sync).

A Tomboy Client's revision number should be added to the mDNS Text Record. Additionally, NoteInfo and NoteShareNode should also have a revision. The revision for a note should be stored in the metadata portion of the note's XML.

Apps/Tomboy/NoteSharing/PhaseTwo (last edited 2013-08-09 00:14:57 by WilliamJonMcCann)