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 :)
“BUEditor” are too
“BUEditor” are too indented Great advice! I’m reading your page a great deal and making my own list. Very helpful, thank you.
Please fix the indents on your page. Several module titles as “Diff” and “Pear Wiki Filter” and
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
Using Drupal Book
There's a chapter in the new Using Drupal book about Wiki's. I'm wondering if you read it in te meantime and how it relates to your post.
I haven’t read it yet, but
I haven't read it yet, but I am eager to do so.
certainly receive a very
certainly receive a very useful book
___________________
betsson724
Great advice; please fix the indents on your page
Great advice! I'm reading your page a great deal and making my own list. Very helpful, thank you.
Please fix the indents on your page. Several module titles as "Diff" and "Pear Wiki Filter" and "BUEditor" are too indented, making the overall article hard to read. Thanks!
what we did...
Tao, cool write up about the modules!
I had to do a wiki-like section of an intranet site I delivered recently (this past Monday) and I ended up using the wiki tools module with freelinking (wiki tools hijacking the freelinking tags). TinyMCE was the editor of choice for consistency sake, since other sites on the same client already use that and they got like 26+ people putting content into it.
Final touches were done by the path-auto to get rid of those /node/blah urls and convert them into /wiki/title-with-dases url.
awesome write-up.
Very impressed. It's encouraged me to try to add a wiki to my site again, but I'm wondering about pearwiki. There's a big disclaimer at the top saying that site developers should consider using flexifilter instead and since its the same maintainer, I think pearwiki is history.
Unfortunately flexifilter is
Unfortunately flexifilter is more of a proof-of-concept than an actual solution. I think you are right that pearwiki is not moving forward, which is unfortunate since it is the only half-way decent wikimedia syntax filter I found. There are other wiki syntaxes with better Drupal support though, like Markdown or Textile.
I put up a drupal wiki
I have used a few modules on my site to create a wiki. Many are similar to what you have here.
Custom Filter - for adding extra goodies to any syntax that seems to be missing some features.
Markdown - the syntax I am using for the wiki on my site
BUEditor - and preview does work, but you have to code it properly
Automatic Nodetitles
Diff
Wikitools
Pathauto
Subscriptions
Checkout
I think it turned out well. Still some changes I need to do, but everything is working. Thanks for your write-up. I have seen similar writes searching google, that is where I found most of the modules I have mentioned.
As for flexifilter, I don't use it, I use Custom Filter. It allows creation of custom filters using regular expressions. Works well.
Would you mind sharing?
We're working on a wiki too. I need as much help as I can get.
Would you mind?
I agree with the
I agree with the assessments. I wanted to create an internal developers wiki on a website for a company using MediaWiki syntax, thinking that some of the programmers might already have experience with that syntax.
Pear Wiki Filter - MediaWiki filter doesn't support alot of MediaWiki's syntax. The PEAR module is 0.1 alpha and has no documentation. No <nowiki> support. No wiki-tables support.
Flexifilter: couldn't figure out how to get it to work. No Documentation.
Thanks
Thanks for sharing, I have been thinking of creating a wiki like using Drupal, after reading your post it seems like may not be a good idea and I should consider other CMS, still will study in detail for all possibilities.
Mike - http://www.animaroo.com/
wiki cms
Yes,
I am starting a wiki and so I guess I am not going to use drupal. Not sure which CMS is the best choice for that though.
www.rakebackriches.com/
pearwiki & wikitools modifications
it would be cool if you posted the modifications for pearwiki & wikitools also. files or diffs or anything. i'm on that way also and i'm probably going to modify these myself. it could use some of your efforts, if you share.
To the best of my knowledge
To the best of my knowledge you can install pathauto and configure the paths separately. Say you have two content types: blog and wiki. You can set your pathauto paths to /wiki/[title-raw] and /blog/[title-raw]. Custom Logo Design
Drupal
Sometimes Drupal just cannot do it. It may have something to do with your host, but I think in this case it is just a limitation of Drupal. I will have to find another way.
muffin9129
http://productreviewsby.me/
So hard
This does not seem to be working for me. It is so confusing, Kudos to those of you that can actually get this wiki to work for you.
Pat.R
http://www.24-7bookie.com
You pust put me off trying ;)
You pust put me off trying ;)
The article is almost a year
The article is almost a year old. The situation is likely to have changed a lot by now.