Forum .LRN Q&A: Implementing SCORM 1.3 in OpenACS/dotLRN

Hello there,

In the past week, I have received a bunch of emails about our plans to implement SCORM 1.3 in OpenACS/dotLRN.

In short: Yes, we've been working for the past two months to incorporate ADL's SCORM 1.3 in OpenACS/dotLRN. Our project includes the following functionalities: import/export of SCORM compliant objects, a tool to manage SCORM courses within the OpenACS/dotLRN framework, a runtime environment (launching and delivering SCOs and tracking) and a sequencing engine. But before I give you further details of the project, I would try to do my best to explain some (and only some) of the key SCORM concepts that might explain why we believe SCORM is worth it in a non-technical, non-academic way. So bear with me for a sec.

Staffan dude, I agree with you that IMS Simple Sequencing provides us with a ton of advantages such as sequencing of learning resources (files) to be presented to a learners. I do believe that is a functionality is a must have in dotLRN. In addition, though, I also agree with Michael's point about SCORM implementation and his analogy about "putting the cart before the horse". You see, SCORM provides us with the ability to group our learning resources (HTML pages, PDF files, word docs, MPEG videos, etc) according to a particular learning objective that we want learners to achieve. For the sake of clarity, let's just call these aggregation of files SCOs.
So now, we are talking of several of resources that also have a learning objective defined. In addition, SCORM allow us to track not only what SCOs the learner has view/study, but also the time and the number of attempts he has used them. This is good for academics for two things: first, they can define their classes around learning objectives rather than files, and second, they can track the progress their students have achieved on those learning objectives.

Moreover, SCOs can be grouped to define higher learning objectives, meaning that you can have learning objectives that encompass several other SCOs. So you can define a whole course as an aggregation of SCOs

With the addition of IMS Simple Sequencing in SCORM 1.3, the content designer (a professor, TA, company, or even a smart-agent) can create all sort of funky sequences rules for SCOs (i.e. if SCO1 is completed and the score was X then proceed with SCO4) in this way, enriching the learning experience. Although the specs are called Simple Sequencing, their implementation can be rather intense. Rafael Calvo sent me this ppt presentation that summarize the concept fairly well.

However, you might still think that this is nothing new, and I agree. Although, SCORM also allows you to pack your SCOs and export them to a single file that then can be imported to any LMS that is SCORM compliant. And since the SCOs are designed to communicate with any LMS following the SCORM standard API, then can be run and use, theoretically seamlessly. If dotLRN provides such capabilities, then people using SCORM compliant LMS would be willing to use dotLRN and "move" some of their courses to try, and if we have a solid platform, well then, their road to dotLRN adoption can be a bit less painful.

Other very interesting feature is the reusability of these SCOs. Content designers can use existing SCOs designed and used by other classes in their own courses.

In addition ADL (the people who release the SCORM standard) aims, in the future, to have SCOs repository databases where you can go and browse for content for a particular class you are teaching. For such purpose, the SCOs contain vast metadata (and Michael please correct me if I'm wrong) which they will eventually use thru, most likely, some sort of web services.

So I think what Michael was explaining is that IMS Simple Sequencing, boosts SCORM to a different league. And I definitely agree. However, by no means, I'm trying to say that SCORM is the savior of education neither that will replace formal education. All I'm saying is that it is getting better (by incorporating other standards) and has very interesting features to leverage on.

Now, about "Adaptive Learning and Standards", I tend to agree with Michael in his last posting. In March, I will have the pleasure (and honor) to join the prestigious Web Engineering Group at University of Sydney, lead by Dr. Rafael Calvo. Under Rafael's supervision, I will be conducting research for a PhD on Adaptive Learning and Learning Objects. Leveraging on the extensive artificial intelligence knowledge and machine learning techniques of Rafael's group, I'll aim to create a smart agent that uses AI and machine learning techniques to collect (and maybe profile?) the student's previous knowledge and experience to determine the sequencing of learning objects based on what he knows. Although this might sounds promising, once again, there is a ton of research that needs to be done in this area (we need to crawl before we run). There are some interesting things we still need to figure out before we can have an Intelligent LMS. However, I believe it is great to see that the dotLRN community is working and has a very similar vision for dotLRN's future.

Regarding our SCORM 1.3 implementation, we are currently working on the technical side with Sussdorff-Roy in Germany (thanks Malte, Denis and Tillman Singer) and periodically getting advice (at least me personally) from Rafael (gracias Rafa). We are expecting to be importing/exporting capabilities in the next two-to-three weeks.

Of course, I would like to invite everyone in community to participate in this project. One strong suggestion is to read the referenced documents on this posting since you must have a very well and thorough understanding of SCORM 1.3, and of course OpenACS. If you, your clients, companies, universities are interested in incorporating SCORM 1.3 in OpenACS/dotLRN, please don't hesitate to contact me.

Also, please if you have further questions on SCORM, after you have read the referenced docs, please feel free to share them here.

Thank you,

Ernie

Collapse
Posted by Lars Pind on
Ernie,

This indeed sounds very exciting.

Who are you doing this for? You have an nyu.edu email address, does that mean you're doing this for NYU, and that NYU is going to be using and investing in dotLRN? That would be news to me--great news, that is.

/Lars

Collapse
Posted by Staffan Hansson on
Ernie, I had no idea you were working on this. I don't think Michael had heard of it either, or he wouldn't have suggested the other day that we start considering SCORM-compliance. But now you're saying that we'll have SCORM 1.3-compliance for dotLRN in a month's time!? Incredible!

I certainly agree with you that it's well advised to read the IMS and SCORM documents. Ironically, perhaps, your post emphasizes this. It adds to the impression that this is indeed a complex and confusing area, and that we need to help each other out in clarifying definitions. You see, you're mistaken about IMS Simple Sequencing; it actually does provide those wonderful features, such as learning objectives and progress tracking, that you hail as the hallmark of SCORM 1.3.

My guess is that you have read our (Polyxena's) text on the first version of the Curriculum module - which describes a mere upgrade of the functionalities that Philip Greenspun once authored and that are part of OpenACS 3.x - and mistaken this for our proposal of an IMS-compliant simple sequencing solution. That rather rudimentary curriculum bar feature, which doesn't provide (or claim to provide) simple sequencing by any standard, merely organizes HTML pages. IMS Simple Sequencing, on the other hand, organizes (and sequences) data objects called "activities" that in turn have learning resources, objectives, rules, and other metadata associated with them.

We'll soon put up our model for simple sequencing in the Curriculum module, adapted from the IMS Simple Sequencing Specifications to suit the OpenACS environment, for public viewing and scrutiny. You'll find that this model for a simple sequencing engine contains the features you desire. Except for content packaging, which is the objective of yet another phase of the Curriculum implementation. This feature, too, is solved by IMS standards in SCORM 1.3, if I'm not very much mistaken. However, as Warwick Bailey pointed out in the original thread on adaptive learning, the problem with SCORM is that it implies a "fragile" client-side user tracking that doesn't harmonize well with the basic server-side logic of OpenACS.

Collapse
Posted by Rafael Calvo on
Ernie,

Thanks for your comments about WEG or myself, but they are *way* exagerated. There is many people in this community that knows much more about e-learning than me.
Congratulations for your work with Malte, it is pretty cool what you are doing there.

Collapse
Posted by Staffan Hansson on
Collapse
Posted by Caroline Meeks on
Hi Ernie,

Thank you very much for posting. It's a very exciting project. We have talked some outside of the forum but I want to summarize what I am doing for everyone here.

The OCW work I am about start is a small subset of such a project. Basically we are taking content from a class on Sloan and exporting it into a IMS Content Packaging based XML format that will be read by OCW's content management tool. OCW will then edit, format, check intellectual property rights, etc and eventually publish a static html version of the content to their web site. Because the destination is static, non-interactive, html much of the complexity and context of the content in dotLRN will not need to be exported.

It's obviously a much simpler project and will be completed in approximately 2 months.

I hope to collaborate with Ernie and Sussdorff-Roy on the underlying utilities and methodology so that my work will fit in with the overall solution they are working towards.

Collapse
Posted by Ernie Ghiglione on
Lars,

Excellent question. As if now we are not doing it for anyone in particular. However we do have a lot of people that have shown interest "if we would adopt SCORM". I guess they see it as a competitive advantage; however, I think it might be a bit more than that.

In addition, we (S&R dudes and myself) believe that incorporating it to OpenACS will open quite a bunch of opportunities not only in the higher education realm (with dotLRN), but also in the corporate sector. If we manage to incorporate SCORM successfully to OpenACS, we also see potential to maybe add a package that could allow an Human Resources department in a particular company to deploy SCORM compliant courses across their organization (maybe a dotWRK package?). Now, once again, let's not get to excited as if yet. There are a bunch of cool things we can do with this and a good sequencing engine, but let's take it step by step.

However, I must admit that I have come across a lot of people that believe that SCORM has little future. By the same token, I have seen that some of those concerns are being addressed by incorporating different standards and improvements. There is an interesting presentation about where ADL wants to take SCORM that you might find interesting to see. We see the benefits of it, but still there is some major work to do to get this going, but that's the challenge.

Unfortunately, NYU has invested heavily in Blackboard and they seem to be happy with it for now. But maybe, if we add some more other interesting features in the future, then they might reconsider and go for dotLRN. BTW, as far as my affiliation with NYU, I'm a recent graduate .

You have a good one,

Ernie

Collapse
Posted by Ernie Ghiglione on
Staffan dude,

Man, I'm so happy to see your datamodel... that's awesome. Here, you can find the specs we were planning to follow to see use for the sequencing engine. Please, send me your contact details (phone) and see how we can sync up stuff.

I have to say that I did see the curriculum project, but last time I checked it was by the end of October and since then we didn't hear anything so I thought you guys might have dropped it... but man, once again, I'm really happy to hear you guys are working on it. We can talk about your datamodel tomorrow over the phone, I'm reading it tonight

Later,

Ernie

Collapse
Posted by Ernie Ghiglione on
Caroline,

Yeah, it will be great if we can help each other out with it.

Since we will be dealing with large XML docs we decided to use tDOM instead of ns_xml (Thanks Bart for your help to set that up).

If you are using a subset of IMS content packaging, we for sure are in the same path. This week we are finishing the datamodel, and then start working on the export/import function. So we estimate some heavy work on it by next week (if everything goes according to plan).

If that the timeline sounds cool to you, well, sure. We can do some testing together if you want. Please let me know what you have in mind

I hope to collaborate with Eric and Sussdorff-Roy...

BTW: who's Eric? ;-)

Take care,

Ernie

Collapse
Posted by Michael Feldstein on

Wow. A lot of good stuff here. Where to start...

First of all, Ernie, this is fantastic news. Don't believe anything you hear about SCORM not taking off; it already has taken off. SCORM is for real. It has problems, and people will continue to complain about it, but it is very, very important. The work you are doing is incredibly valuable to dotLRN.

It's also great (and critical) that the folks working on the curriculum module, SCORM 1.3, and OKI will be working together now. The standards bodies that created the SCORM 1.3, Simple Sequencing, and OKI standards have all been collaborating. These initiatives are meant to compliment each other. It's wonderful that our attempts to implement these standards will also be cooperative.

Go team!

Collapse
Posted by Michael Feldstein on

Wow. A lot of good stuff here. Where to start...

First of all, Ernie, this is fantastic news. Don't believe anything you hear about SCORM not taking off; it already has taken off. SCORM is for real. It has problems, and people will continue to complain about it, but it is very, very important. The work you are doing is incredibly valuable to dotLRN.

It's also great (and critical) that the folks working on the curriculum module, SCORM 1.3, and OKI will be working together now. The standards bodies that created the SCORM 1.3, Simple Sequencing, and OKI standards have all been collaborating. These initiatives are meant to compliment each other. It's wonderful that our attempts to implement these standards will also be cooperative.

Go team!

Collapse
Posted by Carl Robert Blesius on

Great news that you all are going to start coordinating with each other on this (we could all use some more of that). I have some related questions.

There is this neat thing in OpenACS 4.x called the Content Repository (CR) and there are some good ideas about a general metadata infrastructure floating around (in addition to the existing metadata support in CR). ;-) So wouldn't it be best to keep dotLRN as thin and "road like" as possible (see Michael's post: recommended reading), by using existing tools and adding general solutions to OpenACS? Next to a whole lot of polish all we need is the infrastructure to spit out (and suck in) objects in whatever form all these strange acronyms call for... right?

After watching this film about an existing educational repository it does not seem like something hard to do with what we have (could even use file-storage as the UI), while coordinating on what is needed for the next stages (sequencing/testing). Is this something that we would want to do?

Collapse
Posted by Talli Somekh on
Carl, good point. Perhaps this stuff should also be built out with an eye towards incorporating WebDAV operability which may arrive in the future of AOLserver/OACS? I know that WebCT has DAV as prime feature.

talli

Collapse
Posted by Staffan Hansson on
All this enthusiasm is really great, but...

I'm going to be very frank, and perhaps break a number of taboos. I see two problems and two solutions. The problems are chaotic competition and absent financial resources. The solutions are organized complementation and diversification of money investments. The ideas and the human resources to implement the ideas into products have always been the core essence of this community, so that shouldn't have to be a cause for major excitement by now. If it is, that's because we (dotLRN?) have lost touch with the original spirit of the community lately.

Complementation, that's the keyword. We can't compete with each other by working on the same products. SCORM itself is a vast field, with lots of separate but interrelated parts. As Michael perceives it, there are three major areas that we're all working on: SCORM, Simple Sequencing, and OKI. SCORM is vast, SS and perhaps OKI aren't. These different areas are all connected to each other and we have to synchronize our works so that the different pieces fit together, but not work together on a one-piece puzzle. The only piece we (Polyxena) have ever laid claim on doing is the actual simple sequencing engine, a well-defined piece of functionality. If we could just get a confirmation that this is left to us, we'll be happy to leave the remaining 99.9% of SCORM work to others and to cooperate in fitting our piece together with the other pieces of the puzzle. Had this confirmation come when we asked for it, the sequencing engine might have existed today.

Ernie's perception that the proposal for Curriculum has been around for a while and that the real implementation has still not begun is very telling of the other fundamental problem: the lacking/lagging finances. Diversification (of investments and risks) has always been a sound economic advise. And yet it seems that only very major projects, like the creation of dotLRN or the implementation of SCORM, receives finances, while smaller and less risky ones, like creating modular pieces of functionality that would make dotLRN more useful, don't. Wouldn't it be prudent to split large projects into smaller pieces, that is, handing out money to smaller units of developers whose responsibility for the product is much clearer, rather than pumping in a large sum in a diffuse all encompassing project. There should be a way for small projects to seek sponsoring and get it (if deserved) in a much shorter time than what is now the case. It's not possible for individual developers (even if they formally are companies) to go on empowering dotLRN at their own expense. And dotLRN won't survive if its developers don't survive.

(I'm truly sorry, Talli.)

Collapse
Posted by Michael Feldstein on

Staffan, there are a few points I want to address that I see as vital missing pieces to the puzzle you lay out in your post. First, SCORM is *not* what I would call "vast." It's not small either, and it's probably large enough (and important enough) that finding some funding for it would be a good idea, but I doubt that it's more than twice the size of implementing Simple Sequencing, and it may be significantly less than that.

Second--and this is critical--Simple Sequencing is part of SCORM now. It makes all the sense in the world for the people working on SCORM and the people working on Simple Sequencing to cooperate closely. I don't see why this cooperation would threaten the Polyxena's claim to the curriculum module project or its funding. To the contrary, it is likely to make your work more valuable to the community by leveraging the back end work you're doing.

Third, I never set Simple Sequencing, SCORM, and OKI as three top priorities. The community did. I said that SCORM 1.2 is important. Polyxena and their sponsors are interested in Simple Sequencing. MIT and some of the other academic institutions are interested in OKI. I am not setting or ranking the priorities for the community here.

What I am saying is that the three standards themselves are designed to overlap and interoperate. Therefore, our efforts to implement the three standards should also overlap and interoperate.

To my mind, this is just the sort of situation that the TAB is meant to facilitate. What we have is several simultaneous and independent projects where the whole could be greater than the sum of the parts. I suggest that the leads on the three projects at least touch base with Don to help ensure that their implementations are complementary. The benefit to doing so for all the various individual projects are (1) you get excellent technical guidance, (2) you get help in finding out what other people are building that could make your own development project easier, (3) you get higher visibility and therefore higher likelihood of attracting funding, and (4) you enhance your reputation as being good members of the community.

Please note that I am not a member of the technical advisory board, so the above is only a suggestion. The TAB will decide for itself what (if any) coordination/facilitation role they would like to take on.

Collapse
Posted by Ernie Ghiglione on
Staffan,

As I mentioned before in the reply to Lars: as of now we don't have any company/organization funding this initiative. However, we believe this is the way to go, and I'm really happy to hear that Michael feels the same way. I would leave the financial issues to Malte if you want to see how S&R is dealing with this implementation (of course, if he believes it is appropriate).

Our interest in SCORM is not new. S&R has been inquiring about SCORM for at least three months and it was back then when we started analyzing the possibility of incorporating SCORM into OpenACS. In addition, since the very beginning we've been actively looking for partners/developers to work with us.

Now in terms of collaboration, we are quite happy to hear that you guys are working on SS, and I hope, you want to collaborate with us. Yesterday you posted your datamodel and I sent you the specs we have for the sequencing engine. We should talk about the datamodels and further integration issues.

We don't have many resources, but we are on SCORM 1.3 until we see it fully implemented at least as it was described on the first posting I submitted, and that includes a sequence engine -yours if you want to work together.

You take it easy and looking forward to hear from you,

Ernie

Collapse
Posted by Staffan Hansson on
Michael, about your three points:

1) I still believe you're overestimating the technical scope of IMS Simple Sequencing. I still suppose this is because you think it covers the whole field of adaptive learning, when it really only specifies a clearly delimited sequencing engine. SCORM, on the other hand, covers much more than just adaptive learning, as I interpret the term.

2) Yes, SCORM 1.3 implies IMS Simple Sequencing. But IMS Simple Sequences does not imply SCORM 1.3. It does make all the sense in the world for people working on SCORM 1.3 to study the IMS Simple Sequencing Specification and our adaptation of it into the OpenACS environment. Our project doesn't overlap Ernie's, even though his might overlap, or at the very least connect to, ours. He needs to adapt to our IMS-standard sequencing engine, but in principle we don't need to worry about his work, only about following IMS specifications. But of course we'll help fitting together our part with other parts, including Ernie's.

3) I never claimed that you were ranking projects, I only concluded that you, rightly, had detected that there are three fields people are currently working on which touch upon each other.

To anyone concerned, our view on collaboration is firmly rooted in the OpenACS community. The essence of it is openness. Everything that a developer does should be announced to the rest of the community, so that everyone (including the TAB) can scrutinize the quality of the work and be assured that the work does not infringe on the work of other developers. It is also well advised to contact Don for a go-ahead before setting out on a project, as we did before announcing our proposal for Curriculum. This way the technical advisor can stop projects that do not fit in with or risk doing damage to the OpenACS fundament.

It is not customary within this tradition, however, to work via the phone, especially in matters that are of public interest and in no way private. Neither is it customary to use the openness of other developers against them, by infringing on their work and then taking over the initiative, saying that it's okay for them to be responsible for the work they initiated only if they let go of their control over it. Those who do not respect this tradition of openness and community-wide collaboration are often referred to as "cowboys". The day cowboys are setting the standard for what is considered collaboration we will have experienced a revolution. I too would prefer it if the TAB set the standards.

Collapse
Posted by Maher Khenissi on
Hello,
I am a new developer for e-learning systems in a Tunisian company. My first mission is to update the existing scorm 1.2 compliant system to 1.3. I find it fairly complicated because I have to save money and time by using the existing 1.2 code so I need to see what the scorm 1.3 accurately adds.Also It will be very helpful if I can get an "open source" implemention for importing a scorm 1.3 package.

Thank you

Maher