Wikis in Drupal 6 - Module Review
Submitted by tao on Wed, 2008-11-19 13:54.
Doing a good wiki in Drupal 6 is surprisingly hard. My project to create a site with MediaWiki-like functionality for climate research at UC Berkeley took much longer than I thought it would, and the result was mediocre. Here are my notes evaluating different modules:
Modules I ended up using
- Talk (6.x-1.5)
- Function: Move the comments into separate tab.
- Configure: Enable in Content Type -> edit -> Workflow settings (which is odd, should be Comment settings).
- Diff (6.x-2.0)
- Function: Show what changed between one revisions.
- Configure: Remember to turn on default revision tracking.
- Limitations: Kind of confusing. Where you go after you are done viewing the diff?
- Pear Wiki Filter (6.x-1.0-beta1)
- Function: Add
- Configure
- Need to pull Text_Wiki package down from cvs.
- Need to set path of installed PEAR packages.
- All configuring is hidden on the Input Format configure/configure page. Can be per format.
- Limitations
- No longer supported. Marked as obsoleted in favor of Flexifilter – but flexifilter doesn’t work.
- Does not support —- (hr) or —~~~ (signature).
- Can’t configure it not to not filtering html. I ended up hacking this out of the code.
- Regular expression exceptions don’t seem to work.
- I wasn’t happy with adding new wikilinks and images. I did extensive hacking.
- Wikitools (6.x-1.0)
- Features: Add a set of wiki behaviors, particularly taking you to the new content page if a link does not exist.
- Configure: /admin/settings/wikitools. Set to use wikipage.
- Limitations
- Move Protection option breaks site.
- Doesn’t mark the links to non-existant pages. I ended up hacking pearwiki to add visual marker.
- Recent Changes (6.x-1.x-dev: 2/36/08)
- Function: Simple but useful. Create Recent Changes page, with links to revisions and diffs.
- Limitations: I still ended up creating a recent changes view to use as a block.
- Notifications/Messaging
- Function: Very powerful. I used to let interested parties know when a wiki page has been modifed or commented on.
- Limitations: No way to get single-click sign-up.
- BUEditor
- Function: Simple, configurable markup bar. Has buttons to add markup to text area.
- Limitations
- Only does html out of the box, but easy enough to configure.
- Preview button is great idea, but doesn’t work with wiki syntax.
- Live
- Function: Show live preview of content textarea.
- Limitations: Needed to submit a patch to getting it working – http://drupal.org/node/328355
- Table of contents
- Functionality: Filter to turn a token into a TOC, with all the h tags as contents.
- Limitations: Hard to get working with pearwiki. Ended up submitting a patch to use an alternative token.
- Footnotes
- Functionality: Turn in-place markup into a set of footnotes.
Modules I evaluated but did not use
- Flexifilter – Does not actually work. Used pearwiki instead.
- Free Linking – Did not seem to add functionality on top of pearwiki & wikitools.
- Liquid – No D6 version.
- Subscriptions – UI is even more complex that Notifications, which I used instead.
- Quicktags – No D6 version. Used BUEditor instead.
- markItUp – D6 is in dev, not sure how to customize. Used BUEditor instead.
- FCKEditor – Interesting plugin allows it to export Mediawiki syntax, but too complicated. use BUEditor instead.
- Template Filter – No D6 version.
Scaling
Your site fails at it.
Yeah, one can only expect so
Yeah, one can only expect so much from $5/month hosting :)
I'm curious..
I admire your devotion to Drupal, but I’m curious: Drupal is a Swiss Army knife, but sometimes you need a dedicated tool.
Why did you decide to build wiki-like functionality in Drupal rather than simply using Media-Wiki, or some other wiki-software?
Would you choose Drupal again for this or would you go with wiki software?
The full project spec
The full project spec involved integration of wiki-features with group blogging and the possibility of other CMS functionality being added on as it grew. I would not choose Drupal if the project was to build a stand-alone wiki.
Thanks for sharing notes
Thanks for sharing notes about evaluation of those modules.
It could be nice if you could write some “how-to” for creating nice drupal wiki.
That was my original plan,
That was my original plan, but by the end I had to do so much hacking on the pearwiki filter to get what I wanted, the rest of my notes are no longer generally applicable.
You might want to check out the wiki group over at: http://groups.drupal.org/wiki
“Doing a good wiki …”
“Doing a good wiki …” I came to the same conclusion for Drupal 5 – if only I was as conscientious writing up eval notes as you :)
Another bit of Wiki functionality that no existing module offers – is edit-conflict handling. i.e. if multiple users begin editing simultaneously, and submit ~simultaneously, the conflicts aren’t handled very gracefully.
True. It has improved from
True. It has improved from the Drupal 4.7 days, when two people editing the same node would just silently overwrite each others work. But when it comes to simultaneous multiuser collaboration on document editing, Drupal just isn’t in the game.
Checkout Module
Have u seen the checkout module? http://drupal.org/project/checkout