Wiki, the Unsharing

I was hoping that this would be a triumphant post where I explained how to share a wiki installation between multiple computers, but I couldn’t make it work.

So this post is a series of markers on what I tried and where it failed.

I was operating on a TWiki instance I had running on my day job Mac.

Making Wiki Work Again

In my instructions for installing TWiki on Mac OS X, I noted that they are for versions 10.6 and 10.7. My day job Mac is now running v10.9, and the wiki didn’t work any more.

First of all, Apple removed control of web sharing in v10.8. To activate it again, download this plugin.

Unzip it and move it somewhere sensible (I put it in /Applications/Utilities) then run it. You will be asked whether to install it for all users or just the logged in user – for a single-user computer it doesn’t really matter which.

Then click on the big slider switch, and you should be back in business.

Secondly, TWiki uses RCS for versioning of the pages, but Mac OS X v10.9 doesn’t include RCS any more.

Fortunately, it is available through package managers like MacPorts and Homebrew.

  1. install the package manager of your choice. I use Homebrew because it doesn’t require sudo.
  2. install RCS, eg brew install rcs
  3. configure TWiki to use the newly installed RCS rather than the one which is now missing.

The Easy Bit: Making the Wiki Run on a Shared Drive

  1. copy the TWiki data – copied the entire twiki directory to the cloud drive. Important here to preserve permissions.
  2. pointed the web server directory at the cloud drive – made a symbolic link to point the existing TWiki install location at the cloud drive.
  3. modify cloud drive permissions – need to loosen permissions on the cloud drive to allow the web server to read it.

With this approach, you don’t even need to restart Apache. I was browsing and editing wiki pages on the original computer in short order.

The Hard Bit: Making the Wiki Run on a Different Computer

Again, I was operating on an existing TWiki installation on another Mac.

  1. wait for the cloud drive to sync – need the current TWiki data!
  2. repeat the same trick with pointing the web server directory at the cloud drive – again, used a symbolic link
  3. loosen the cloud drive permissions – again, need to allow the web server to access the cloud drive

This got me to the point where I could browse the wiki, but modifying it would not work. I ended with these classes of failures:

  • incompatible data – I couldn’t log in with the wiki user from the original machine.
  • permissions issues – Dropbox could not sync all the files because the permissions were too close for it to read them. This particularly applied to working files (session data, error messages). I could modify those permissions so that Dropbox would actually finish its sync, but any new files are created with the tighter permissions.

So, overall, an interesting experiment but not a good result.

What Next?

I still like wikis as tools for worldbuilding, but I need to share the wiki across multiple computers with inconstant network access which means I need to find a different wiki implementation than TWiki, which makes me a little sad.

Or I may actually have to write DataFrame.

2 Replies to “Wiki, the Unsharing”

  1. I think I missed the beginning of this project (and therefore the context), but have you looked at http://tiddlywiki.com/ ? It’s a Wiki that runs entirely in your browser, entirely in HTML and JavaScript, and all code and data are encapsulated in a single file. It’s a strange beast in that it live updates the HTML file with all of your wiki content and its own code (making backups) and is able to do this through JavaScript. There’s something Quine-like about that.

    I used it for a while, then gave up for simpler schemes (a boatload of tiny text files in a single Dropbox/BTSync folder) because I never really used the wiki-interlinking.

    1. Dunx says:

      thanks Brian – I had not heard of TiddlyWiki and it certainly looks to be worth exploring. Having all the content in one file will certainly help with sharing.

Leave a Reply