[Wikireader] Quick intro re: offline viewing/editing

Bjoern Hassler bjoern at caret.cam.ac.uk
Wed Jul 8 21:38:03 EDT 2009


Hi Ángel, hi Samuel,

>>> Another
>>> question is why isn't wiki editing more like svn? If your commit  
>>> doesn't
>>> conflict, then it should be accepted. If there are conflicts, you  
>>> need to
>>> resolve conflicts.
>>>
> MediaWiki tries to do that. On which scenarios does it fail?

I suppose it's more the fact that mediawiki does this silently: If it  
can merge, you don't know it has merged, and if it cannot merge,  
resolving the diff isn't convenient.  (Unless I am missing something.)

> svn isn't the best comparision for the model you're advocating. svn is
> centralised. You'd want a
> distributed VCS.

I think ultimately one might want a distributed VCS. However, I was  
thinking of a more pragmatic solution, where you have several client  
wikis with a central wiki. Essentially the idea is to make a minimal  
addition to mediawiki to enable some sort of synchronising  
functionality.

I guess I would argue this as follows: There's a lot of content in  
mediawiki already, and many people are familiar with mediawiki, so I'd  
like to see a solution for mediawiki. I would like to have something  
that ideally is part of the mediawiki core. Here are a few concrete  
ideas:

1. The most basic solution (notwithstanding Samuel's earlier comments)  
would be one way (similar to what you can already do with the OAI  
extension), but very easy to enable.

In LocalSettings.php, one would say:
  $wgWikiSource = "http://wikisource/api.php";
  $wgWikiMirrorType = "LatestRev | AllRevs";
  $wgWikiMirrorEditable = "no";
and specify something about frequency of updating. In any case,  
calling "Special:Update" would do a complete update, and edit links on  
pages are changed to point to "http://wikisource/index.php".   
Programatically it's not exciting :-), but it would be useful, and a  
concrete first step. And there'd be a fair amount of work required to  
get it properly integrated into the mediawiki software.

2. A second, more exciting, step would then be to think about two-way  
synchronisation, and some (options for) resolution of conflicts (which  
is where Samuel's comments come in). In LocalSettings.php, one would  
say:
  $wgWikiSource = "http://wikisource/api.php";
  $wgWikiMirrorEditable = "yes";
  $wgWikiMirrorConflicts = " ... ";
where the last option specified how conflicts are handled: Basic, low  
impact, branch etc (c.f. Samuel's and Ángel's posts), and perhaps a  
bunch of other options too.

Overall, I'd like to have something where the actual functionality  
could be quite basic, but it would have to be
* in mediawiki trunk, and would be very easy to enable,
* would need to be robust,
* be careful of bandwidth consumption, and
* handle uploaded files.

The mediawiki OAI extension goes a fair bit towards this, but it's not  
in mediawiki trunk, and certainly not easy to install. So it would be  
nice to find some people to do a concrete project in this area, that  
puts the issues on the agenda, and starts addressing them. So, if  
there are people wanting to do something with mediawiki, I'd be keen  
to start some discussion around this. (Do recommend other mailing  
lists as well, if this should be discussed elsewhere too.)

More generally, it would be useful to pull together some of the ideas  
in this area, to see what's available. So (if appropriate on this  
list) do post further links and suggestions, and I'll compile them.

Thanks for discussing, and all the best,
Bjoern



More information about the Wikireader mailing list