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

Create core_course_get_state webservice

XMLWordPrintable

    • MOODLE_400_STABLE
    • MOODLE_400_STABLE
    • MDL-71135-master
    • Hide

      Covered by unit tests.

       

      If required, it can also be tested manually. You'll need to:

      1. Create a course. You can add some activities with different visibility/restrictions.
      2. Create user tokens from "Site administration > Server > Web services > Manage tokens".
      3. Execute the following, replacing your Moodle URL, USERTOKEN and COURSEID:

      curl 'http://localhost/m/stable_master/webservice/rest/server.php?moodlewsrestformat=json' --data 'wsfunction=core_course_get_state&wstoken=[USERTOKEN]&courseid=[COURSEID]' | python -m json.tool

       

      Show
      Covered by unit tests.   If required, it can also be tested manually. You'll need to: Create a course. You can add some activities with different visibility/restrictions. Create user tokens from "Site administration > Server > Web services > Manage tokens". Execute the following, replacing your Moodle URL, USERTOKEN and COURSEID: curl 'http://localhost/m/stable_master/webservice/rest/server.php?moodlewsrestformat=json' --data 'wsfunction=core_course_get_state&wstoken=[USERTOKEN]&courseid=[COURSEID]' | python -m json.tool  
    • Moppies Kanban, Moppies Kanban, Moppies Kanban

      Create an ajax webservice to load the initial state of the current course. This is a web service needed for the new course editor of Moodle 4.0.

      The web service will get the course id as param and will return a structure containing all the needed information the UI components needs to operate. This will include:

      • course: edition mode (bool) and section order (array of ids) (sample code)
      • section: an array with all the sections data (sample code)
      • cm: an array of the course-modules data (sample code)

      This information will conform the initial course state each component will receive and interact with. The state will only contain information that the user can see in the course (regardless its visibility). So, for instance, hidden sections won't be returned for students.

      A sample code of that web service can be checked at this proof of concept : https://github.com/ferranrecio/moodle/blob/coursecreatetest02/course/classes/external/course_get_state.php

       

      More information about this approach with the general architecture and how this external method will be used can be found in the section "External Interface Requirements" of the course creation document

            sarjona Sara Arjona (@sarjona)
            tusefomal Ferran Recio
            Ilya Tregubov Ilya Tregubov
            Eloy Lafuente (stronk7) Eloy Lafuente (stronk7)
            CiBoT CiBoT
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 days, 2 hours, 20 minutes
                2d 2h 20m

                  Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.