Extension:Survey

From mediawiki.org
MediaWiki extensions manual
Survey
Release status: experimental
Implementation Special page , API , User interface, Ajax
Description Survey is a MediaWiki extension that allows administrators to define surveys that can then be shown to specified groups of users.
Author(s) Jeroen De Dauw
Maintainer(s) WikiTeq team
Latest version 0.3.0 alpha (2014-04-02)
Compatibility policy For every MediaWiki release that is a Long Term Support release there is a corresponding branch in the extension.
MediaWiki 1.39
PHP 7.0+
Database changes Yes
License GNU General Public License 2.0 or later
Download
README
  • $wgSurveySettings
  • surveyadmin
  • surveysubmit
Quarterly downloads 12 (Ranked 138th)
Translate the Survey extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The Survey extension allows administrators to define surveys that can then be shown to specified groups of users. It is not functional on any currently supported version of MediaWiki.

Feature overview[edit]

  • 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 (i.e. user answers) can be exported via an API.

Installation[edit]

  • Download and move the extracted Survey folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Survey
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'Survey' );
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  • Configure as required.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.


Configuration[edit]

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:

$egSurveySettings['defaultEnabled'] = true;

Available settings:

Name Type Default Description
defaultEnabled boolean false If surveys should be enabled by default
defaultUserType Survey::$USER_ Survey::$USER_ALL The default type of users a survey is shown to
defaultNamespaces array array() The default namespaces in which surveys should be shown. Empty list for no namespace restrictions
defaultRatio integer 100 The default percentage of users the surveys should be shown to
defaultExpiry integer 60 * 60 * 24 * 30 The default expiry of cookies used to track survey completion of users, in seconds
defaultMinPages integer 0 The default minimum amount of pages users should visit before getting a survey
JSDebug boolean false Indicates if JavaScript debugging should be on or not. Should be false on production environments.

Usage[edit]

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[edit]

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

Testing surveys[edit]

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[edit]

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 ‎<survey> tag in each one. It is called in the following way:

<survey id="" ratio="" expiry="" min-pages="" />

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[edit]

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[edit]

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 — api.php?action=query&list=surveys&suids=4|2
  • ApiQuerySurveySubmissions — get the submissions for a survey — api.php?action=query&list=surveysubmissions&qsid=42
  • ApiQuerySurveyAnswers — get the answers (there is 1 for each field in a submission) — api.php?action=query&list=surveyanswers&qaid=42

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[edit]

Version 0.3.0 alpha is the attempt to bring this extension to compatibility with MediaWiki 1.23+.

The release notes in Git only cover up to version 2.0 at this point.

Internationalization[edit]

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[edit]

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

Screenshots[edit]

See also[edit]