Referenced by
Rants

[RSS]
eyeWiki v1.0.0

Wikis


Wikis

For a while I've toyed with the idea of actually getting some sort of homepage. There is a lot of stuff (mostly code) that I want to put on the net for a while; there are a number of photographs that people keep asking me about and much other stuff.

My experience with hand-rolled HTML from circa 1996 is more than painful and ten years afterwards I was thinking that there should be some sort of "easy-to-use" homepage management available. Little did I know...

I thought that getting a personal Wiki for a home page might be a good idea. So I made myself a little check-list of what to expect from a Wiki.

  • Some sort of access control. This should be my home page. Not a public Wiki. I don't want you to toy with my resume that I might put there.
  • Easy to use. That is the idea of a Wiki, isn't it? If I chose a Wiki, I don't really want to edit PHP templates or JSP pages.
  • I'm a Java guy. J2EE technology would be mighty fine with me.
  • Docs. Yeah. I'm old fashioned. I write code, I don't read it. Especially not as documentation surrogate.
  • Some plugins for things like code-highlighting.
  • A truly free license. Not commercial or GPL. Something that is ASF (BSD) compatible.

So I went out and checked what is there. This is what I came up with:

Deep in my heart I'm still dreaming of a BSD-licensed, Java based Wiki that uses a templating language for its pages and CSS for skinning. Only a dream?

As you can read this, I've broken down and actually set up a real Wiki. However, I did not go with one of the Wiki Engines listed above but used a bastardized JSPWiki branch which was developed in-house at INTERMETA called EyeWiki.

JSPWiki

The Java based Wiki., it seems. Not really a bad thing to have and to use, however when I started toying with it, the Version was 2.1.<mumble> and lots of code work was going on.

Good

  • It's easy to work with Janne. He is helpful and really does a lot of stuff with JSPWiki.
  • Architecture is quite easy to understand and to extend.
  • Mature. Widespread. Stable.
  • Docs are quite ok. A little ragged but that's how all Wiki-based docs look like.
  • Can be plugged into Roller. Yeah.

Bad

  • (L)GPL. Janne said, that he was too lazy to look into ASF license. What a shame.
  • Uses JSPs. Ugh. Especially for a Wiki, a templating solution would have its merits.
  • Code is not really good. Running PMD and Findbugs finds literally dozens of problems.
  • Self-rolled container architecture. That's what Pico is for.
  • Wiki pages get rendered through a self-rolled engine with some minor issues.
  • (Killer) Access control and Security was non-existent in 2.1.x. Some hacks were possible but it wasn't worth the trouble.
  • Design and Layout are controlled by JSPs and use taglibs. There is a limited skinning mechanism but it is not really good and you have to juggle with tags all the time if you want to change the layout of a JSPWiki site.

SnipSnap

Good

Bad

  • GPL
  • Source repository only erratically available. I was not able to build from source.
  • Docs not very consistent.
  • (Killer) No real development visible. snipsnap-dev carries ~40 messages in four months. Issues in the bug tracker are open literally for months.

XWiki

Good

  • Easy to install
  • Docs available
  • Component based architecture, database independent.
  • Uses Radeox. Velocity. Groovy. Hibernate.

Bad

  • GPL
  • (Killer) The downloaded binary version greeted me right after startup with messages like this:
13:26:22,701 ERROR TP-Processor3 http://henning.schmiedehausen.org/xwiki/bin/view/XWiki/Admin
AssertionFailure:<init>:22 - an assertion failure occured
(this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: possible nonthreadsafe access to session
[...]
com.xpn.xwiki.XWikiException: Error number 3213 in 3: Exception while deleting object XWiki.Admin
Wrapped Exception: possible nonthreadsafe access to session
[...]
Wrapped Exception:

org.hibernate.AssertionFailure: possible nonthreadsafe access to session
[...]

Scary stuff. Sorry, but after that, no more evaluation. Come back when you are threadsafe.</li>

MediaWiki

Good

  • Stable. Mature. Fast. Wikipedia runs on Mediawiki.
  • Easy installation. Drop in, run a script. Ready to go.
  • Lots and lots of docs. So much that this is almost a 'Bad'.
  • Fully skinnable with CSS

Bad

  • php. No Java. At that point, I was already grasping at straws.
  • GPL
  • In a day of evaluation and testing, I was not able to change the 'Navigation' Menu on mediawiki 1.5-beta4 without producing an error.
  • Drowned in docs. Most of the docs however are for version 1.3 and 1.4; docs for 1.5 are scarce and sometimes plainly outdated. This will hopefully be better once 1.5 is released.
  • No plugins for code formatting included. Quick googling didn't bring up useful results.

Confluence

Good

  • Enterprise class, 'more than Wiki', share-and-collaboration site.
  • Integration with JIRA.
  • Confluence is open-source friendly and hands out licenses for open-source projects.

Bad

  • (not really, but I must write it somewhere) Commercial software. Source code might be available under NDA. Situation not clear.
  • (Killer) Even single site license much too expensive for a personal web site.
  • Even open-source friendly companies might at some point be forced to do a Bitkeeper.

WordPress

Yeah, yeah. It is not a Wiki. So what?

Good

  • Easy installation
  • Good docs (In a MediaWiki. Oh, the irony. However with Default navigation...)
  • Fully skinnable with CSS and templates from the admin pages.
  • Lots of plugins available

Bad

  • GPL. Why is it so attractive for everyone to use GPL?
  • php. 21st century Visual Basic. ;-)
  • It is not a Wiki. Funnily enough, it is a blog that is easier to use for creating a personal web site than a Wiki.
  • Page editing in HTML. However, there are plugins for other things available, if you know a Wiki plugin, tell me.

Currently existing attachments:

new.gif Info on new.gif 116 bytes


Go to top More info...
This page last changed on 09-Aug-2005 23:32:39 CEST by HenningSchmiedehausen.