On 7 Mar 2009, at 10:58, David Van Couvering wrote:
Hi, all. I've been chewing on the uses of CouchDB, and it seems it
could be
very useful for peer-to-peer document sharing between *individuals*
- a
community of collaborators on the web.
For example, a community wants to collaborate on a set of documents,
but
would rather not have to go through setting up some kind of web
site. They
just want to set up a folder that each member sees on their local
machine
and then have this folder be shared amongst the community.
CouchDB seems very close to being the perfect technology for this.
But I do
have some questions... (and potentially more as I chew on this
further).
This is an intended use-case for CouchDB. :)
- What protocol is used for replication across nodes? I'm assuming
it's
HTTP but just checking. In a peer-to-peer system, this sounds like
it means
that each participant has to open up their HTTP port for replication
to
work. Is that correct?
Yes.
- A community collaborating on a document would probably like to be
able to
view older versions, view differences between versions, revert to
older
versions, etc. I couldn't immediately find if CouchDB can retain
older
versions indefinitely, or if older versions get "cleaned up" over
time. I
suspect that the multi-version support in CouchDB isn't really
intended for
that usage - it's more for lock-free writes. I suspect that if I
wanted to
have this kind of functionality I would have to layer those
semantics on top
of CouchDB using one document for each revision and providing my own
diff
functionality, etc. Is that right?
To the point.
I'm currently working on a CouchApp wiki that sort of is supposed to do
all this and would show how to do versions in CouchDB without the
MVCC system. Nothing to see yet but I'll keep you posted.
Cheers
Jan
--