Must have and promising extensions for a corporate MediaWiki instance

MediaWiki

Running a corporate wiki is much different than running a public wiki. People inside a corporate environment expect certain things that (most) public wikis simply don’t have to worry about. These things include single sign on/integrated authentication, WYSIWYG editing, search that finds more than just wiki pages, formalized input, document versioning (draft, stable, published, etc.), document importing, and document exporting.

Thankfully, there are a number of MediaWiki extensions that can provide these types of functionality.

Must have extensions

Integrated authentication

Single sign on, or some form of integrated authentication is a must have in any corporate environment. People hate remembeing a bunch of passwords, and hate using applications that make them remember another one. IT departments hate changing passwords, and will hate any application where they will have to support another password database.

There are a number of options for this, ranging from complex, to easy. I’ll start with the easy ones and go to the complex ones:

  1. NetworkAuth
    • If you don’t mind anonymous editing, but want to ensure only computers from your network segment are editing the wiki, this plugin will do that.
  2. HttpAuth
    • This lets your web server do the authentication; this is really easy if you are already using mod_auth_pam, mod_authz_ldap, mod_auth_kerb, etc.
  3. Plexel
    • Plexel is easy Active Directory (AD) authentication. This plugin will do AD authentication with Kerberos support, and group synching with relatively little configuration; however, it isn’t free (as in beer or as in freedom), and does not run on Windows platforms. It also only works with AD.
  4. LDAP Authentication
    • Notice that I am the author of this plugin, and may show some bias towards it; however, this plugin is extremely flexible and is the most feature-complete of any of the plugins I’ll mention. The LDAP plugin supports password authentication with multiple domains, generic web server authentication (for things like Kerberos, PKI/Smartcard/CAC authentication), nested group login restrictions, nested group synchronization, preference synchronization, ldap query filtering (for login restrictions), and way more. I listed the Plexel plugin before this one because flexibility and features come with a price: complexity. This plugin can be extremely difficult to configure if you are doing something really complex; however, if you are doing basic password authentication to a single domain, this plugin is fairly easy to configure. This plugin is my recommendation if you have an LDAP and/or AD domain, and do not have some form of web Single Sign On (like OpenSSO or Crowd Authentication).
  5. Shibboleth Authentication (or ShibbolethPlus Authentication)
    • These plugins are recommended if you have a SAML SSO enviroment. I haven’t been able to test these yet, but I’m assuming they will work with any compliant SAML provider
  6. Crowd Authentication

Document versioning

Wikis are great as documentation systems. Unfortunately, some documentation is meant to be formalized, reviewed, published, and only changed after going through this process. Wikis are generally not good for this type of process. Thankfully, the German Wikipedia brought us an extension that is perfect for this type of process. Flagged Revisions (FlaggedRevs) “… allows for Editor and Reviewer users to rate revisions of articles and set those revisions as the default revision to show upon normal page view. Readers can also give feedback. These revisions will remain the same even if included templates are changed or images are overwritten. This allows for MediaWiki to act more as a Content Management System (CMS).” With this extension, you can build a formalized process for publishing articles.

Document importing

Importing PDFs, Microsoft Office Documents, and Open Office documents is needed for proper growth of a corporate wiki. Sure, you can upload these documents; however, if they need to be edited frequently, and by multiple people, uploaded documents become cumbersome quickly. Here are a couple of ways to import these documents:

  1. Word2MediaWikiPlus
    • This isn’t an extension, per se, but is a set of macros for Microsoft Word that can export your Word documents as wikitext. It will also export all of the images and bring up upload windows to upload any images used. This may also work for PDFs if you have the Adobe Acrobat PDF extension for Word.
  2. Open Office
    • Open Office can export documents as wikitext natively. I don’t find the wikitext to be as elegant as the wikitext exported from Word2MediaWikiPlus, but it gets the job done. Open Office (3+) also has an experimental PDF import extension, which may allow PDFs to be exported as wikitext.

Document exporting

There are a number of PDF exporters for MediaWiki; nearly all of them suck.

The Collections extension is one that is looking extremely promising (especially since it has the support of the Wikimedia Foundation). Not all formatting exports properly, or at all, and most parser function and tag extensions aren’t supported, but simple to moderately complex documents will export beautifully in multiple formats (PDF, ODF, Docbook XML, and XHTML). Best of all, you can create collections of articles and export all of them as a single document that has bookmarks for article titles and headings!

This extension is unfortunately difficult to install in a corporate environment (especially if you are on a disconnected network). I may make a future how-to for doing this.

Promising extensions

WYSIWYG editing

Although I much prefer wikitext to WYSIWYG editors for everything except tables, some users will simply refuse to learn wikitext, and therefore, will not use the wiki unless there is a visual editor. The FCKeditor extension is an extremely promising WYSIWYG for MediaWiki. Most WYSIWYG editors, to date, have thrown wikitext out of the window, and don’t work with templates, extensions, and various other markup. The FCKeditor extension supports most wikitext visually, and for the things that are difficult or impossible to do visually, it allows wikitext through butons in the visual editor. Best of all, this extension lets power users switch between visual and wikitext modes.

This extension is definitely usable now; however, since the Wikimedia Usability Initiative has WYSIWYG editing on its radar, it is wise to keep up to date on what Wikimedia is going to use on their wikis.

Enhanced search

The default (MySQL) search that comes with MediaWiki isn’t terrible, and the Lucene plugin is good; however, corporate wikis usually allow uploads that public wikis don’t allow, and they need these uploaded documents to be searchable. Recently, an extension was released that can index PDFs, DOCs, PPTs, etc.. The EzMwLucene extension will be a must have extension when it is ready for public use. Right now it is fairly difficult to install, and has a few bugs. Keep an eye on this one though!

Formalized input

Infoboxes, like those used on Wikipedia, are good for formalized input, and you may already be using these. So, isn’t this a closed subject? Well, infoboxes scare users even more than regular wikitext, and make pages hard to edit for novice users. Also, although you are formalizing your input, you aren’t getting the most benefit possible from having it formalized. Semantic MediaWiki (SMW) and Semantic Forms (SF) are powerful extensions that let you define properties for data, and then make real forms for inputting the data.

SMW and SF are complex extensions, but when you get used to them, you won’t know how you ever lived without them. After getting used to SMW, you should also check out some extensions for it, especially Semantic Result Formats, Semantic Google Maps, MetaVidWiki, and Semantic Tasks.

Update (05/16/2009): Fixed mispelled title and url, and removed info about kerberos not working through reverse proxies.

15 Comments

15 Responses to “Must have and promising extensions for a corporate MediaWiki instance”

  1. Jason says:

    Just wanted to mention that Kerberos does work with reverse proxies. Not sure if your comment was Plexel specific or not.

    We are using mod_auth_kerb on Apache reverse proxies which are a front-end for our corporate intranet. They proxy the “/wiki” path to our Apache back-end web servers, which are running Mediawiki and the LDAP_Authentication plugin. The LDAP plugin takes remote_user and allows single-sign-on for all users who have a Kerberos ticket. Works great. So, yes, I’m biased toward your LDAP plugin as well. Thanks!

  2. Rob says:

    Hey Guys,

    concerning the WYSIWYG try out the Tiny-MCE. It’s less buggy than the FCK-Editor. We try to adapt it to SMW but it will take at least till the end of the year. Unless the upcoming new microsoft internetexplorer will make things more tricky.

    Sorry for grammar ore spelling mistakes im not a native speaker.

    • Ryan Lane says:

      I took a look at the extension page on mediawiki.org, and it hasn’t been updated since 2007. It doesn’t have support for nearly as much wikitext as the fck extension. I don’t see a working example anywhere. Also, the mediawiki.org page mentions that is doesn’t work with MediaWiki 1.12+.

      Are you actively working on this? Can you post a link to a working example page? I’d love to check it out; especially, if it is now working better than the fck extension!

      If you are working on it, can you update the page at mediawiki.org?

  3. Bill says:

    Word2MediaWikiPlus works pretty well, though it does not seem to work w/ Office 2007 (yet?).

    The Collection extension is also very useful, we’ve implemented it on a private wiki using the mwlib.cgi as the ‘render server’ which simplifies things a bit (I couldn’t get the render server to respond properly)

    Going to try out the EzMwLucene.

    A few others we’ve found useful are:
    Extension:Piwik_Integration – replace google analytics
    Extension:DynamicPageList
    Enabling the ‘search suggest’ in MW

    • Ryan Lane says:

      Wow. Thanks for the info on Piwik. I didn’t know it existed until now. Looks like a really great alternative to google analytics.

    • Paolo says:

      Hi, i’m novice with MediWiki and Linux.
      I install MediaWiki for testing on my intranet, i try to install Collection Extension + mwlib for exporting custom PDF but don’t work on intranet.
      Did you have some right or tutorial for install and configure this userful extension. Thanks and sory for my terrible english

      • Ryan Lane says:

        I don’t have installation instructions. I’m sorry. It’s really difficult to install mw-serve. You’ll have to search through their somewhat terse documentation.

  4. Mark Wiltshire says:

    I have used Word2MediawikiPlus and it works well with older office documents as Bill commented.

    I also have implemented EzMwLucene.

    With the patch (mentioned in EzMwLucene talk page) on Windows 2003 installation, and it works really well.

    A few little issues, but the search works a lot better than the MySQL search supplied in standard install.

    A few others I am using
    - CategoryTree – provide Ajax tree of categories and content
    - EmailPage – adds email page functionality
    - BugzillaReports – adds reporting from Bugzilla system
    - WhosOnLine – see whos online.
    - Calendar – gives calendar pages to store events. can subscribe to calendars, and export to ical formats.

    HTH

    Regards

    Mark

  5. Damian Connaughton says:

    Have you managed to ge the EZMWLucene search working? If so, was it on a Windows box? It looks like it has some great functionality (I’ve got SphinxSearch running at the moment, which is better than the default one), but the file to get the Lucene daemon started (service.sh) looks like it is for a Unix system – can this be converted to run under Windows?

    P.S. been running your LDAP plugin for about 2 years now, it’s been great! However I was asked to get single sign on working, so have moved to using mod_auth_sspi plus AutomaticREMOTE USER, which works pretty well too!

    Regards

    Damian

    • Ryan Lane says:

      I never use MediaWiki on Windows, so I’ve never tried to get it working there. I did have problems with it on Unix/Linux though, and I don’t necessarily think it is ready to be used on a production site. Maybe it’s been updated since the last time I’ve used it though. You can’t use the service.sh script to launch it on Windows. You’ll need to create a Windows service to launch it automatically. If you just want to test it, you can launch it manually from the Windows command line using java. I’d give you the exact command, but it’s been a while since I’ve tried to use this extension.

      • Greg says:

        Hi Demian.
        I don’t know if you noticed, but the download of the EZMWLucene also contains 2 batch files (.bat) and they are intended for Windows…

  6. Hi,
    do you already know this free enterprise distribution for MediaWiki:

    http://www.blue-spice.org/

    Could be usefull :-)

    Best regards, Richard

  7. Craig Hubley says:

    Semantic Mediawiki (SMW) and the Semantic Bundle based on it are essential.

    I think generally you get poor results from adding extensions one at a time as you think you need them. In a “distro” approach, you install a well known integrated package that includes many things you may not use, but which are known to work well with each other and to have been installed in a particular robust *ORDER* – which is key.

    http://www.mediawiki.org/wiki/Semantic_Bundle lists the extensions, some of which are recommended in the above.

    Semantic Mediawiki Plus / Halo puts a very usable front end on the maintenance of property data and makes it very easy to use sophisticated semantic web tools such as reasoners. The ontoprise tool suite was available on both Sharepoint and on SMW platforms, making it easy to move data between them, but that company is gone and the successors are not clear on this support ability.

    There is talk about SMW+ / Halo becoming part of, or an extension of, Semantic Bundle, once the next release of Bundle in early 2013. Diqa runs it meanwhile.

    Distros specific to intranets are probably coming soon, too, especially if the US govt can be convinced to release some if its work for its various internal wikis.

Leave a Comment