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?
PS: SCORM (http://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.