Survey extension for MediaWiki

Over the past 3 weeks I’ve been working on a new MediaWiki extension that allows creation of on-wiki surveys by admins. It comes with a whole bunch of neat features, and is the most awesome (code wise) extensions I’ve created so far.It’s aptly titled Survey.

Feature overview

  • Surveys get displayed to wiki users using a nice pop-up form.
  • Surveys can be created and modified via an admin panel (Special:Surveys).
  • Surveys can be shown to specific types of users (logged in, anonymous, editor, confirmed, …)
  • Surveys can be shown for a specified percentage of users, and only after a certain amount of page views.
  • Survey questions can have different types of inputs, of which some allow restricting answers.
  • Surveys can be tested by admins via Special:TakeSurvey without them being live on the wiki.
  • Summaries of survey submissions can be found on Special:SurveyStats.
  • The survey submission data (ie user answers) can be exported via an API.

Requirements

Survey makes use of many new features introduced in MediaWiki 1.17, and therefore requires this version or later. It even makes use of MW 1.18 features, with fallback code for MW 1.17 :) It also makes use of 5.3 features, these being late static binding and anonymous functions, so it won’t work with PHP 5.2.x and earlier.

Some screenshots

Special:Surveys: the main administration interface for Surveys

Special:Surveys: the main administration interface for Surveys

Special:EditSurvey: administration interface to create and edit surveys

Special:EditSurvey: administration interface to create and edit surveys

Example of a survey as it appears to users

Example of a survey as it appears to users

Special:SurveyStats: summarizes the submissions for a single survey

Special:SurveyStats: summarizes the submissions for a single survey

Downloads

Some background

I developed the Survey extension as WikiWorks consultant for the IEEE, with some help from Yaron Koren.

WikiWorks

What’s next?

There are many many features that can be added to this extension to make it even more awesome. I’d like to get some initial feedback on version 0.1, so the usability issues and bugs that might be there can be ironed out. Please place any feedback you might have on the discussion page. This initial release contains all the features my client needed, so if you want to have new capabilities added and can fund the work, definitely contact me :)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.