View Article

Current Articles | Categories | Search | Syndication

Thursday, July 21, 2005
Course Import and Parser
By KentWA @ 2:41 PM :: 2353 Views :: 0 Comments :: SCORM Information

This may very well be the most complex part of the DotNetSCORM project for several reasons.

 

What seems to be the biggest hurdle is validating and parsing the imsmanifest.xml file. The standard .NET XML classes will not handle the schema for imsmanifest.xml as several elements of the schema are non-deterministic in nature and the .NET XML classes are deterministic in nature.

 

It has been suggested to modify the schema locally for import purposes, however this is short sighted and fatalistic. The SCORM spec is flexible and fluid, by creating a special situation for our purposes it is likely that there would be some course ware that would not be able to load onto DotNetSCORM.

 

The other option is to use an XML class that will properly handle non-deterministic schemas without issues. So far the best solution seems to be the XERCES.NET classes from NETiT. This is a port of XERCES from Java  to J# under the Apace license.

 

So what tasks must a Course Import module within DotNetSCORM?

 

Allow user to select a PIF from their local machine to upload.

Store it locally in a temporary directory

Validate the package

·        Uncorrupted zip file

·        Contains an imsmanifest.xml file

·        Validate imsmanifest.xml file

·        Test that files listed in the manifest are in the package

 

Create Course in database (receiving CourseID in return)

Create Course Directory based on CourseID

Unzip package to new course directory

Create SCOs in database based on the organization metadata

Update data in course tables from manifest

Generate the imsmanifest.js file used by the RTE

Delete the temporary upload file

Get settings from user uploading package

 

Some of these tasks are not required in a first version of this module. As an example if we make the assumption that any package uploaded has passed the ADL Validation Suite there will be no need to validate the imsmanifest.xml file or test the files in the package. Obviously we will want this functionality in later releases.

 

The TinyLMS application has been the source of much of the work to date and has a very good structure to its course builder. The TinyLMS application is a GUI based builder, so obviously there is a lot there we do not need. The application is written in Java and needs the appropriate classes converted to .NET to create a set of classes that can be used with DotNetSCORM.

 

Comments
Currently, there are no comments. Be the first to post one!
You must be logged in to post a comment. You can login here