Interskill Learning IBM Power Systems Training

770-872-4278

The Online IBM Power Systems Training Specialists
Search   Course Catalog    

Knowledge Base - Technical Specification of Interskill's Hosted AICC Content Server for 3rd Party LMS Sites

Introduction

Interskill Learning offers two options for third party Learning Management Systems (LMS). Our courses can be delivered via AICC, SCORM 1.1 or SCORM 1.2 formats. A client using SCORM would receive our courses via FTP or HTTP download in PIF compressed packages for the client to upload into their own LMS. A client using the AICC method would receive the appropriate AICC files to import into their own LMS and the course files would reside on the Interskill Learning content server. Each option has to meet different requirements mentioned in this document. The information in this technical note is intended for Learning Management System vendors, and outlines the security and communication parameters of Interskill Learning’s AICC hosted content server.

AICC Option:

In using the AICC option, Interskill Learning would host the course files on the Interskill Content Server. Interskill would provide the client with the standard AICC files to the client. The client would be required to import the AICC files into their LMS.  

Security

Servers are accessible by Interskill Administrators only. No user data is recorded or stored on the content server. Content is uniquely licensed and deployed per customer.

Communication

Content is accessed via http: or https: depending on the LMS’s security requirements.
If the aicc_url specifies SSL during the initial request, the Java Applet uses an “Authentication Certificate” to allow communication.  The only location the Applet will communicate with is the one specified by the LMS in the aicc_url parameter.

Courseware is designed to run within a web browser and as such uses the HTTP based CMI protocol (HACP) as defined in the AICC specification. The other AICC web interface, API-Based CMI communication is currently not supported.

The courseware expects the aicc_sid and aicc_url parameters to be provided to the start page (via HTTP get). The courseware then communicates with the given aicc_url, sending the GetParam command when it starts, and PutParam followed by ExitAU when it completes.

Client Requirements

  • Courseware uses Adobe Flash version 6.0 or higher for the multimedia presentation of the learning content.
  • Supported browsers: Chrome 29 and above. Firefox 25 and above. Internet Explorer 10 & 11.
  • Clients need to support Java Applets in their browsers as the courseware uses a Java Applet for the storage of information and communication with the aicc_url.
  • JavaScript must be enabled.
  • Crossdomain.xml file must be located on customer’s LMS web server for secure communications to Interskill’s content server. (See technical notes on next page for detailed information)

Graphical Overview

AICC Diagram

CMI Data Model Variables

The following AICC data model variables are used by the Datatrain courseware. Those that are noted as “non-essential” have no impact on the Datatrain courseware if they are not implemented by the LMS.

[Core]
  • Lesson_Location (read/write): Bookmarks the exit point of the courseware the last time it was run. Credit (read only) Indicates whether the student is being credited by the LMS system for this lesson. Only the first letter is valid, ‘N’ indicates no credit, while ‘C’ or an unknown value indicates credit mode.
  • Lesson_Status (read/write) The current student status, which is one of Passed, Completed, Failed, Incomplete, Browsed or Not-attempted. Only the first letter is significant.
  • Score (written only) The score the student achieved while running the lesson in “credit” mode. Datatrain returns a percentage result for the score. This is calculated by rounding up the result of the number of correct questions times 100 divided by the number of questions asked. The highest possible score is therefore “100”. If there were no questions asked then the score is a blank string (as opposed to being “0”). If the student got 15 out of 20 questions correct for example, their score would be “75”.
  • Time (written only, non-essential) The amount of time in the student spent in the lesson. The format as dictated by the AICC specification is “HHHH:MM:SS.S”. Note that our courseware does use the optional decimal point digits.
[Core_Lesson]
  • (read/write) Important information about the lesson for the student is stored here. Correct management of the student’s score calculations will fail if this variable is not implemented by the LMS.
[Comments]
  • (read only, non-essential) If implemented, and not an empty string, the contents of this variable is displayed to the student when the courseware starts.
[Student_Data]
  • Mastery_Score (read only, non-essential) The score as a percentage required for the student to pass the lesson. If blank or not implemented, the default mastery score of 66% is used.

Technical Note - AICC in a Cross-Domain Environment

The current ProForm based courseware relies on the cross-domain communication facilities provided by Adobe Flash.

When running the courseware in a cross-domain environment, where the courseware resides on a content server that is on a different domain to the LMS, it is necessary to use a crossdomain.xml file to enable communication across the two servers.

The crossdomain.xml file must be installed in the document root of the web-server running the LMS. (Installing it on the content server will have no effect.)

For example, if the LMS is accessed via the URL http://mylms.example.com/ and the content server is accessed via http://content.interskill.com/, then the crossdomain.xml file must be accessible at the URL http://mylms.example.com/crossdomain.xml. It must be able to access this even when the student is not logged into the LMS.

The crossdomain.xml File
Although it has an “XML” extension, it is actually a simple text file with the following contents:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="content.interskill.com" />
</cross-domain-policy>
Following the example above, the domain of the content server is put in the access-from-domain attribute.
Alternatively, you could put an asterisk in place of the domain name, but this is less secure.

A Note On secured HTTPS Communications
If the LMS is accessed via an HTTPS protocol URL, then it is preferred that the courseware is also accessed via HTTPS. If this is not possible, then you must add a secure="false" attribute to the <allow-access-from> element.
e.g.
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="content.interskill.com" secure=”false”/>
</cross-domain-policy>
If the courseware is trying to communicate across a HTTP/HTTPS boundary, and the secure="false" flag is not in place, then it will fail. Overall, the preferred option is for both the LMS and the courseware to be accessed by either HTTP or HTTPS, but not mixed.

References