Extension:Survey

About
Survey is a MediaWiki extension that allows administrators to define surveys that can then be shown to specified groups of users.

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 requires:
 * MediaWiki 1.17 or above
 * PHP 5.3 or above

Download
You can find the current version of Survey on the Google Code download page, as well as a list of legacy downloads.

You can also get the code directly from SVN. Tags can be obtained via

Where 'version' is the version number of the tag, such as 0_1 (see the available tags). The latest code can be obtained from trunk:

Installation
Once you have downloaded the code, place the Survey directory within your MediaWiki 'extensions' directory. Then add the following code to your LocalSettings.php file:

The final set is running the MediaWiki setup script update.php, which can be found in the maintenance directory of your MediaWiki install. Via the command line, this is typically done with:

Configuration
Configuration of Survey is done by assigning to $egSurveySettings in your LocalSettings.php file. The options are listed below and their default is set in the Survey settings file. You should NOT modify the settings file, but can have a look at it to get an idea of how to use the settings, in case the below descriptions do not suffice.

Example of how to change a setting:

Available settings:

Usage
This section is targeted at site admins that want to set up and manage surveys. For users the process of taking a survey should be self-explanatory.

Creating and editing surveys
Surveys can be created, edited and removed in Special:Surveys by people with the survey admin right, by default only sysops.

Testing surveys
Surveys can be tested by clicking the survey name or "take this survey" in the admin UI. This takes you to Special:TakeSurvey, which can be used to test survey submissions. You will be able to submit as many times as you want. Only people with the survey admin right can access this page.

Deploying surveys
Once a survey is enabled, it gets deployed wiki-wide for all users matching the user criterion. These users will then need to visit the minimum amount of pages before the survey gets activated, at which point a lottery is done, making sure only the specified percentage of these users gets the survey.

If you want to instead deploy a survey on one or more individual pages, you can embed the tag in each one. It is called in the following way:



The ID should match the survey's ID, which is the string that shows up after "Special:TakeSurvey/". The other attributes each correspond to settings found in Special:EditSurvey.

Do note that using the survey tag is an experimental feature which might not work properly in all situations.

Keeping track of surveys
A summary of survey results can be found on Special:SurveyStats, linked from the admin UI. This is only accessible by people with the survey admin right.

Exporting data via the API
Survey allows you to export surveys and submission data via the MediaWiki API using these 3 API modules:


 * ApiQuerySurveys - get the surveys matching the provided conditions -
 * ApiQuerySurveySubmissions - get the submissions for a survey -
 * ApiQuerySurveyAnswers - get the answers (there is 1 for each field in a submission) -

These modules can only be used to query data by people that have the surveyadmin right. Full documentation for these API modules can be found at api.php on your wiki.

Version
This is a copy of the release notes file on SVN, which might be more up to date then this page.

Version 0.1.2
2011-11-14


 * Fixed issue with database index names causing update.php to fail when running after installation of Survey.
 * Fixed several IE JavaScript issues.
 * Added missing action- messages.

Version 0.1.1
2011-09-18


 * Restricted access to survey statistics via the API to survey admins.

Version 0.1
2011-09-13

Initial release with these features:


 * 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.

Internationalization
Survey is fully internationalized. Translation of Survey messages is done through translatewiki.net. The translation for this extension can be found here. To add language values or change existing ones, you should create an account on translatewiki.net, then request permission from the administrators to translate a certain language or languages on this page (this is a very simple process). Once you have permission for a given language, you can log in and add or edit whatever messages you want to in that language.

Authors
Survey has been written by Jeroen De Dauw as WikiWorks consultant for the IEEE.