Mediawiki

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

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.

See also: Mediawikis for research, teaching and learning

Media extensions

Must-have user experience 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...

Print formats extensions
  • Collection - An extension for creating wiki books. Create lecture notes for your students and create student-made books in project-oriented classes. See Help:Books for this wiki.
  • EPubExport. (broken for MW 16 as of Nov 2010). Help students on the beach and soccer moms and dads. ePub is the most popular non-proprietry e-book format and supported by almost any hardware vendor and publishing house (except Amazon)
Blog / forum extensions
  • Wikilog - A blogging module. E.g. see the transcluded blog entries, i.e. the News in our main/home page or the Wikilog central page, or the blog of Daniel K. Schneider. This tool can be used for a variety of purposes. We just use it to announce news, but you also could use these as learning journals for example. Since these blogs are tightly integrated with the Wiki (Blogs pages are wiki pages) you can students have creating/modifying/collaborating on normal pages and then reflect upon the experience in their blog.
  • 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. We use in two ways. In our technical courses on edutechwiki (fr) each exercise is defined on a normal wiki page and the discussion page of each of these is used as anchored support forum.
  • An alternative to DiscussionThreading is a renewed version of LiquidThreads (not tested, in aug 2011 this new version is still labeled "experimental*). It is now being used on Mediawiki.org.
Page layout and navigation 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.
  • CategoryTree allows to include trees of categories either in a page or in the sidebar. Helps global navigation if you use some sort of controlled vocabulary. At least you should put all categories within in some super categories and the super categories into a root category. It is ok to include a category in multiple super categories. We also use this extension to create "local" navigation structures. E.g. we display a menu of all course pages with each course page in order to tie all pages for class together..
User information
  • 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.
Editing extensions
  • EditWarning shows a warning message if the user edits a page that is being edited by other users at the same time.
  • For MediaWiki 1.17+: WikiEditor. Implements a Wysiwyg editor. Not tested yet - 13:12, 17 August 2011 (CEST).
  • Prior to MW 1.17: 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 really outdated browser versions. Therefore, I didn't install it yet in this wiki since I care about having clean code and pages. But we do use in the french version and in other wikis for which I care less. Alternatively, install WikEd (needs modification of server files) or tell users to install it on top of Greasmonkey, a Firefox extension). Wiked currently provides the best in-browser editing - Daniel K. Schneider 11:39, 16 September 2010 (CEST).

Anti-spam and revision management 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

Read also: spam, an article that discussed spam prevention and recovery strategies and tools.

  • 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.
  • Nuke makes it possible for sysops to mass delete pages. Useful if page creation is not restricted by a difficult captcha.
  • 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 extension allows to create graphs using the dot language. You must have Graphviz installed on your server.
  • collaboration diagram using the Graphviz extension dynamically creates graphs that show user contributions for an article, a list of articles or a category of articles. (Click on "authors" in this wiki to see how it works).
  • UML Allows to create UML diagrams with a declarative language.
  • WikiWidgets (to install here, allows to include a limited set of useful widgets)
  • PageNotice provides a way for you to define fixed notice messages for the top or the bottom of a page (by individual page name), or entire namespaces (by namespace number). Not tested in EduTechiki, there seem to be performance hits, but I'd have to verify this.
  • TableEdit Helps editing tables (which is a challenge in wiki code). However, some problems with foreign characters were reported in the discussion page. Also, no official update for MW 16.1. Therefore, test before you install it for real.
  • IssueTracker implements a issue tracking system. Not tested ! Installation also probably would need some tweaking and reading of the Discussion page.

Import, export and editing

See also ManageMediaWiki (our internal messy maintenance hints pages)

Editing tools and strategies

Overal, today, it's not possible to have a WYSISWYG editor that works with all wiki code and does not 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 also can make this editor an option. I.e. when the user hits "edit" he first lands in the normal editing interface and has to click on an extra button.

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 but worth the trouble. I use this on Linux for MW 16.x and could not live without. I believe that using this extension allows me to work about three times as fast when I explore a new subject (several open editing windows). At some point this extension was broken, but it works again / DKS / 11/2010).
  • 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 word processing, 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.
  • Wiki2LaTeX is a extension reported stable (aug 2011) and that exports to LaTex and to PDF (via LaTex). The extension is written in php and uses its own parser, which is based on the original Mediawiki parser. Not tested so far, but definitely worth trying if you are familiar with Latex.

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