Mediawiki

The educational technology and digital learning wiki
Jump to navigation Jump to search

Draft

Definition

MediaWiki is a free software wiki package written in PHP, originally for use on Wikipedia. It is now used by several other projects of the non-profit Wikimedia Foundation and by many other wikis, including this website.

We use MediaWikis in several other projects, including writing-to-learn wikis in high schools. Since MediaWikis are complex systems and somewhat difficult to use, you may consider another wiki technology for populations that are technically a bit challenged (most people, including the so-called digital natives). Simple editing in Mediawiki only needs knowledge of title, list, links and image tags and you may stick to that. But as the Wikipedia project shows, the addition of macros that help the user navigation experience and other markup for foreign formats can turn wiki editing into a more difficult coding exercise.

Consider using a Mediawiki in education, if you (a) plan to create a real hypertext and (b) have your students work on it for many many hours (not just 2-3 lessons). Another good reason for using a Mediawiki is the fact that its survival is guaranteed because it's the Wikipedia's engine.

Mediawiki also is a good knowledge management tool because of its many extensions that allow addition of (1) more community tools like blogs and structured discussions and (2) engines that can handle specific formats. An interesting example is Intellipedia (see [1], [2], [3] for more about Wikis in the Intelligence community). But again, Mediawiki syntax may turn out to be too complex for word processor additicts who believe - but actually don't - that they work efficiently with a complex Wysiswyg and refuse learning a few markup commands.

Extensions

Must-have MediaWiki extensions for educational wikis

Here is a list of useful extensions that may want to install according to your needs (basically a sub-set of extensions we use for Edutech Wiki). You also should consider, that each additional extension will slow down the wiki somewhat...

Crucial extensions
  • SyntaxHighlight to display various kinds of computer code. A must have for technical wikis, also useful to get better rendering for the Collection extension.
  • PageBy. An extension that inserts authors on top of the page if you add a tag. Useful if you believe that writing should be attributed. This actually should not be an extension tag, but a standard Mediawiki option to be configured.
  • DiscussionThreading. Transform the discussion pages into threaded forums (else you quickly will get a mess. Useful if you plan to have students comment and ask questions.
  • EditWarning shows a warning message if the user edits a page that is being edited by other users at the same time.
  • FCKeditor enables a more intuitive WYSIWYG editor when editing pages on a MediaWiki-based site. This extension can create bad wiki code and doesn't work with all outdated browser versions. Therefore, I didn't install it yet in this wiki since I really care about having clean code and pages. But we do use in the french version and in other wikis for which I care less. I expect a better version for MW 1.6 (fall 2009). - Daniel K. Schneider 16:53, 2 July 2009 (UTC).
  • CategoryTree allows to include trees of categories either in a page or in the sidebar. Helps navigation if you use some sort of controlled vocabulary. At least you should put all categories in some super categories and the super categories into a root category. It is ok to include a category in multiple super categories.

Anti-spam extensions

Read our little Spam article within which we provide more information about the following strategies:

  • Set the $wgSpamRegex variable for LocalSetting to include "stop words".
  • Use mass deletion and other scripts that you can find in the maintenance directory.
  • Install the ReCaptcha extension that we currently use in this wiki. It will prohibit scripts from creating user accounts and (optionally) edit contents.
  • Alternatively or in addition, install FlaggedRevs extension. It will allow a wiki to monitor the changes that are made to pages, and to control more carefully the content that is displayed to the wiki's readers. Very flexible.

Administration and helper extensions

  • MassEditRegex is an experimental extension as of June 2009 and that allows to change expressions in multiple pages. Very useful for instance, if you plan to add/remove or rename categories.
  • Instead of using dynamic page list extensions, you also can retrieve information about your wiki by simply using the external API, i.e. by typing URLs. Read API documentation at Mediawiki. Most queries also allow for various kinds of formating,
Example: http://edutechwiki.unige.ch/mediawiki/api.php?action=query&list=allpages&aplimit=1000&apfilterredir=nonredirects will list all pages

Other extensions

There exist dozens of more or less useful and well working extensions and hundreds in total. Look at our Version page to see what we currently use or wade your way through MediaWiki.org, where most extensions are listed and categorized.

  • Usability Initiative (various improvements for MW 1.16+, some of which you can see on wikipedia sites since summer 2010). This package is modular and you can (a) choose what functionality to add and (b) parametrize quite a lot. I found the Wikieditor to be the most useful thing to have. Collapsible menus can be interesting (since most users don't use the menus anyhow). Finally, you can gather statistical data. Installed so far on edutechwiki/fr - Daniel K. Schneider 12:10, 24 August 2010 (UTC)
  • Graphviz
  • UML
  • Extension: PageBy
  • WikiWidgets (to install here, allows to include a limited set of useful widgets)

Import, export and editing

See also ManageMediaWiki (our internal messy maintenance hints pages)

Editing tools and strategies

Overal, today, it's not possible to install both a WYSISWYG editor, expect it work with all wiki code and not to destroy more complex markup. The mediawiki language is quite a complex "mess" that makes creating an easy-to-use and perfectly working WYSIWYG or even a sophisticated WYSIYIM editor a difficult task. Technical people may read Markup spec and WYSIWYG editor at Mediawiki.org.

  • If you plan to work with unsophisticated contents (unlike Wikipedia), then you may install the WySiWyg FCKeditorOfficial extension. I don't use it on edutechwikis because it may create bad code, but I do use for smaller wikis used in classes that implement student writing.

You can improve the standard built-in wiki editor in two alternative ways:

For people who like to use programming editors there are two interesting solution

  • Install the external editing interface (installation of this Perl-based reference implementation is difficult ... I use this on Linux). Update: Since MW 15.3 (or 15.4?) and MW 16.x this program is broken and I am using the "It's all text" solution which is much clumsier :( - Daniel K. Schneider 16:55, 26 August 2010 (UTC)
  • Use the It's all text FireFox extension that will let you edit any form with most any editor (I use this on Windows)

For both these options you'll have to make sure that your text editor does have a MediaWiki mode. E.g. for emacs I use wikipedia-mode.el

Export filters

  • To export for wordprocessing, the currently best strategy is probably to use the Collection extension and configure it to export Open Office format. You also can export to DocBook
  • For PDF, same as above.

Import filters

From HTML

Several solutions exit

From Word
From Open Office (OO)
  • Install Sun Wiki Publisher. This is easy, just click on the "Get It" Icon.
  • Additionally, you could configure it to save directly to the Mediawiki. Not tested !!
  • Then, just "export" to some file, open it in an text editor (any, but the MS Notepad) and copy/paste the content to the Wiki.

Using the OO exporter is useful for folks who write longer articles and then publish an almost finished version on the Wiki. Round tripping is possible, but not easy.

Latex import

Links

General
Other edutechwiki pages
Other Edutechwiki links