Many years ago, we at Iodynamics decided we needed a wiki, so I found some simple Perl-based wiki engine. It was painfully simple. Absolutely no bells or whistles.
A couple years ago, I became familiar with Kwiki and found it to be a huge improvement over the plain-vanilla wiki software we had been using. The nice thing about Kwiki is the large number of plugins available. You can integrate Template Toolkit templates, have per-user preferences, WYSIWYG page editing, and include RSS feeds through the use of Kwiki plugins, which are really just additional modules available through CPAN.
Kwiki still has its drawbacks. It is difficult--or at least not very straightforward--to protect your Kwiki wiki from spammers. Many of the plugins suffer from stagnation and abandonment. The Kwiki community seems to have maybe... moved on?
Having been impressed with Kwiki's extensibility, I recommended it to some people for some sites. My buddy Dave had me set it up for a couple sites, including barbershopwiki.org, a site for barbershop-style singers and enthusiasts to share information.
The barbershopwiki.org site seemed to instantly become a hit within that small community of users, but their enthusiasm turned to frustration after a period of time when pages on the site were defaced with advertisements and links to porn sites.
Of course, with Kwiki's easy revision control features, it was easy to replace the defaced pages with previous, legitimate content, but it quickly became a major hassle to have to do this all the time.
The solution is to only allow write-access to pages to users you trust and not to anonymous users. This flies in the face of the wiki design principles upon which the wiki concept was established. That is, wikis are supposed to be open for anyone to edit, ensuring the free flow of information and the freedom for anyone to add to or correct information they find in a wiki.
Recently, Kwiki has been seeing some new development. Plans for a 2.0 release which addresses many of the issues I've mentioned are planned. However, from what I can tell, the development isn't very active, so it's anyone guess as to when Kwiki 2.0 is going to be available or, more importantly, when it will be production-ready.
Many people have suggested MediaWiki to me. I applaud the MediaWiki folks for creating such a popular piece of software and, for the most part, I love what wikipedia has become, but I can't help being biased against MediaWiki for the mere fact it's developed using PHP.
Not only that, but we have done some customization of MediaWiki for a client and found the underlying PHP code quite a bit more yucky than most PHP code. This also does not shed a positive light, in my mind, on MediaWiki.
So, I went off to search for other Wiki engines. It wasn't long before I landed at the home page for TWiki. The majority of people reading this are not familiar with or have tried very hard to forget that "Twiki" was the name of a short anthromorphic robot sidekick on the 1970s television series Buck Rogers in the 25th Century. Twiki was generally useless, walked around saying "beady beady beady," and annoyed all viewers over the age of eight.
The information I just shared with you is not at all relevant to the topic I'm trying to address.
Anyway, it seems that TWiki has taken an approach similar to Kwiki by providing extensibility options through CPAN modules, but they've built a baseline wiki platform that, quite simply, RAWKS!
After playing with it off and on for a couple of days, I decided the time was right and immediately replaced Kwiki with TWiki as the wiki engine for the barbershopwiki.org site. So far, it's been great.
Because the default installation of TWiki is more complex than, say, Kwiki, it's important that you carefully read the INSTALL.html file that accompanies the installation tarball. This file will walk you through setting up file ownership and permissions on files and directories, configuring Apache's configuration to securely host your TWiki site, and set up some initial user accounts with administrative priviledges.