Feature Wiki

Information about planned and released features

Tabs

xAPI Activity Repository Object

1 Initial Problem

An « xAPI Activity » is just one of the numerous potential scenarios to implement the new xAPI standard [1]. It addresses the need for activity providers (learning content providers) to develop xAPI Web activities outside of the LMS (potentially on their own server) and to integrate these activities into ILIAS courses.

A use case for an external activity would be a web based activity, which is not integrated or imported to ILIAS. This could be a video from Youtube or any other (learning) content, that is provided by a third party and is compliant to xAPI (and cmi5, further infos below) spec. An ILIAS object inside a course would be a starting point for such an activity. When using the reference (click on object in ILIAS) the necessary data (LRS endpoint, user access credentials) would be provided to the web activity inside the URL. The activity then reports the Learning Progress (or any other relevant data) achieved by that particular lerner back to the ILIAS LRS.
One of the big advantages of this approach is that the online content could be updated on the fly (since it is online), without any release and import procedures and any issues regarding loosing or dividing learning progress (no need to create new object in ILIAS).

There is also a use case for an activity provider in a package, just like SCORM, that is to be imported to the LMS, which is using the extended possibilities of tracking via xAPI Spec. This would be considered an "Internal Activity" and to be considered in future enhancements.

Yet another use case, supported by xAPI, would be an Activity, that is NOT launched from ILIAS. Typical use case is a gaming or a learning app delivered on a smart phone or a flight simulator. The data on learning experience is still to be provided to the ILIAS LRS. (The necessary data for this connection, such as user credentials and endpoint of the ILIAS LRS, needs to be provided to this activity by some other means.)
In ILIAS, this app would appear as an « External Mobile Activity » object in the course. When the learner is using the app on a smart phone, the results (e.g. completion, success) are automatically sent to ILIAS and appear in the Learning Progress of this particular object.

Meanwhile in addition to xAPI there is an official specification regarding packaging, launching and communication with xAPI-based content launched from LMS. The new spec is called cmi5 Specification Profile for xAPI (short: cmi5). Basic information is on the main page of the project while the detailed spec is in the github repository.

The goal of the current implementation is to support this fundamental profile.

Further profiles e.g. xAPI SCORM Profile are to be added in future implementations.

2 Conceptual Summary

In this scenario, ILIAS provides a new type of repository object called « External Web Activity (xAPI) ». This object is responsible for:

  • Providing learners with a link to launch the external activity and open it in a new browser window or tab
  • Providing learners with a button called « Get the Activity Results » which will update the Learning Progress into ILIAS
  • Optionaly, providing learners with a link to specific external reports
  • Optionaly, providing tutors with a link to specific external reports
  • Providing all the necessary settings to implement such an object
 
The activity provider is responsible for:
  • Providing an LRS [2] and indicating to ILIAS the LRS endpoint (in the future, the ILIAS LRS could be used)
  • Developing an xAPI activity hosted on the activity provider server, and indicating to ILIAS the activity URL (also used as the activity ID)
  • Managing user authentication if necessary, in relation with ILIAS (e.g. using OAuth)
  • Optionaly, providing a specific report for learners
  • Optionaly, providing a specific report for tutors

3 User Interface Modifications

3.1 List of Affected Views

From a learner perspective, this object shows:

  • The activity description
  • A button or link to launch the external activity
  • A button called « Get the Activity Results »
  • The Learning Progress information collected by ILIAS
  • Optionaly, a button or link to open a detailed report
 

From a tutor perspective, this object shows the learner view (because a tutor is also potentially a user of the external activity), in addition to a button or link to open a detailed report for tutors.

The object author will be able to indicate:

  • The activity title and description
  • The LRS endpoint (could also be set at a global level for all the « External Web Activities »)
  • The activity URL
  • The learner report URL (optional)
  • The tutor report URL (optional)
  • The tutors of the activity (tutors tab or specific permission)
 

3.2 User Interface Details

Some Mockups for the xAPI Object in ILIAS from an early conceptual state.

Further infos on the actual state coming soon..

3.3 New User Interface Concepts

4 Technical Information

  • Activity launching and external reports access: ILIAS must dynamically add parameters to URL, including the LRS endpoint and user related information (at the minimum its email address, plus other authentication data ?). See AICC CMI-5 specification.
  • « Get the Activity Results »: as ILIAS knows the activity ID, the user ID and the LRS endpoint, ILIAS is able to get the activity results (Statement API > Result part of the statement) and to update the Learning Progress of ILIAS.

May be useful: TinCanPHP lib

5 Contact

6 Funding

If you are interested in funding this feature, please add your name and institution to this list.

7 Discussion

JF 28 Apr 2014: We support the request and schedule it for 4.5. We think the whole scenario would work even better, if ILIAS provides LRS functionality (the activity could listen to the LRS stream and set the learning progress itself).
 
We think the "Get Activity Results" process needs more settings that define the determination of the learning progress states based on the records/values delivered by the activity.

JF 18 Aug 2014: We appreciate the current state of the concepts and mockups. We all need to get more experience with the topic to be able to give more constructive feedback. We ask the implementers to get in contact with Jörg Lützenkirchen when the implementation of the learning progress mode will be done to discuss the details.
 
We have renamed the feature to "xAPI Activity Repository Object" because the concepts allows it to import a learning module that uses xAPI and to run it within ILIAS.

JF 15 Sep 2014: Concerning the REST service of the xAPI there are two general options

  • a "local" REST service of the xAPI component
  • using a general REST service implementation. (Prefered)
The xAPI must not depend on any REST plugin.

Matthias Kunkel, March 18, 2015: This feature was already scheduled for 5.0 but not implemented due to missing funding / time. There is still a need for this feature. Therefore I have re-scheduled it for 5.1 to save time for discussing new feature requests. Nevertheless, funding is still needed to make this feature go into the 5.1 version.

Joel Hesse, 27.7.15: How much will is this expected to cost? (roughly calcuclated)

8 Implementation

{The maintainer has to give a description of the final implementation and add screenshots if possible.}

Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

Approval

Approved at {date} by {user}.


[1] xAPI - short for Experience API - is also known as « Tin Can API » or « Next generation SCORM »
[2] LRS = Learning Record Store

Last edited: 29. Mar 2018, 15:02, Wischniak, Stanislav [wischniak]