!!! 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.
As you can read this, I've broken down and actually did this.>>
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:
* [ JSPWiki | http://www.jspwiki.org ]
* [ SnipSnap | http://www.snipsnap.org ]
* [ XWiki | http://www.xwiki.org/">XWiki ]
* [ MediaWiki | http://www.mediawiki.org/">Media Wiki ]
* [ Confluence | http://www.atlassian.com/software/confluence/ ]
* [ WordPress |http://www.wordpress.org/ ]
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?
<<[{Image src='new.gif' border='0'}] 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 | http://www.intermeta.de/ ] 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
* Pico-based component architecture
* Spawned [Radeox | http://radeox.codehaus.org/ ]. 'nuff said.
* Some cool 'post-Wiki' concepts.
* Docs seem to be available
!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.