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

New Web Service mod_lesson_process_page

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide
      1. In a course create a lesson with at least three content pages.
      2. The first content page should have a button to jump to next page.
      3. The second content page should have a button to jump to previous page and to jump to the end of lesson.
      4. Enrol one user as student in the course where the lesson is.
      5. As admin, enable "Mobile services": Plugins ► Web Services ► Mobile
      6. Create a Token for the student user
        • Click on Site administration ► Plugins ► Web services ► Manage tokens
      7. Next, you can do a CURL REST call simulating a WS client with the student user .
        • You need to replace the wstoken, lessonid (the lesson instance value), pageid with the lesson first page id and cmid with the lesson course module id and the URL of your moodle instance

          curl 'http://localhost/m/stable_master/webservice/rest/server.php?moodlewsrestformat=json' --data 'lessonid=4&wsfunction=mod_lesson_process_page&wstoken=12a2a65aeea2a177055e233f9e303218&moodlewssettingfilter=true&pageid=49&data[0][name]=jumpto&data[0][value]=-1&data[1][name]=id&data[1][value]=cmid' | python -m "json.tool"

      8. The last call forced a jump to the next page. So you have to confirm that after executing the WS, the newpageid field received as response is the page id of the next page in the lesson.
      9. Now, replace pageid with the newpageid and replace the -1 with -40 (we are forcing a jump to the previous page)
      10. Execute the WS request and check that the newpageid is the lesson first page id (the one we used in the first curl request)
      11. Now, in the WS request, replace the -40 with -9 (forcing a jump to last page)
      12. Execute the WS request and check that the newpageid is -9 (the code for a lesson last page)
      Show
      In a course create a lesson with at least three content pages. The first content page should have a button to jump to next page. The second content page should have a button to jump to previous page and to jump to the end of lesson. Enrol one user as student in the course where the lesson is. As admin, enable "Mobile services": Plugins ► Web Services ► Mobile Create a Token for the student user Click on Site administration ► Plugins ► Web services ► Manage tokens Next, you can do a CURL REST call simulating a WS client with the student user . You need to replace the wstoken, lessonid (the lesson instance value), pageid with the lesson first page id and cmid with the lesson course module id and the URL of your moodle instance curl 'http://localhost/m/stable_master/webservice/rest/server.php?moodlewsrestformat=json' --data 'lessonid=4&wsfunction=mod_lesson_process_page&wstoken=12a2a65aeea2a177055e233f9e303218&moodlewssettingfilter=true&pageid=49&data [0] [name] =jumpto&data [0] [value] =-1&data [1] [name] =id&data [1] [value] =cmid' | python -m "json.tool" The last call forced a jump to the next page. So you have to confirm that after executing the WS, the newpageid field received as response is the page id of the next page in the lesson. Now, replace pageid with the newpageid and replace the -1 with -40 (we are forcing a jump to the previous page) Execute the WS request and check that the newpageid is the lesson first page id (the one we used in the first curl request) Now, in the WS request, replace the -40 with -9 (forcing a jump to last page) Execute the WS request and check that the newpageid is -9 (the code for a lesson last page)
    • Affected Branches:
      MOODLE_32_STABLE
    • Fixed Branches:
      MOODLE_33_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-57696-master

      Description

      Processes page responses (when a user answer a question or choose where to go)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jleyva Juan Leyva
              Reporter:
              jleyva Juan Leyva
              Peer reviewer:
              Dani Palou
              Integrator:
              David Monllaó
              Tester:
              David Monllaó
              Participants:
              Component watchers:
              Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, Juan Leyva, Amaia Anabitarte, Carlos Escobedo, Ferran Recio, Sara Arjona (@sarjona)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                15/May/17