Showing posts with label AICC. Show all posts
Showing posts with label AICC. Show all posts

Thursday, March 6, 2008

SCORM and AICC compared

GerryWaz: Anyone know of a good, dispassionate comparison of the two standards? Strengths and weaknesses of each?

In matters of technology, newer is frequently equated with better. However, while SCORM is the newer specification and is more widely supported, there are valid reasons for using courses and management systems based on the AICC specifications.

Below are some points to consider when deciding between AICC and SCORM. (We consider only SCORM 1.2 and SCORM 2004, since earlier versions of SCORM are effectively obsolete.)

Packaging and deployment
Thanks to SCORM's well-defined packaging model, deploying SCORM courses is often as simple as uploading a zip file. Historically, deploying AICC courses involved more steps due to the lack of a similar packaging model for these courses. In late 2006, AICC published a packaging specification for AICC courses. However, this is still not part of the core AICC specification, so neither AICC-conformant courses nor AICC-conformant LMSs are required to support it. (EKP supports AICC course packages.)
Ease of development
SCORM-conformant courses communicate with an LMS by calling methods of a JavaScript object called the API adapter. AICC-conformant courses communicate with an LMS by sending HTTP messages to the LMS, and interpretting the LMS's responses. (This communication method is known as the HTTP AICC CMI Protocol, or HACP.) Where courses are developed without the aid of specialized course authoring tools, it's usually considerably easier to implement SCORM communication than AICC communication. (However, most specialized course authoring tools shield the developer from these differences.)
Technical requirements
A conformant SCORM API adapter must implement complex rules for validating tracking data and reporting errors and, in the case of SCORM 2004, for evaluating and enforcing sequencing rules and processing navigation requests. Because of this complexity, many robust implementations use Java technology to implement the API adapter, meaning that Java must be available on the user's machine. (Both EKP and ADL's reference implementations use Java to implement the API adapter.) On the other hand, since AICC courses use direct HTTP-based communication, LMSs typically don't require Java to track AICC courses. (However, the courseware itself might still require Java.)
Cross-site scripting
Cross-site scripting occurs when content loaded from one web site in a browser attempts to read or manipulate content loaded from another web site in the same browser. In general, cross-site scripting presents a security risk, and browsers rightly restrict it in most cases. However, these restrictions can also interfere with tracking of courses where the courses reside on a different web site from the LMS. The problem is usually more serious for SCORM courses than for AICC courses. As described above, SCORM courses communicate with the LMS using JavaScript calls, and these are almost always blocked when the course and LMS reside on different sites. On the other hand, due to the nature of AICC communication, AICC courses have greater choice about the specific technology used to perform the communication, and different technologies enforce different policies regarding cross-site communicating. For example, an unsigned Java applet may not communicate with a site other than the one from which it was loaded, but a signed Java applet may do so if the user explicitly grants permission. Even without the use of browser plug-ins such as Java or Flash, an AICC course can implement course-to-LMS communication (but not LMS-to-course communication) simply by using standard HTML forms.
Sequencing
The AICC, SCORM 1.2 and SCORM 2004 specifications all provide sequencing mechanisms—that is, mechanisms for specifying rules concerning the order in which independently trackable units of content can be delivered. (In SCORM terminology, these units of content are called shareable content objects, or SCOs. In AICC terminology, they are known as assignable units, or AUs.) However, only the SCORM 2004 specification requires the LMS to support these mechanisms. On the other hand, it's always possible to implement sequencing in a way that is internal to the SCO or AU. So this is only an issue if you aim to reuse SCOs/AUs at a level of granularity below the course level.
Internationalization
The polite term for the AICC specification's support for internationalization is “boneheaded .” In particular, the AICC specification specifically prohibits the use of Unicode character encodings (e.g. UTF-8, UTF-16), instead requiring the use of one of the ISO 8859 family of encodings. Whereas Unicode encodings support virtually all modern languages, the ISO 8859 encodings support only a very limited set of languages, with Asian languages being particularly poorly supported. (Chinese, Japanese and Korean are all unsupported for example.) There's no good reason for this restriction, and in practice many systems "extend" the AICC specifications to support other encodings. (For example, EKP supports a wide range of encodings beyond the ISO 8859 family, including both UTF-8 and UTF-16.) However, a further problem is that the AICC mechanisms provide no clear way to specify which encoding is being used, so trial and error is often necessary in order to ensure non-English text displays as intended.

Sunday, September 2, 2007

How can I publish an Articulate Quizmaker quiz as an AICC course package that I can import into EKP?

Articulate Quizmaker is capable of publishing quizzes as both SCORM and AICC content. EKP can import and deliver both formats. One advantage of publishing as AICC content is that learners do not have to have Java installed in order to take the quizzes. However, there are a few points to bear in mind when publishing Quizmaker quizzes as AICC content. By following the steps below, you can publish a quiz as an AICC course package and import the package into EKP.

  1. Click the Publish button in the Quizmaker toolbar. The Publish button in the Quizmaker toolbar
  2. In the Publish window, choose LMS from the left menu. The LMS button in the left menu of the Publish window
  3. In the LMS field under Output Options, select AICC. LMS field under Output Options
  4. Click Reporting and Tracking... Reporting and Tracking... button
  5. Under LMS Course Information in the LMS Metadata window, complete the Description and Creator fields. Description and Creator fields under LMS Course InformationNote that if you leave these fields blank, Quizmaker will omit these fields from the published AICC files, resulting in files that are invalid according to the AICC specification. Therefore, in order to produce a valid AICC course package, you must complete these fields before publishing the quiz.
  6. The default value of the Filename(URL) field is http://www.servername.com/quiz/index_lms.html. While it's possible to replace this with the full URL at which the quiz will be published, it's easier to simply remove the initial portion so that the value becomes just index_lms.html. (Note that the value should not contain any slash characters.) Filename(URL) fieldIf you then import the quiz into EKP as an AICC course package as described below, EKP can automatically deduce the full URL needed to launch the quiz.
  7. Click the OK button to dismiss the LMS Metadata window. OK button
  8. In the Publish window, under Output Options, ensure that the check box labeled Zip files is checked. Zip files check box
  9. Click Publish. Publish button

The resulting zip file can be imported into EKP using the Import Content Package function (Manage > Catalog Manager > Import Content Package)—simply follow the on-screen instructions.

In summary, the important points are as listed below.

  • Be sure to complete the Description and Creator fields in the LMS Course Information section of the LMS Metadata window.
  • Enter index_lms.html in the Filename(URL) field.
  • Under Output Options in the Publish window, ensure that the check box labeled Zip files is checked.
  • Import the published zip file into EKP using the Import Content Package function.

Wednesday, February 28, 2007

Improvements to bulk courseware import tool

We just made some improvements to the bulk courseware import tool. This tool makes it easy to import many AICC-conformant courses in a single step. To use it, simply package the course structure files for the courses in a single zip file, then go to Manage > Catalog Manager > Import Content Package and upload the zip file. (Each course should have a set of four files, with the same base file name, and file name extensions .au, .crs, .cst and .des respectively. Some tools and vendors provide extra files, but EKP doesn't need them.)

Perhaps the most useful change is that EKP now shows the full titles and IDs of several of the courses in the package on the import options screen right after you select the package and the character encoding. That lets you see what courses are available in the package before running the import. It's also helpful if you're not sure what character encoding to use, since you can check that the course titles look correct before running the import, and if not you can return to the previous step and choose a different encoding.

Bulk courseware import preview

EKP also now shows full course titles in addition to IDs on the summary page once the bulk import is complete.

We've also simplified the process in the case where the package contains only a single set of course structure files. In this case, the process is almost identical to importing a SCORM content package, and EKP will provide a detailed error report if it finds any problems with the files.

These changes will be available in versions 4.6.0.83 and 4.5.1.197.

Monday, February 19, 2007

Why doesn't the Exit button in my course work?

This is an area where the courseware standards (SCORM, AICC) don't really correspond with real-world usage.

According to SCORM, exiting a course is considered a navigation event and so should not be invoked by the course itself—only the run-time environment (typically LMS) is supposed to control navigation. This is related to the SCORM philosophy of "reusable objects"—if an content object (SCO) contains a button that closes the window then it's making strong assumptions about where it will run (i.e. in a separate window rather than as part of a larger course) and hence is less reusable. So if one were to follow SCORM to the letter then the course should not have an Exit button at all.

In reality almost nobody does it that way—having an Exit button is a very common requirement.

EKP typically launches courses inside a frameset—frames are used for navigation, and a "hidden" frame is used for the SCORM API adapter. That's why window.close() won't work—it tries to close the frame rather than the top level window. If you use window.top.close() instead it should work in EKP. (Note: the name of the window object in JavaScript might be misleading, as it can refer to either a frame or a top-level window.) But there's no single method that's guaranteed to be 100% portable across LMSs, even if they are SCORM- and/or AICC-conformant.

Sunday, February 18, 2007

How do I enable HACP tracing?

When investigating issues related to courseware tracking, NetDimensions support staff might sometimes ask you to enable HACP tracing. Enabling HACP tracing causes detailed course tracking information to be written to the server log file. (HACP is the HTTP AICC CMI Protocol, which is what most AICC-conformant courses use to communicate with EKP.)

  • To enable HACP tracing temporarily (until next system restart), go to Manage > System Administration Manager > System Support Functions > Debug/Tracing Options. Ensure ON is selected in the drop-down list labeled HACP Tracing, then click Save.
  • To enable HACP tracing permanently, ensure the value of the system.aicctrace property is set to true in the ekp.properties configuration file (which is located in the WEB-INF/conf/ directory). That is, the ekp.properties file should contain the line below.
    system.aicctrace=true
    This change to the ekp.properties file will take effect the next time EKP is reloaded.

It will often be desirable to make both of the changes described above.

Tuesday, February 13, 2007

What is PENS, and when should I use it?

Starting from version 4.5, EKP supports the Package Exchange Notification Services (PENS). PENS enables one-click publishing of courses from a PENS-conformant authoring tool or LCMS to EKP. Note that PENS is not a format for learning content like SCORM or AICC CMI001. That is, by itself it does not define any formats or protocols for course catalog metadata, course structure, course/LMS communication, or sequencing. PENS simply defines a way for a publishing tool to notify a delivery system (LMS) that new content is available for collection. The relevant content is still transferred using an establish format such as SCORM or AICC packages (most commonly the former).

So PENS is not an alternative to, say, SCORM content packages. Rather, it simply eliminates the step of manually exporting a content package from the publishing system and then importing it into EKP. Note that if your workflow requires you to make use of the packages (e.g. you need to manually modify the packages, or wish to archive them outside of EKP) then it's probably not appropriate to use PENS.