Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Using the EthosCE Web Services feature, users have the ability to update enrollment group

...

course lists via a PUT update call.

Info
titleNOTE: When creating or updating an entity
The update to the field

Warning!

The list sent in field_enrollment_group_courses, is a complete overwrite of the values.

Creating a course

...

update of values, it is not additive. For instance, given an enrollment group with 6 courses associated, node ids 101 - 106, if an update is made containing only 3 values, node ids 201 - 203, only the 3 newly sent courses will appear under Activities. The original 6 courses will no longer be associated with the Enrollment group, however, they will remain in the system, with all associated learner data.

The payload below will update the the enrollment  group course list for adding courses nids 4, 5, and 6.

Updating courses in an enrollment group

<?php $domain = '76.localhost'; $userpass = 'restws_webservice:restws_webservice'; // Login to the site and request the access token $curl = curl_init('http://' . $domain . '/restws/session/token'); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, $userpass); // Your web service user credentials goes here. curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); $token = curl_exec($curl); // The token looks like "q71OBx05wtECfjA0KmXf6wiktewrywNhkMZv-OcfyOA%" print_r($token); // Build a course to send, in JSON. The fields and allowed values are available on the full documentation site. $course_list = array( "field_enrollment_group_courses" => array( array('id' => 15), array('id' => 16), array('id' => 17), ), ); $enrollment_group_nid = 3112; $json = json_encode($course_list); $curl = curl_init('http://' . $domain . '/node/' . $enrollment_group_nid); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_USERPWD, $userpass); //Your credentials go here curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($curl, CURLOPT_POSTFIELDS, $json); curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-CSRF-Token: $token", "Content-Type: application/json")); $http_return = curl_exec($curl); $response = json_decode($http_return); print_r($response);
Code Block
languagephp
titleUpdating a course's title
json
{
    "field_enrollment_group_courses": [
        {
            "id": 4
        },
        {
            "id": 5
        },
        {
            "id": 6
        }
    ]
}