Call permissions-info, filtering for a permission-id of view:
As training managers create curriculums and users take courses, you need to retrieve information about them to display in your application. Often you can make just a single call to get the information you need, once you have the sco-id of the curriculum or course and the user’s principal-id.
You may, for example, want to display all users enrolled in a curriculum or all courses a curriculum has. Another common task is to display the courses in a curriculum the user has completed so far, and then display the remaining courses.
Display all users enrolled in a course or curriculum
-
https://example.com/api/xml?action=permissions-info &acl-id=2006298444&filter-permission-id=view
The acl-id is the sco-id of the course or curriculum.
The permission-id of view means the user is enrolled.
-
Parse the response for principal-id, name, and any other values you need:
<principal principal-id="2006258745" is-primary="false" type="user" has-children="false" permission-id="view"> <name>Joy Smith</name> <login>joy@acme.com</login> </principal>
Display a list of all training modules in a curriculum
A curriculum is a type of folder, and you can list its contents with sco-contents or sco-expanded-contents.
-
Get the sco-id of the curriculum (see Find courses and curriculums).
-
Call sco-expanded-contents, passing it the sco-id:
https://example.com/api/xml?action=sco-expanded-contents &sco-id=2006745669
-
Parse the response for the sco-id, folder-id, and depth:
<sco depth="1" sco-id="2006745674" folder-id="2006745669" type="link" icon="course" lang="en" source-sco-id="2006745673" display-seq="0" source-sco-type="0"> <name>All About Web Communities</name> <url-path>/l80422078/</url-path> <description>test</description> <date-created>2006-06-12T14:48:25.980-07:00</date-created> <date-modified>2006-06-12T14:48:25.980-07:00</date-modified> </sco>
The response returns a flat list of sco elements, including the curriculum and each SCO it contains. You can build a hierarchy using the sco-id, folder-id, and depth values. The SCO with type=curriculum is the curriculum that contains the courses.
View a user’s completed and remaining work in a curriculum
-
Get the sco-id of the curriculum (see Find courses and curriculums).
-
Get the principal-id of the user (Find a principal-id).
-
Call report-curriculum-taker, passing the principal-id as a user-id:
https://example.com/api/xml?action=report-curriculum-taker &user-id=2006258745&sco-id=2006745669
-
Parse the response for the status attribute of each sco element and any other values you want to display in your application:
<sco transcript-id="2006745722" path-type="prereq-none" asset-id="" sco-id="2006745674" depth="1" folder-id="2006745669" type="15" icon="course" lang="en" max-retries="" source-sco-id="2006745673" source-sco-type="0" status="user-passed" score="0" certificate="" max-score="0" attempts="0"> <access>access-open</access> <credit-granted>true</credit-granted> <name>All About Web Communities</name> <url-path>/l80422078/</url-path> <description>test</description> <date-created>2006-06-12T15:06:02.947-07:00</date-created> <date-modified>2006-06-12T14:48:25.980-07:00</date-modified> <date-taken>2006-06-12T15:06:02.947-07:00</date-taken> <override>false</override> </sco>
A status of user-passed or completed indicates a module the user has completed.
A status of not-attempted or incomplete shows the user has not completed the module.
The curriculum itself can only have a status of completed or incomplete.