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
- Pico-based component architecture
- Spawned Radeox
. '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.
Currently existing attachments:
| Go to top |
|
More info...
|
|
|
This page last changed on 09-Aug-2005 23:32:39 CEST by HenningSchmiedehausen.
|
|