Feature Wiki
Tabs
Reset Tracking Data of Course Objects via SOAP
Page Overview
[Hide]- 1 Description
- 1.1 Objectives
- 1.2 Solution
- 1.3 Technical Implementation
- 1.4 Risks
- 2 Status
- 3 Additional Information
- 4 Discussion
- 5 Implementation
- 5.1 Call description
- 5.2 Returning values
- 5.3 Access check
1 Description
1.1 Objectives
At Fraunhofer are two "types" set of courses:
- Courses consist of a SCORM 1.2 learning module.
- Courses consist of two learning objects, a SCORM 1.2 learning module and an ILIAS test. The test is only available after processing the SCORM module.
1.2 Solution
- Enclosure of existing ILIAS deletion routines as WebService (SOAP)
- Only data from SCORM 1.2 and tests are deleted.
1.3 Technical Implementation
This description and example of a request is a draft. Please refer to the chapter "Implementation" for a final version of description and request example.
- Delivery from a course with one user
- Delivery from a course with multiple users
- Delivery from multiple courses with one user
- Delivery from multiple courses with multiple users
The request might be:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ilUserAdministration">
<soapenv:Header/>
<soapenv:Body>
<urn:deletelearningprogress soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<sid xsi:type="xsd:string">0gfco4n0m911vjvtt34qsnoc31::default</sid>
<courses xsi:type="xsd:string">{"174":[1,2,3],"175":[4,5,6]}</courses>
</urn:deletelearningprogress>
</soapenv:Body>
</soapenv:Envelope>
Parameters:
ILIAS SID
Ccourse / user information
If error cases an exception or a SoapFault is thrown. If successful, a boolean TRUE will return. More detailed output might occur as a JSCON-encoded string or XML.
1.4 Risks
Integration into the ILIAS trunk requires the consent of the community and is likely to consider other deletion processes. In addition to SCORM 1.2 and ILIAS tests, any items with user data should be considered. This generic solution requires greater conceptual considerations and is not included in the contract.
2 Status
- Scheduled for: ILIAS 4.3
- Funding: Funded by Fraunhofer-Gesellschaft
- Development: Feature is to be developed by Qualitus/leifos
3 Additional Information
- If you want to know more about this feature, its implementation or funding, please contact: Wischniak, Stanislav [wischniak]
4 Discussion
JF 22 Feb 2012: The concept is not generic. Adressing courses and selecting scorm/tests within the courses would e.g. not allow to adress single tests. Please contact the maintainer of the SOAP interface (Stefan), if you would like to work out a generic solution that could be included in the trunk.
SM 31. Mar 2012: we discussed a new webservice method which offers the possiblity to delete the progress for selected objects and users. In the first implementation only the personal data in scorm and test objects is deletable.
JF 2 Apr 2012: To make the feature and its tackled object types clearer, the SOAP call should make a positive object type list mandatory. If the client selects object types which are not supported yet (e.g. exercises), an error should be returned. SCORM related deletions should both affect 1.2 and 2004 data.
We schedule the feature for 4.3.
5 Implementation
5.1 Call description
The SOAP method deleteProgress($sid, $ref_ids, $usr_ids, $type_filter, $progress_filter) requires the following parameters:
Session-ID (sid)
An ILIAS Session Id, that you get when logging in using SOAP method login(client,username, password))
ILIAS Object Reference (ref_id)
The ILIAS reference ID of the object with the desired LP data (SCORM 1.2, SCORM 2004 and Test are being supported)
At least one ref_id is required, several ref_id's are possible (see example below).
A ref_id of a parent object (e.g. course or category) is also possible.
User ID's (usr_id)
The ILIAS interal ID of a user (visible in user management or user excel export in ILIAS 5.0 and later).
At least one usr_id is required, several usr_id's are possible (see example below).
Type filter (type_filter)
To indicate type of ILIAS object where you want the data to be delete. "sahs" for SCORM 1.2 or SCORM 2004 or "tst" for Test.
Usefull when using a ref_id of parent object.
At least one type_filter is required, two filters are possible, if required (see example below).
Progress filter (progress_filter)
One or more filter can be used to distinguish the data by learning status (as specified below in table 1).
ILIAS-Name | Value | Description |
---|---|---|
PROGRESS_FILTER_ALL | 0 | Deletes the data on ALL users for the given object. |
PROGRESS_FILTER_IN_PROGRESS | 1 | Deletes the data on users with the status “In Progress” for the given object. |
PROGRESS_FILTER_COMPLETED | 2 | Deletes the data on users with the status “Completed” for the given object. |
PROGRESS_FILTER_FAILED | 3 | Deletes the data on users with the status “Failed” for the given object. |
PROGRESS_FILTER_NOT_ATTEMPTED | 4 | Deletes the data on users with the status “Not Attempted” for the given object. |
Example request:
1 | <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ilUserAdministration" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> |
The given request would delete progress data in objects with ref_id 53 (SCORM 1.2), 55 (SCORM 2004) and 58 (Test) for the user with user id 205 and progress "failed".
5.2 Returning values
The response is "true" (s. example below) if the request was successful or an error otherwise.
1 | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> |
5.3 Access check
The method respects RBAC due to data security. The account used for determination of Session ID needs to have permission "Edit Settings" for the respective object to be able to delete the data.
Last edited: 17. Apr 2025, 15:06, Kunkel, Matthias [mkunkel]