Why Drupal WYSIWYG Makes MediaWiki Obsolete & How To Convert
Like many wiki operators, I was piling up articles with no end in sight.
The higher I built my tower of babel, the more I wondered if I had chosen the strongest foundation to build upon. As content increased, the strain on the system did too. More articles made it more painful to rebuild and convert if my wiki collapsed.
The MediaWiki system had been chosen for a couple reasons:
- Easy Editability: Wikipedians like myself are familiar with its markup language, which is easier to use than HTML
- Collaborative Wiki Culture: Wikipedia culture has developed elaborate and clever ways of dealing with large-scale problems through cultural processes that take its simple page editing scheme and category tracking to new organizational heights. Most of these processes aren't hard-coded into the MediaWiki software at all. Wikipedia runs mostly on informal policies and practices that Wikipedians have developed through trial and error.
- Community Momentum: MediaWiki enoys a large install base and the ongoing development efforts of the Wikipedia organization.
I created my wiki and saw that it was good. But in biting the apple of Knowledge of MediaWiki Good and Evil, I discovered a pile of problems that set my article tower teetering:
- MediaWiki Is Hostile Towards HTML: As an experienced designer, I found it frustrating sometimes not being allowed to use full HTML without hacks. I used an extension called ABSHTML to allow snippets of code to go unmolested by MediaWiki's parser and this worked for a while.
- Markup Is Still Painful: Even Wiki's simple markup is a pain to teach would-be contributors with a lot more knowledge to share than time to invest learning how.
- MediaWiki Layout Is Simplistic: MediaWiki is designed for long, sprawling encyclopedia article in a single column. As a designer, I hacked it into multiple columns by making templates called {{2coltop}}, {{2colmid}} and {{2colend}} that injected ABSHTML-wrapped table tags. Editing this became annoying quickly.
- MediaWiki Editability Is Inverse To Article Size: The bigger and more complex an article gets, the less fun it is to edit. I find myself hunting through markup language when what I really want to is think and write about ideas.
- Wiki Culture Is No Substitute For Code: As great as Wikipedian collaborative culture is, it's not a replacement for the ability to provide hard-coded user experiences that follow explicitly programmed paths and workflows.
- Wiki Culture Is Alien To Outsiders: Wiki culture alienates newcomers because cultural processes are not easily discoverable and require editors to learn to apply hand-written markup conventions. For example, Wikipedia has no comment boxes, only a convention of hand-editing comments onto discussion pages followed by --~~~ which produces a username timestamp signature.
- MediaWiki has no menu system: I built my own horizontal hierarchical menu system in MediaWiki out of embedded templates. Some other wiki engines have menuing systems built in, but this is a laughable problem to have.
The hunt was on for a replacement to MediaWiki. I needed something with all of MediaWiki's amazing features that transcended its weaknesses.
Then I met Drupal.
Drupal Weighs In
Anything wiki can do Drupal can do better.
- Ultimate Editability: Drupal's integrated TinyMCE WYSIWYG editor continues to amaze me. The wonders never cease.
- Modular Extensions Encode Culture: Drupal can be enhanced with modules and configurations that enable workflows that automate Wiki's informal cultural processes.
- Tsunami Momentum: Drupal is sweeping everything before it. Countless groups like IBM, The Onion and others are adopting and extending Drupal, contributing huge improvements to its codebase.
The Drupal Setup Begins
So ACTFOR.org MediaWiki exeunt.
I have installed Drupal 4.7, TinyMCE WYSIWYG editing and Freelinking on www.empowerthyself.com.
I'm deprecating MW and converting everything over in full public view. No more secrets.
This could be written as an article on why Drupal makes MediaWiki obsolete suitable for Digging. Amazingly enough,my Firefox 2 RC2 finally crashed for the first time in the middle of writing this, and when it resumed my session the unsaved writing was still here in TinyMCE where I left it. Talk about graceful recovery.
Converting MediaWiki Articles To Drupal Book Pages
I started converting MediaWiki articles and discovered how incredibly simple it was.
- Copy: In Firefox 2 RC 2, copy the Wiki page. No need to export, convert markup, or anything else.
- Paste: In Drupal, create content and paste the article directly into TinyMCE where it appears flawlessly.
- Clean: The only cleanup necessary was:
- deleting the [edit] links MediaWiki puts on each header. You can delete the anchor tags too but they are invisible and cause no harm.
- Click the [edit].
- In the bottom bar, click div.editsection.
- Press the delete key.
- To delete them all at once, click Search and Replace button, type in [edit], and Replace All.
- Links: Links will point to their pre-existing http:// destinations on the MediaWiki. There are two approaches to replacing links.
- Use the Freelinking module and replace them with [[MediaWiki Style Links]] that will automatically link to creating new pages.
- click each link
- click the Unlink button
- add [[ and ]] to the link manually
- Use Drupal's short urls.
- Use the Freelinking module and replace them with [[MediaWiki Style Links]] that will automatically link to creating new pages.
- deleting the [edit] links MediaWiki puts on each header. You can delete the anchor tags too but they are invisible and cause no harm.
Conclusion
I think MediaWiki users can now consider a much better alternative.
The Story So Far
Here's what has been done to setup so far: Installed 4.7.3
- Created /files/ Made /files/ writable
- Having problems with clean urls and .htaccess
- Nato says get a copy from /etc/drupal/htaccess
- Found article saying how to make TinyMCE 100% width automatically
- Placed .htaccess file and enabled clean URLs
- Installed CVS 4.7 verison of freelinking.module and imported freelinking.mysql
-
TinyMCE interferes with certain static text inputs like Profiles Freeform Lists so I'll make a list of exclusions:
- */edit/Interests
- Using Book Pages for all content navigation menus with high-level starting points on the main Menu.
Wikiness
According to this, Drupal 5 makes wiki-like universal editability an option for any content type. Freelinking module installed. With TinyMCE editing, wiki markup is totally obsolete. The only thing Wiki has that Drupal needs is freelinking (check!). Everything Wiki does Drupal does better:- Categories (check)
- Template Includes (needed?)
- Namespaces (who needs em?)
Freelinking has some problems. It can't freelink to short urls. I'm more inclined to just use shorturls with tinymce's quick link button.
There are some cases where achieving wiki freedom without using a number of cross-linked administrative features is harder than using the defaults MediaWiki provided.
Drupal Future Feature Requests
- you@empowerthyself.com Email forwarding to user address
- keyboard shortcuts (ctrl-e edit, ctrl-s save)
- What Links Here for any page
- Revision Comparison is being developed here
- Show Latest Moderated Revision being developed here
Chat
Drupal can be integrated with a chat system. There are several ways to do this:
- JWChat, Murckl or webIRC embeds
- JWChat even supports MSN transports, so it could with a little work become a way to centrally manage all COMMS
Update: Wiki conversion is mostly complete. Thanks for your assistance!
Empowerment Needs You! To Convert Wiki
The Wiki has many many pages that need to be converted to Drupal Book Pages. Fortunately, the TinyMCE WYSIWYG visual editor is lots of fun to use. If you want to help out with Empowerment so that I can spend more time writing and less time converting, this is how it is done:
- Choose a wiki page: On ACTFOR.org, find a wiki page that needs converting. Start with Activist Media pages.
- Copy: Click "Edit" to get the Wiki page's code, File Menu/Edit/Select All, File/Edit/Copy.
- Create a drupal book page: On EmpowerThyself.com, click Create Content/book page .
- Title: Title the book page the same as the title of the MediaWiki page.
- Paste: When the TinyMCE editor for Body comes up, paste the Wiki markup there.
- Change Headers: Every header bracketed by =heading=, ==heading==, ===heading=== etc corresponds to the —Format— menu's Header 1, Header 2, Header 3, etc.
- Change Bullets: Every line that starts with *, ** or *** corresponds to a bulleted list, indented once and indented twice, etc.
- Strip Equals and Stars: Find & Replace All (button looks like A B with arrows) for "=" and "*" with absolutely nothing, erasing them.
- Submit: If you know what book page the page should be under in the hierarchy, set its parent. Click Submit to save it.
- Do Tables If You're Feeling Fancy: If you want to reporduce the original 2 column layout, the first column is between {{2coltop}} and {{2colmid}} and the second column is from there till {{2colend}}. Right click edit row properties to vertical align top. Cells should be width 50% each.
- Printer-friendly version
- Login or register to post comments
- Email this page





Anybody seen a Drupal-implemented definition-oriented wiki?
My neighbor Julian Tschannen wrote a Wiki drupal package.
http://drupal.org/project/drupal_wiki
I don't use his module because I use Drupal's content types as they are intended and link between articles using simple clean urls instead of wiki-style bracket tag markup (which I think is obsolete compared to WYSIWYG page editing)
If you want to do something like mediawiki using Drupal, Julian's stuff is the best way.
Actually i came here while