I very much like your ideas for implementing a WebDAV interface into
MediaWiki.
In fact, this is something I suggested back in February...
You might want to post your notes there to keep everything in one place. :)
Let me know if I can help you 'kick the tires' a bit...
--
Jamie Hari
Editor-in-Chief
Marvel & DC Database Projects
On 6/14/07, Jack Bates
ms419@freezone.co.uk wrote:
>
> I'm working on a WebDAV interface to MediaWiki, based on the WebDAV
> module I contributed to the Gallery project:
>
http://www.mediawiki.org/wiki/WebDAV
>
> The goal of this project is:
> * To support connecting to MediaWiki with WebDAV clients like
> [
http://www.webdav.org/cadaver/ cadaver] and
> [
http://0pointer.de/lennart/projects/fusedav/ fusedav].
> * To support integrating MediaWiki with editors that support WebDAV,
> like Emacs and Eclipse.
> * To explore MediaWiki article histories with WebDAV clients that
> support the WebDAV versioning extension, DeltaV.
> * To support connecting to MediaWiki with a Subversion client like the
> command line or Eclipse Subclipse plugin.
>
> Connecting with Subversion is in the scope of this project because
> Subversion supports a protocol which is very close to WebDAV and DeltaV:
>
http://subversion.tigris.org/webdav-usage.html
>
> By supporting Subversion clients, I can edit MediaWiki articles using
> the Emacs version control mode and I can explore MediaWiki article
> histories using the Eclipse Subclipse plugin. If I maintain a software
> project's documentation in MediaWiki, I can use the Subversion
> [
http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html
> externals] feature to checkout MediaWiki articles along with the source
> code. These can then be distributed with the project or converted to PDF
> or manpage using XSL as part of the build process.
>
> So far I have implemented:
> * Some WebDAV features: GET, PUT, PROPFIND and DELETE. I can edit
> articles with cadaver, fusedav, Emacs and Eclipse.
> * Some DeltaV features: version-tree and baseline support. I can explore
> article histories and old revisions with cadaver.
> * Subversion checkout: I can checkout articles from the command line and
> explore article histories with Subclipse. Checkin will need support for
> the svndiff format, which happily is well documented in the Subversion
> source.
>
> You can install it by executing in your MediaWiki root directory:
>
> svn co
http://svn.freegeek.org/svn/mediawiki-webdav/trunk .
>
> However the code is still very "proof of concept" - I'm still figuring
> out how the code will be finally organized. Unless I can contribute this
> interface to the MediaWiki project, I guess it should be organized as a
> MediaWiki extension? However I'm still getting familiar with how
> MediaWiki delegates requests to extensions. Most WebDAV clients demand
> hierarchical URLs and don't support query strings, so I currently use
> two additional PHP landing pages in the MediaWiki root directory:
> * webdav.php handles WebDAV requests for articles like
> webdav.php/<MediaWiki_Article_Name>
> * deltav.php is responsible for DeltaV functionality. Its layout is
> based on Subversion's, e.g. deltav.php/ver/<Revision_ID>,
> deltav.php/bc/<Revision_ID>, etc.
>
> If I continue using this layout, I will spend some time cleaning and
> reorganizing the code. But before I do, I'd love some feedback from
> MediaWiki developers: Is this a reasonable design? What are the
> alternatives to and the consequences of introducing these two new
> landing pages?
>
> Eventually, I would like to move this project to the MediaWiki
> Subversion repository. Here is my SSH public key, signed with my GPG
> key:
http://cgi.sfu.ca/~jdbates/tmp/freegeek/id_dsa.pub.gpg
>
> My username is "jablko".
>
> I look forward to your input on this project! Thanks, Jack
>
> _______________________________________________
> Wikitech-l mailing list
> Wikitech-l@lists.wikimedia.org
>
http://lists.wikimedia.org/mailman/listinfo/wikitech-l
>
>