Jan Lehnardt wrote:
You can do that, too. With attachments, you'd have it all in one
place and would not need to write your views in a way that they
don't pick up old revisions. That said, it is certainly possible to
store older revisions in other documents, if that solves your
problems.
Cheers
Jan
--
well I might be missing something about the way couchdb handles
attachments but this doesn't sound good to me. Adding attachments to
hold the revision history means that the attachments have to be
replicated each time a revision happens. Also a replication conflict is
pretty much the same thing as a revision, a client application would
have no knowledge of a replication conflict happening but this would be
good to see in a wiki-like page history. I can imagine in a distributed
system it would be very hard for the clients to maintain a revision
history as attachments. As for writing views to not pick up old
revisions, I think all applications should assume that all documents are
at all times carrying a bundle of prior versions and replication/save
conflicts. One of the nasty things in Notes is that most applications
assume that replication conflicts don't happen and can break when they
do happen. I think a major feature of Couchdb is sensible handling of
revisions and conflicts. Purging revisions and conflicts is going to be
necessary for some applications, but in others it is desirable to retain
all versions. It would be good at least to be able to specify which
databases to run compaction on and which to exclude.
What is the proposed rule for compaction? Just deleting all revisions it
finds? Deleting old revisions over a certain age?
Another thought, it would be nice perhaps to run compaction on some
servers but not on others for replicas of the same database. Thus a
bunch of offline clients could compact fairly frequently and
aggressively, however a central server they all replicate with that has
lots of disk space could retain all versions. I am thinking in
particular of the scenario of OLPC XO laptops replicating with a school
server.
Alan.
--
Alan Bell
The Open Learning Centre
Web: www.theopenlearningcentre.com
Mob: +44 (0)7736 778908
Tel: +44 (0)8444 849388
The Open Learning Centre is a trading name of Bell Lord Ltd,
a company registered in England and Wales #05868943.
VAT Registration #GB 901 4715 55