Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-68076

Create "Feedback" link in Moodle to permanent survey site

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      Setup:

      1. Add the following line to your config.php file
        • $CFG->userfeedback_url = 'https://feedback.moodle.org/index.php?r=survey/index&sid=985541';

      1. Log in as an admin
      2. Go to "Site administration > Feedback settings" and select "Enable user feedback" if it is not
      3. Set "Next feedback reminder" to "Periodically", and "show reminder after" to 90
      4. Save changes

      Test 1:

      1. Log in as a user (user1)
      2. Go to different pages and verify that there is always a "Give feedback" link at the page footer
      3. Click on the "Give feedback" link at the footer
      4. Verify that a popup is opened
      5. On the popup page, click on the "next" button to see the questions of the survey
      6. Verify that all the fields in the survey (except the role field) are pre-filled and the values are making sense
      7. Back in Moodle go to the user's dashboard
      8. Verify that there is a block at the top of the dashboard that asks the user to give feedback
      9. Log out of Moodle and close the browser
      10. Open the browser again and log in as the same user to Moodle
      11. Go to the user's dashboard
      12. Verify that there is a block at the top of the dashboard that asks the user to give feedback
      13. Click on the "Give feedback" link in the block
      14. Verify that a popup is opened
      15. On the popup page, click on the "next" button to see the questions of the survey
      16. Verify that all the fields in the survey (except the role field) are pre-filled and the values are making sense
      17. Back in Moodle go to the user's dashboard
      18. Verify that the feedback block is removed from the dashboard
      19. refresh the page
      20. Verify that the feedback block is no longer displayed
      21. Verify that the feedback link on the footer is still there
      22. Log out and lock back in as admin
      23. Check Moodle logs
      24. Verify that the action of the user when they clicked on the feedback link on their dashboard is logged

      Test 2:

      1. Log in as another user (user2)
      2. Go to the user's dashboard
      3. Click on the "Remind me later" link
      4. Verify that the feedback block is removed from the dashboard
      5. refresh the page
      6. Verify that the feedback block is no longer displayed
      7. Verify that the feedback link on the footer is still there
      8. Log out
      9. Verify that there is no feedback link on the footer
      10. Log in as admin
      11. Check Moodle logs
      12. Verify that the action of the user when they clicked on the "remind me later" link on their dashboard is logged

      Test 3:

      1. Log in as admin and go to "Site administration > Feedback settings"
      2. Set "Next feedback reminder" to "Never" and save changes
      3. Log out
      4. Log in as another user (user3)
      5. Verify that you see the feedback link on the footer
      6. Go to the user's dashboard
      7. Verify that you do not see the feedback block on the dashboard

      Test 4:

      1. Log in as admin and go to "Site administration > Feedback settings"
      2. Set "Next feedback reminder" to "After every major upgrade"
      3. Set "Show reminder after" to 0
      4. Save changes
      5. Log out and log back in as user1 (the same user as in Test 1)
      6. Go to the dashboard
      7. Verify that you do not see the feedback block
      8. Edit the file version.php and change the following value:
        • $version = 2020110100.00
      9. Log in as admin and upgrade the site
      10. Log out and log back in as user1
      11. Go to dashboard
      12. Verify that you see the feedback block
      Show
      Setup: Add the following line to your config.php file $CFG->userfeedback_url = 'https://feedback.moodle.org/index.php?r=survey/index&sid=985541'; Log in as an admin Go to "Site administration > Feedback settings" and select "Enable user feedback" if it is not Set "Next feedback reminder" to "Periodically", and "show reminder after" to 90 Save changes Test 1: Log in as a user (user1) Go to different pages and verify that there is always a "Give feedback" link at the page footer Click on the "Give feedback" link at the footer Verify that a popup is opened On the popup page, click on the "next" button to see the questions of the survey Verify that all the fields in the survey (except the role field) are pre-filled and the values are making sense Back in Moodle go to the user's dashboard Verify that there is a block at the top of the dashboard that asks the user to give feedback Log out of Moodle and close the browser Open the browser again and log in as the same user to Moodle Go to the user's dashboard Verify that there is a block at the top of the dashboard that asks the user to give feedback Click on the "Give feedback" link in the block Verify that a popup is opened On the popup page, click on the "next" button to see the questions of the survey Verify that all the fields in the survey (except the role field) are pre-filled and the values are making sense Back in Moodle go to the user's dashboard Verify that the feedback block is removed from the dashboard refresh the page Verify that the feedback block is no longer displayed Verify that the feedback link on the footer is still there Log out and lock back in as admin Check Moodle logs Verify that the action of the user when they clicked on the feedback link on their dashboard is logged Test 2: Log in as another user (user2) Go to the user's dashboard Click on the "Remind me later" link Verify that the feedback block is removed from the dashboard refresh the page Verify that the feedback block is no longer displayed Verify that the feedback link on the footer is still there Log out Verify that there is no feedback link on the footer Log in as admin Check Moodle logs Verify that the action of the user when they clicked on the "remind me later" link on their dashboard is logged Test 3: Log in as admin and go to "Site administration > Feedback settings" Set "Next feedback reminder" to "Never" and save changes Log out Log in as another user (user3) Verify that you see the feedback link on the footer Go to the user's dashboard Verify that you do not see the feedback block on the dashboard Test 4: Log in as admin and go to "Site administration > Feedback settings" Set "Next feedback reminder" to "After every major upgrade" Set "Show reminder after" to 0 Save changes Log out and log back in as user1 (the same user as in Test 1) Go to the dashboard Verify that you do not see the feedback block Edit the file version.php and change the following value: $version = 2020110100.00 Log in as admin and upgrade the site Log out and log back in as user1 Go to dashboard Verify that you see the feedback block
    • Affected Branches:
      MOODLE_38_STABLE, MOODLE_39_STABLE
    • Fixed Branches:
      MOODLE_39_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-68076-master-4
    • Story Points:
      5
    • Sprint:
      International 3.9 - Sprint 10

      Description

      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]

      http://gaeacoop.org/limesurvey/index.php/282444?newtest=Y&lang=en&G02Q08_SQ01=Y&G02Q08_SQ02=Y&G02Q08_other=Pilot%20tester

       

      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]

      http://gaeacoop.org/limesurvey/index.php/282444?newtest=Y&lang=en&282444X2X41=https%3A%2F%2Flearn.moodle.net

       


      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.

       

      1. Calculate mean and median raw NPS scores and standard deviation
      2. 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. 
      3. Chi-Square analysis:
      4. 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 
      1. 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.

        Attachments

        1. bullhorn.svg
          0.5 kB
        2. feedback block above.png
          feedback block above.png
          64 kB
        3. feedback block now.png
          feedback block now.png
          130 kB
        4. icon-size-5.png
          icon-size-5.png
          1.21 MB
        5. image-2020-06-01-12-07-59-569.png
          image-2020-06-01-12-07-59-569.png
          1.15 MB
        6. image-2020-06-01-12-10-09-576.png
          image-2020-06-01-12-10-09-576.png
          1.15 MB
        7. limesurvey_survey_282444.lss
          111 kB
        8. MDL-68076.jpg
          MDL-68076.jpg
          53 kB
        9. MDL-68076 (2).jpg
          MDL-68076 (2).jpg
          48 kB
        10. MDL-68076 (3).jpg
          MDL-68076 (3).jpg
          49 kB
        11. MDL-68076 (4).jpg
          MDL-68076 (4).jpg
          26 kB
        12. Screenshot 2020-06-01 at 11.35.45.png
          Screenshot 2020-06-01 at 11.35.45.png
          1.21 MB
        13. screenshot-test.png
          screenshot-test.png
          52 kB
        14. stacked.png
          stacked.png
          1.15 MB

          Issue Links

            Activity

              People

              Assignee:
              rezaie9 Shamim Rezaie
              Reporter:
              emdalton1 Elizabeth Dalton
              Peer reviewer:
              Simey Lameze
              Integrator:
              Andrew Nicols
              Tester:
              Anna Carissa Sadia
              Participants:
              Component watchers:
              Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias
              Votes:
              0 Vote for this issue
              Watchers:
              20 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                15/Jun/20

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 4 weeks, 4 hours, 26 minutes
                  4w 4h 26m