Zim

Comment 13 for bug 505847

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote : Re: [Bug 505847] Re: couchdb plugin to share the same notebook on multiple computers

On Sat, Apr 28, 2012 at 11:18 PM, Matthieu Rakotojaona
<email address hidden> wrote:
> My idea is to store one document per version of a page. Each of these
> documents would be identified by a couchdb-generated id that ensures
> unicity among any of your databases. It would also contain the version
> number.
>
> By using one document per version, we can share all of the versions in
> the databases, and detect conflicts easily.

From my point of view storing old versions in the database as well
should be optional. Some people may want to use it, but it will be
much less efficient than storing versions in a dedicated version
control system like bazaar, git, etc. The main purpose of couchdb is
syncing.

> Also, I understand that everyone would like to see this implemented as a
> plugin rather as a core storage method. I am also a proponent of "plain
> text if possible". But storing pages in couchDB has the advantage of not
> dealing with the system's means to detect changes; all the changes are
> already in the db, and can be livestreamed with a friend for realtime
> collaboration.

Maybe first create a version that only uses couchdb, then we can add a
"mirroring" version on top of it which stores data both in the db and
syncs to the filesystem.

Btw. do you also intent to build in conflict resolution in zim? If so
please have a look at the open bounty for that topic and check the
wiki page with details.

-- Jaap