Hi,
I've started working on an extension to manage branching history, calling it "Nonlinear". Here's the crude code, https://github.com/adamwight/Nonlinear

Screenshot of the effect on revision history:
mediawiki screenshot

On 07/16/2012 04:10 PM, Platonides wrote:
On 17/07/12 00:22, Adam Wight wrote:
Hello comrades,
I've run into a challenge too interesting to keep to myself ;)  My
immediate goal is to prototype an "offline" wikipedia, similar to Kiwix,
which allows the end-user to make edits and synchronize them back to a
central repository like enwiki.

The catch is, how to insert these changes without edit conflicts? With
linear revision numbering, I can't imagine a natural representation of
the data, only some kind of ad-hoc sandbox solution.

Extending the article revision numbering to represent a branching
history would be the natural way to handle optimistic replication.

Non-linear revisioning might also facilitate simpler models for page
protection, and would allow the formation of multiple, independent
consensuses.

-Adam Wight
Actually, the revision table allows for non-linear development (it
stores from which version you edited the article). You could even make
to "win" a version different than the one with the latest timestamp (by
changing page_rev) one.
You will need to change the way of viewing history, however, and add a
system to keep track of "heads" and "merges".
There may be some assumtions accross the codebase about the latest
revision being the active one, too.


_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to