Hi.
Ludovic Dubost wrote:
I think we don't need history to be compatible but
we need a migration
path (a script to migrate the previous history).
I'm more and more thinking we should get rid of RCS as the versioning
system. In the P2P XWiki Project we have been talking about implementing
a "XWiki Patch" notion because we need it to send it over the P2P
network for replication. This "XWiki Patch" could be the new minimal set
of information we need for a version.
Now I think we also need a table of versions to hold some key meta data
directly available (not as diff) so that we can display it in the
history page quickly. We could decide to store either the patch (less
space) or the full XML version in this table (more space but very safe
and faster).
....
We could decide to store the full document every 10 versions and store
only the patch (RCS or new XWiki Patch) for each intermediary version..
This would mean that to retrieve any version you need one full version +
10 nodes..
What if we allow to configure (via xwiki.cfg. parameter
"xwiki.store.rcs.fullpernodes" for example) per how many nodes to store
full version?
If we choose per 1 node, xwiki will store full document for each version.
If we choose per 0 node, xwiki will store only diffs.
This parameter will be 50 by default.
I think it is best solution of choose full vs diff and it is not to hard
to implement. I'm implementing it now.
WDYT?
--
Artem Melentyev