Forum .LRN Q&A: IMS Content Packaging and IMS Metadata compliant!

Good Morning everyone,

As you might remember, for the past months I've been working on e-learning standards and OpenACS. Specifically, the work I've been doing is on IMS (http://www.imsglobal.org) and SCORM (http://www.adlnet.org). After many months, the compliant to these standards is done 😊. But before I go into the technical details, let me just go over some of the basic of these standards and what the benefits of using them are.

The two standards initially used are IMS Content Packaging (http://www.imsglobal.org/content/packaging) and IMS Metadata (http://www.imsglobal.org/metadata/). Both are part of a large number of interoperability standards that the IMS Global Learning Consortium develops and promotes. But the main reason I have implemented these two is because they are part of the SCORM conceptual model (http://homepages.nyu.edu/~eg373/scorm_fur_random_strikers.txt).

The IMS CP specification "provides the functionality to describe and package learning materials, such as an individual course or a collection of courses, into interoperable, distributable packages. Content Packaging addresses the description, structure, and location of online learning materials and the definition of some particular content types." (http://www.imsglobal.org/content/packaging). And the IMS MD specs is based on the IEEE Learning Object Meta-Data (LOM) Scheme, that defines a massive and very complete number of metadata attributes for learning resources.

Now, here's a bit of a summary of the implementation of these in OpenACS:

The IMS CP implementation libraries have quite a few number of functions that allows you to open, unpack, import and handle any content (files and aggregation of files) according to the specifications. For example, given an IMS CP package, you can import all files and directories straight into OpenACS CR. As well as all the organization and structure of the course. The CR folder where you import these package into could be a file-storage folder for example (or any other folder for that matter). For the internal structure of a package (Manifest, courses, Organizations, Items and resources) I defined them as acs_object types as they are at times logical "aggregation" of content that have a particular learning objective attach to them. Say, a chapter of a book can be defined as one item in a course. This item might have a bunch of htm pages and jpgs pictures that explain a particular learning objective. The reason that I've choosen to have them as acs_objects is because it will be easier, later on, to use these items (or resources for that matter) as interchangeable content across different courses. Example: a chapter of a book of physics that explains the concept of gravity can also be used (if copyright friendly) in another course of rocket design (I think...  but you get the idea 😉

Now, so you can find a chapter on gravity, this chapter has to have good metadata that tells you general information about the topic, learning objectives and pedagogic methodology used, technical limitations, copyright usage, etc. That is where IMS Metadata kicks in. IMS MD has nine sections: general, lifecycle, metametadata, technical, educational, rights, relation, annotation and classification that define many many fields of metadata (and it can have it in any language as well). The implementation of IMS MD data model in OpenACS has a good bunch of tables (40+!). Each acs_object (defined by the manifest, courses, organizations, items, resources or files) can have a metadata record. In other words, imsmd_id references to acs_objects(object_id). I also added the SCORM MD extensions to this implementation as well, so SCORM objects can also make use of it.

Although, this is cool and all that, the main objective of this message is to get people (whom ever would like to) to possibly explore the idea of a central learning object repository for OpenACS/.LRN. What are basically your ideas regarding this issue? Do you think this could be an important feature to have?

In the past months, I have been exploring and playing around with some of the big repositories such as D-Space, Fedora, and others. They have quite amazing features and I bet digital libraries are quite happy with them. However, I still get the feeling that a lightweight and easy repository would be very helpful.

Without doubts I do not aim to duplicate features that those repositories have, but rather use a thin tool to manage large number of resources that can be used on a course. Let me illustrate this with an example. Say I'm teaching Beer Brewing at the Engineering school at Sydney Uni. As a teacher, I usually go to the library find the resources they have and then add those as a reference in my lectures (whether they are digital or not). However, I think it would be much better if an interface to these massive digital library repositories could be made. So I could go to my course admin site, click on search resources, select the digital library I would like to search on, search for 'beer brewing' and then select which of these resource (given that the copyrights are cool) I could add or link to my course. The resources I selected can also be added to different units or learning objectives on my course (along with the resources that I develop or found myself by other means). This lightweight management tool uses IMS Digital Repositories Interoperability (http://www.imsglobal.org/digitalrepositories/) specs to search, request, deliver learning resources from the big repositories. This interface would facilitate the time spent by teachers putting together their course, and students would benefit from having more learning resources available. Digital libraries would also benefit from it, since teachers and students would have seamless access to their resource.

What do you think?

Thank you,

Ernie

PS: SCORM (https://openacs.org/forums/message-view?message_id=81012) has not being abandoned. But lack of funding has being the main cause for putting it aside a bit. If you are interested please let me know.

Collapse
Posted by Caroline Meeks on
Hi Ernie,

This is wonderfull news! Do you have a demo site we can see the new features in action?  Can I get a copy of the code to try it out?

I will be thinking about your questions but first I want to really grok what you have done already.

Thank you and this is *very* exciting.

I get the feeling that a (wonderfully) mad scientist has emerged from his hidden laboratory, after silently hacking out the details of a wonderful little gem to add to our treasure chest. 😊

Great news!

Thanks for the beer brewing example. If you and some of your fellow  scientists (mad scientist are especially welcome) come to Heidelberg in April ( https://openacs.org/forums/message-view?message_id=160388 ) and talk about or show other examples I will do my best to add a little beer brewery excursion to the plan. 😊

Looking forward to more details on what you have done.

Hey Ernie!
thanks for all your work... now we would like to play with it really soon!

About digital repositories, that something worth to have, since what is the sense of packaging everything SCORM compliant if at the end the professors / students can't search for the SCOs? ... so I say go for it ;o)

At E-LANE we can offer intesive testing and bug fixing on all your new packages, since we plan to run the first SCORM / IMS compliant courses probably in April04 and go with more of them in the next months after that.

Also, if you need help (human resources) on the development of what still is left for SCORM and the digital repositories, we can offer also that, just coordinate, specially on the SCORM side since is a must for our project.

In the other hand, at Galileo we plan to integrate in some way Dspace with .LRN, I have a couple of people looking at the preliminary stuff, so we might come with some ideas in the next weeks and start a new thread, this is something that we definitevely will work on.

Collapse
Posted by Alfred Essa on
Ernie, Brilliant work! These are very important steps as we look forward to v3.0.
Caroline,

I have set up a server so you can see how it works.

http://mlweg.pc.ee.usyd.edu.au:8080

Just go there and login as follows:

email: mailto:random@striker.com
pass: random

Then just proceed to:

http://mlweg.pc.ee.usyd.edu.au:8080/random/index

There, you can read about more about the process for uploading IMS/SCORM Content Packages.

There is an IMS CP package there, but I just added an SCORM on the file-storage as well (so you can upload SCORM packages too and test how it goes about uploading 250+ dirs and files)

http://mlweg.pc.ee.usyd.edu.au:8080/files/view/package.zip

The IMS MD part works very well as well, but I haven't done an interface so you can see it on the web.

Comments, questions and suggestions are more than welcome

Ernie

Carl,

I'm not so sure about the scientist part, but there's plenty of mad for sure 😉

Ernie

Collapse
Posted by Nima Mazloumi on
Hi Erni,

great job. I will test the upload with different courses we have created with our SCORM Course Editor. A first version of it will be available soon.

Just a few questions: What exactly about SCORM could not be implemented? The Runtime Environment?

Also is export or deleting of an uploaded course supported?

How do you plan to integrate your work with dotLRN?

Greetings,
Nima

Collapse
Posted by Nima Mazloumi on

Sorry...but I forgot to say...the importance of the IMS/SCORM comlpliance of dotLRN cannot be underestimated!

So I really appreciate Ernie's work. Your contribution will have a share in making the platform even stronger.

I made a analysis of major evaluations of LMS software and definetly the key criteria is the compliance to standards to guarantee content provider the independance they need to develop expensive content to the IT department to justify the decision they take for a platform

Here are the evaluations I analyzed.

Date		Institute 								No. of LMS	No. of criteria
since 1996	Centre for Curriculum Transfer & Technology (C2T2)			56		52
2002		Arge Dr. Baumgartner und Häfele KEG					95		27
2002		University of Iowa							5		7
2002		SiteTrainer								83		60
2002		Swiss Virtual Campus							15		?
2001		Boise State University - John Bigelow					8		18
2001		Boston University - WebCentral						3		133
2001		Murdoch University - Roger Atkinson					21		-
2001		Ohio Supercomputer Centre						4		?
2001		Fachhochschule Joanneum - Krieger					5		160
2001		Fachhochschule Joanneum							1		?
2001		Fachhochschule Joanneum							1		?
2000/2001	EduTech									9		108
2000		University of California - Berkley, Fred M. Beshears			3		?
2000		Teleeducation New Brunswick						29		44
2000		Mendocino College							6		-
2000		Nicole Bußmann in managerSeminare					21		?
2000		Paul Pavlik								3		?
2000		Ohio Supercomputer Centre						?		?
1999/2000	The University of Future - FutureU					6		84
1999		Britain / Liber								12		?
1999		Mashall University							15		10 Categories, 137 Criterias
1999		US Airforce Academy							6		78
1999		Boston University - WebCentral						2		?
1999	 	Central Queensland University, Australia - Jones / McCormack		3		?
1999		Santoro/da Silva/Borges et al						5		?
1999		Universität Innsbruck - Obexer/Essenschläger				?		?
1999		Universität Innsbruck - Obexer/Essenschläger				7	 
1999		University of Tennessee - UOCE						4		56
1998		University of Pittsburg - Center for Instructional Development & Distance Education	7	28 General,  46 Faculties,  9 Students
1998		University of Maryland - Dr. Sunil Hazari				6		40
1998		Brior Cliff College in Sioux City, Iowa - Gray				10		?
1997		PCWeek - Herb Bethoney - Computer-based Training on the Web		6		?
1997		Mashall University							5		8 Categories, 88 Criterias
1997		University of Manitoba - Simbandumwe, Jean-Paul				4		23
1997		University of Iowa - NCSA - Jennie File					18		35
?		Arizona State University						?		?
?		Seattle Pacific University - David Wicks				10+		55
?		University of British Columbia - Department of Distance Education?	3		?
?		Dr. Geraldine Kristapiazzi?						?		?
?		The Node								?		?
2001		Arizona State University						?		?

I stopped the analysis in summer last year. I already received copies of newer ones but had no time to add those to the list. Some of the evaluations are in German language. Also some links might be broken since I don't keep them updated.

For those interested in the data of the evaluation please send me an email

Greetings

Nima
Hey Nima,

Thanks for your comments. I really appreciate the encoragement 😉

Just a few questions: What exactly about SCORM could not be implemented? The Runtime Environment?

IMS CP and MD are part of SCORM, so we got that part. Also as I posted on this thread Adam Ullman has created an API adapter to SCORM RunTime Environment. That is a java applet that it is used on the client side to communicate to the LMS.

So, what it needs to be done is the server side for SCORM RTE and the management of SCORM courses. Basically, the LMS part. Also, a bit of integration of all parts. This is a doc I wrote as part of the SCORM and OpenACS integration.

Also is export or deleting of an uploaded course supported?

I have included functions to delete courses, organizations, items, resources and files. So in principle: yes, there are functions to do deleting operations. However, exporting has not been done yet. Although, you will find that when you import stuff in the CR, there's a function -implemented by the file-storage package- that can be used to zip all the content of a folder (and subfolders) and export it as a single file: that would be your imsmanifest.xml file. The wonders of interoperability, isn't it? 😉

How do you plan to integrate your work with dotLRN?

What I have done is a set of libraries so they can be used by any package anywhere. The idea is that these libraries are part of the lightweight learning object repository that I would like to get your feedback on 😊. It is part of an on going set of libraries that will be growing (if resources permitted).

Let me know if you have a chance to test the uploading of IMS/SCORM 1.2 packages to the demo site I set above. I would be really interesting to see if you consider the performance to be OK. Currently I have managed to import 250+ files package with large amounts of metadata in less than a minute on a single 2.4 GHz processor.

Take care and once again, thank you for your comments.

Ernie