July 8, 2003

I'm not sure how many Wiki systems are really set up for this, but in general, I bet any Wiki system that stores nodes as flat files can reasonably support editing nodes with Emacs. Emacs comes with Ange FTP, which can transparently load and save files on remote servers using FTP. Just use a path like:

/user@domain.name:path/to/file

Kwiki lets you get away with this, though your change won't appear in the list of RecentChanges. I haven't tried Twiki yet; they want me to fill out a form to download it, which I'm not in the mood for. (Can someone provide a non-form-blocked link? It's GPL'd.) For UseMod Wiki, you'll need the RawMode patch.

Editing the nodes plain lacks much of the potential of the idea for Emacs-Wiki integration, so EmacsWiki has an Emacs Wiki mode with some nice features.

Of course, Zwiki supports remote editing without changes because nodes are just Zope files, all of which can be edited in this manner. Zope servers, by default, set up their FTP access on port 8021, so you'll have to add the port number to the path like so:

/user@domain.name#port:path/to/file

Like some other wikis, Zwiki keeps a change tag at the top of the node files to track concurrent submissions (conflicts when two people are editing the same node). A special ZWiki Emacs mode helps to manage this. Alburt's instructions and code also show how to set up convenient node creation from Emacs via a fancy XML-RPC call you add on the server side, as well as convenient file path parsing from ZWiki URLs, though I haven't gotten either to work out of the box yet due to my non-standard set-up and lack of Elisp experience. Nifty ideas nonetheless.

There's also a Zwiki.org node on the subject with a few alternative approaches, including ExternalEditor support which I haven't fully investigated.

FTP, of course, is not desireable in this day and age. FTP is an old protocol that transmits your login, password and all other traffic unencrypted, and that's bad. EmacsWiki has some notes on using ssh tunnelling with AngeFTP, and this script to get AngeFTP to use rcp/scp instead of FTP could also come in handy. For those with "sftp" on their system, a .emacs line such as (setq ange-ftp-ftp-program-name "sftp") might suffice.

As for getting an encrypted connection from Emacs to Zope servers, I'm under the impression that Webdav is the best bet. More on how to Webdav with Zope and Emacs when I figure it out; you smart folks are welcome to post instructions in comments and save me the trouble. :)

comments...

If you're using Linux, The best way I've found to use WebDAV is using the DAV filesystem from http://dav.sourceforge.net/. You can mount your DAV share just like any other filesystem, and thus use any program you like to modify the files, Emacs or otherwise.

Just wanted to mention http://oddmuse.org - a new domain name leading to the OddMuse wiki blog combo program designed by Alex Schroeder (redirects to Oddmuse under the emacswiki domain). I don't understand all of the issues your post discusses, but if anything is compatible with, and optimized for, emacs I would think it would be Oddmuse.



Oddmuse is a UseMod fork that Alex has stated has so many new chnages that he doesn't believe it will be integrated into UseMod. Oddmuse also supports FreeLink.