-
Improvement
-
Resolution: Fixed
-
Blocker
-
3.8, 3.9
-
MOODLE_38_STABLE, MOODLE_39_STABLE
-
MOODLE_39_STABLE
-
MDL-68076-master-4 -
-
5
-
International 3.9 - Sprint 10
To facilitate data collection from as broad a sample of Moodle users as possible, we should add a link within Moodle to a permanent URL on which surveys will be placed (e.g. "https://feedback.moodle.org". At minimum, this landing page will always display a simple "NPS" (net promoter score) survey. The landing page may also offer other questions or links to other surveys.
I suggest that the link be implemented as an icon in the header using the "Bullhorn" icon from FontAwesome, to match the "Feedback" activity. The icon should appear next to the existing Messaging and Notifications icons.
Attention should be drawn to the link by incorporating a User Tour for the 3.9 release.
Roll-over of the icon should display the text "Give feedback on Moodle LMS". Clicking the icon should offer a popup with a short message: "Click here to give feedback on the Moodle LMS" or similar.
Site administrators should have the option of disabling the feature. Whether the feature is enabled or not should be recorded in Site Registration data.
Site administrators who have registered their Moodle site should have an option to review and retrieve responses from their site only. Additional analysis tools may follow later.
A partner portal access to review data from sites hosted by that partner is also a possible future enhancement.
In addition to taking the user to the landing page, the link should also include the following information about the user in URL parameters:
- Site URL (can be used to tie responses to a registered site)
- Site short name
- User's preferred language (used to direct to a language-specific survey, if available)
- First three octets of user's URL, for coarse geographical location (allowable within GDPR, because the last octet is omitted)
- Length of time the user's Moodle account has been active on this site
- The type of page the user was on when they clicked the icon
- Any roles the user has in the context in which they clicked the icon
- Detailed Moodle version
- Name of Moodle theme and version
This data will be collected and recorded by the landing page, along with the timestamp and responses to questions on the landing page.
User clicks on the Feedback link should be logged in Events.
- LimeSurvey
- LimeSurvey is open source survey software built in PHP. The Community version is well suited to Moodle's needs.
- Can be hosted at feedback.moodle.org (or whatever permanent URL is desired)
- Supports many standard question types
- Can accept parameters via URL, allowing key user information to be passed from the user's Moodle site (see below). This is called the Start URL
- Conditional survey questions are possible using the "Relevance" feature
- Supports fully anonymized responses, but this will nullify the submission date.
- Built in statistical reports for numerical/menu questions
- Exports to many kinds of analysis software, including R, SPSS, Excel, LibreOffice, etc.
- Can present the same survey in multiple languages. LimeSurvey can attempt to pre-populate this value from the user's language preference setting in Moodle via URL parameters.
- Supports CAPTCHA codes
- Can set a cookie to prevent repeated participation, but I don't recommend this unless the survey is reset regularly, e.g. monthly. (Data could still be combined for analysis.)
- Supports geographic location from IP address using IP-Info-DB service or Google Maps – the free version is accurate to the country level, so complies with GDPR but still provides useful data. Try it here: https://ipinfodb.com/
- Outstanding advice on how to design a good survey
How to prepopulate questions via URL:
Question responses can be pre-filled in LimeSurvey by using URL arguments. The question is identified using a SGQA identifier constructed from the survey ID, group (question group) ID, question ID, and, if relevant, choice ID. These are combined into a single parameter delimited by "X", as shown below. Multiple choice question codes need to be constructed differently, using question codes instead of IDs and "_" instead of "X". (Note that there is another method of prefilling using qcode naming via panel integration, but it only seems to work with free text questions.)
Examples:
Survey ID: 282444 (this will change when survey is implemented on permanent site)
Group ID: 2 (all the optional questions are in Group 2, the mandatory NPS questions being in Group 1)
Specific questions:
How long have you been using Moodle LMS?
Question ID: 4
Question type: Single choice answer
Answer Option codes:
- AO01 Less than one month
- AO02 Less than one year
- AO03 Less than 3 years
- AO04 Three years or more
To prepopulate the response "Less than one year", based on the "First access to site" value for the user on clicking the Feedback link, include this string in the URL:
&282444X2X4=AO02
What version of Moodle LMS are you using?
Question ID: 5
Question type: short free text (to allow multiple decimal points). Note: it is possible to use a regular expression to validate this text.
To prepopulate "3.8dev+ (Build: 20191105)" from server environment:
&282444X2X5=3.8dev%2B%20%28Build%3A%2020191105%29
What mode of instruction do you use with Moodle LMS?
Question code: G02Q05 (Note that this question type uses a different option format)
Question type: Multiple choice answer (check all that apply)
Answer Option codes:
- SQ01 Face to face
- SQ02 Fully online
- SQ03 Blended or hybrid
To prepopulate "Face to face" AND "Blended or hybrid" from Analytics Site Settings:
&G02Q05SQ01=Y&G02Q05SQ03=Y
Example:
http://gaeacoop.org/limesurvey/index.php/282444?newtest=Y&lang=en&G02Q05_SQ01=Y&G02Q05_SQ03=Y
What type of institution do you use Moodle LMS in?
Question code: G02Q06
Question type: Multiple choice answer (check all that apply)
Answer Option codes:
- SQ01 Academic
- SQ02 Corporate training
- SQ03 Non-governmental organization (NGO)
To prepopulate "Academic" from Analytics Site Settings:
&G02Q06_SQ01=Y
[confirmed correct]
http://gaeacoop.org/limesurvey/index.php/282444?newtest=Y&lang=en&G02Q06_SQ01=Y
What level of learning do you use Moodle LMS with?
Question ID: 6
Question code: G02Q07
Question type: Multiple choice answer (check all that apply)
Answer Option codes:
- SQ01 Early childhood education
- SQ02 Primary education
- SQ03 Lower secondary education
- SQ04 Upper secondary education
- SQ05 Post-secondary non-tertiary education (may include corporate or community/NGO training)
- SQ06 Short-cycle tertiary education (may include corporate or community/NGO training)
- SQ07 Bachelor or equivalent level
- SQ08 Master or equivalent level
- SQ09 Doctor or equivalent level
To prepopulate "Bachelor or equivalent level" AND "Master or equivalent level" from Analytics Site Settings:
&G02Q07_SQ07=Y&G02Q07_SQ08=Y
[confirmed correct]
http://gaeacoop.org/limesurvey/index.php/282444?newtest=Y&lang=en&G02Q07_SQ07=Y&G02Q07_SQ08=Y
How do you use Moodle LMS?
Question ID: 34
Question code: G02Q08
Question type: Multiple choice answer (check all that apply, allows "Other" with a short text box)
Answer Option codes:
- SQ01 Student
- SQ02 Teacher
- SQ03 Non-editing teacher
- SQ04 Course creator
- SQ05 Manager
- SQ06 Site administrator
To prepopulate "Student" AND "Teacher" AND "Other" and name of custom role "Pilot tester" from user's role when they click the Feedback link:
&G02Q08SQ01=Y&G02Q08SQ02=Y&G02Q08_other=Pilot%20tester
[confirmed correct]
If we need to capture multiple "other" roles, they can be delimited using any URL-legal character.
What is the URL of your Moodle LMS site?
Question ID: 41
Question type: short free text. Note: it is possible to use a regular expression to validate this text.
Including this question will allow linking the results to the site registration if the site is registered, so the site administrator can view a summary of responses.
To prepopulate "https://learn.moodle.net" from server environment:
&282444X2X41=https%3A%2F%2Flearn.moodle.net
[Confirmed correct]
In which country do you use Moodle?
Question ID: 42
Question type: short free text.
Limesurvey can automatically prepopulate the geographic location from IP address using IP-Info-DB service or Google Maps – the free version is accurate to the country level, so complies with GDPR but still provides useful data. Try it here: https://ipinfodb.com/
This method requires registering with the IP-Info-DB service, Google Maps, or OpenStreetMaps to get an API key.
This data could also be drawn from the user's "Country" value:
To prepopulate "Canada" from the user's profile:
&282444*X*2*X*42=Canada
[confirmed correct]
http://gaeacoop.org/limesurvey/index.php/282444?newtest=Y&lang=en&282444X2X42=Canada
Analysis:
While LimeSurvey presents useful statistics per individual question, we need a deeper analysis of the relationships between questions and of the contents of free text responses. Data can be exported from LimeSurvey into a number of formats. From that data, I describe below how an analysis could be conducted in R. Obviously, there are many statistical software packages that could be used for this process. R is open source and has a huge support base, including many specialty packages for specific analyses. In particular, there are some highly useful text analysis tools that will be critical to extracting data from very large volumes of free text responses.
- Calculate mean and median raw NPS scores and standard deviation
- Calculate NPS using standard formula: on a 0-10 question, 0-6 are considered Detractors [-1], 7-8 are considered Passive [0], 9-10 are considered Promoter [+1]. Save this categorization per entry. Subtract the percentage of Detractors from the percentage of Promoters to determine NPS.
- Chi-Square analysis:
- determine if there are any significant roles / institution types/languages etc. that are especially happy/unhappy. This is done by using the "promoter" positive value as a binary, and choosing
- Coarse region analysis based on IP address of respondents (primarily used for estimating survey coverage in this project)
There are other lexical analyses that could be performed, e.g. using Sentiment Analysis. See https://docs.google.com/document/d/1vt8dAf9S0jaHGQdEuL-crFSDfMmTeFHXQVgeXC8D5zE for more information.
- has a non-specific relationship to
-
MDL-69004 Make feedback feature opt-in and provide a notification to the admin
- Closed
- Testing discovered
-
MDL-68931 "Give feedback" is displayed always in the footer regardless of $CFG->userfeedback
- Closed
-
MDL-68932 "Show reminder after" is displayed when "Enable feedback about Moodle" is disabled
- Closed
-
MDL-68933 Feedback link in the footer should be cached
- Closed
- links to