SCORM Module

SCORM Module

by Roberto Pinna -
Number of replies: 18
Picture of Core developers Picture of Plugin developers
Hi,
I already started to work on a SCORM module.
It's based on ADL SCORM specification 1.2 (in this days ADL will present the 1.3 final version).
The current module version seem to work fine but I tried it only with 3/4 SCORM courses (Marine Navigation distribuited with ADL RTE 1.2 and some courses developed by our course team). I've tried also the Photoshop course that came with RTE 1.3 and with a little patch it works.

I try to explain how SCORM module works:
SCORM packages come in .zip or .pif (is a zip file with another extension);
Like any other file we must upload the package using the files page.
  • Create an activity:
    When we create a new activity, we can choose from a popup menu the right package.
    After that, on continue, the package is checked and validated (the current version check only if the package contains a imsmanifest.xml file; future versions will check if this file is well formed and other);
    This operation creates a record in the scorm table and a directory containing the unpacked SCORM course.
  • View an activity:
    The first time someone try to view a SCORM activity the module parse the imsmanifest file and insert a record for every manifest item in the scorm_scoes table.
    Then the module show the course summary with two buttons browse and enter the course; the difference between is that if we browse a course we can't complete it.
    When we click one of them will load an new page that will show the first or the last viewed SCO; this page contains an APPLET the comunicate with the server in HTTP to get and set some properties.
  • Activity report:
    I develop also a begining report page that show the status of every SCO in the SCORM and the time spent in each SCO.

    I sent to Martin last week the current version of SCORM Module and I think this could be downloaded from contrib in CVS.

    If anyone what to help me to design and develop this module is welcome.

    Sorry for my poor English.

    Roberto -Bobo- Pinna
Average of ratings: Useful (1)
In reply to Roberto Pinna

Re: SCORM Module

by Ger Tielemans -

Nice, I think you go in the same direction as Hotpotatoes:

"As long as Moodle does not support info that is captured in your modul, you bring with you a local results-overview page as complement for that modul?"

Maybe Martin can create an overview page where all these guest-apps show their result-table(s) per user /per group..

In reply to Ger Tielemans

Re: SCORM Module

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Yes, this is called the gradebook.
In reply to Martin Dougiamas

Re: SCORM Module

by Ger Tielemans -

Not yet, because they offer more/different information then Moodle can handle Yet smile

(integrating in gradebook would make it a great book)

In reply to Roberto Pinna

Re: SCORM Module

by Andrea Bicciolo -

Hi Roberto,

I've read your intention to build a SCORM module. In the past days I found in the forums some posts about this topic from Martin and you (but I'm unable to find those post again) about how to develop the module. If I correctly recall Martin suggested Flash instead of Java:  if needed I could help with Flash. I'm based in Rome. Italy, fell free to contact me.

In reply to Andrea Bicciolo

Re: SCORM Module

by Roberto Pinna -
Picture of Core developers Picture of Plugin developers
Thanks a lot Andrea,
but now I'm working on a new idea all in javascript. I think that we can have a working version next week (develop is not my first work at university smile ).
I tried this develop version with several browser and it seems to work.

Soon I will post some news and some screenshot.

Roberto.
In reply to Roberto Pinna

Re: SCORM Module

by Andrea Bicciolo -

Hi Roberto,

Thank you for your reply. I think Javascript a good idea. If needed, I could also help with Javascript.

In reply to Andrea Bicciolo

Re: SCORM Module

by Bernhard Zech -

Hi all,

my name is Bernhard Zech, I'm new in the Moodle discussions and in this forum. We are a german based small company named cogito and are highly interested that Moodle gets SCORM 1.2 functionality.

I have read some discussions here about SCORM in different threads. I understand the fears. It would be calamitous if SCORM compatibility or compliance would impact Moodles specific philosophy and appoach.

But I believe it's possible to do this without to attack the current didactical philosophy and advantages of Moodle. I see SCORM just as an standard mechanism to define and exchange Learning Objects (SCOs), to import them in a defined hierarchical structure (packages and "organisations" in the imsmanifest) und how to communicate with them (status data, language settings ...)  It should be up to the learning designer to use just single SCOs, to reorganize them to any structure or to embed single or aggregated SCOs in any social environments and conditions and learning flows. A SCORM enabled course in Moodle would be just a small subset of  the hole Moodle functionality. And nothing in the SCORM specification talks about or regulates the things and learning flows around a SCORM enviroment.

@Roberto:

It's great that you started this work and I would like to support this development as much as I can.

Regarding to the implementation of the client side API object (API adapter): You wrote, that you are working on a Javascript solution to communicate with the server (perhaps via XML RPC or things like this). I suggest also to look at a Flash based solution and to compare the pros and cons. There is an technology called "Flash remoting". This way you can realize very fast communication with the server in both directions. You deal with binary data and you have not the data and parsing overhead as when you communicate via strings and XML tags. There are at least two Open Source solutions to communicate using Flash Remoting with PHP:

- AMFPHP  http://sourceforge.net/projects/amfphp/

- PHPOBJECT http://ghostwire.com/resources/phpobject/


Additional advantages of this approach are:

- You can exchange high level entities like objects with properties: both solutions serialize the data for you.

- it's easier to encrypt the data. I think encryption is a must in many scenarios because we deal with private data.

In addition, we still need some Javascript wrapper code around the flash control, which gets the API function calls from the SCO and transmits them into Flash. But the most funktionality of the API adapter I would implement in Flash. What do you mean?

Average of ratings: Useful (1)
In reply to Bernhard Zech

Re: SCORM Module

by Ger Tielemans -

So you propose to be compatible on two levels:

  1. exchange of outlines with an IMS-manifest (With the new subsections of Moodle now possible)
  2. exchange of status information between a scorm-modul and the gradebook of Moodle (The last one needs then an extension to handle the AICC-subset and the still not succesful finished "Simple Sequencing" standard of ADL)
  3. You do not intend to overrule the human-teacher-coach *), central in the philosophy of Moodle, with a LMS-sequence-engine-with-built-in-business-rules? Then feel welcome! (The drafts of SCORM propose such an mechanism, See the pictures in the ADL proposals for the runtime environment)

Question: must this javascript for the API still be the subset called ECMAscript?

*) In the future (I hope) Moodle will have more and more human-student-in-control-of -his-own-learning

In reply to Bernhard Zech

Re: SCORM Module

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Spot on, Bernhard, we are in complete agreeance here.

I'm looking forward to seeing and testing Bobo's Javascript version, although I must admit I'm wary of Javascript for anything but very simple stuff. 

Any help you can provide with a Flash-based solution would be very helpful indeed. approve
In reply to Martin Dougiamas

Re: SCORM Module

by Bernhard Zech -

@ Ger:
I spoke about SCORM 1.2 only. SCORM 1.3 alias SCORM 2004 alias SCORM with IMS SS (Simple Sequencing) has been released in January, but even co-creators of SCORM 2004  like Claude Ostyn warned at the ADL International Plugfest in Zurich to start with implementations because it contains to much  open points.

In addition I don't like the SS approach because it's still limited to single learner scenarios. In many ways SS is a poor competitor to IMS Learning Design, with is also a IMS specification. IMS LD is much better because with this language you can express also social environments, synchronisation of learner and teacher activities or blended learning scenarios. So when we come to the point that we want to model learning scenarios and "learnflows" in a interoperable and LMS independent way IMS LD  is a much better choice. Please note: IMS LD is really paedagogical neutral because it's up to the learning designer to decide what parts of a learning flow control are "automated" and shall follow hard coded sequencing rules ("conditions", defined by the learning designer)  and what parts are just containers for more or less free negotiated social interactions. IMS LD is very complex and hard to implement so let us start with SCORM 1.2 and interoperable Learning Objects ...

quote: "Question: must this javascript for the API still be the subset called ECMAscript?"
Pragmatic answer: must be a kind of ECMAscript / Javascript which can be correctly interpreted from your target browers(s).

@ Martin:
ok, it's nice to have congruence. We have to discuss how to collaborate and combine the activities.

In reply to Bernhard Zech

Re: SCORM Module

by Ger Tielemans -

I agree complete with you and hope that you will create a very rich SCORM exercise room in Moodle, welcome!

I tried to install the current SCORM modul in Moodlel(from Roberto Pinna) and was looking for a nice example to test I found the Photoshop demo on the ADL-site.
(I failed. so Roberto, what are your small patches, please?)

I must say that the powerpoint slides are impressing in the choices for teachers to give their students individual (re)work lesson materials: nothing wrong with that in our exercise room.


It seems to me that you know very well the state of the art in the standards arena:
I am just a humble and worried Moodle-user, but offer to test all the trials you deliver. Moodle can only grow from your and others efforts. glimlach

In reply to Bernhard Zech

Re: SCORM Module

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Yes, IMS LD is very interesting to me. Here's just a quick link to a discussion about it. smile
In reply to Martin Dougiamas

Re: SCORM Module

by Ger Tielemans -
 (moved to here)

So, nothing wrong with SCORM for doing some exercises and figure out where you stand in the world of fact knowledge and rehearsal.

But I hope we want to learn more than that:

  • Create our first Learning Design in Coppercore

  http://coppercore.org/

  • Read about developments:

http://learningnetworks.org/forums/index.php?s=cead78f4865e4fccfd06c260489ddfc3

  • Find out about the Valkenburg group

http://learningnetworks.org/forums/showthread.php?s=cead78f4865e4fccfd06c260489ddfc3&threadid=115

  • Take a look at eduplone, (Plone on top of Zope) can maybe inspire you for a new Moodle Modul

http://www.eduplone.net/products/learningsequence/index_html?cl=en

In reply to Bernhard Zech

Re: SCORM Module

by Andrea Bicciolo -

About the use of Javascript and Flash togheter, it may be usefull reading following articles from  Macromedia support site about Flash/Javascript communication and browser support:

Articles seems to be dated, anyone aware of changes?

In reply to Andrea Bicciolo

Re: SCORM Module

by Bernhard Zech -
yes, fscommand and liveconnect no longer needed. Summary:
- from Flash to JS use the AS method getUrl ("j avascript [...]"); this could be per instance a call of an external JS function.
- from JS to Flash use setVariable egg. To listen to this event inside Flash use watch egg

In reply to Bernhard Zech

Re: SCORM Module

by Ger Tielemans -

Bernhard,

What is your opinion about the usability of SVG in this part of the arena?

In reply to Ger Tielemans

Re: SCORM Module

by Bernhard Zech -

Ger,

note that I suggested to use Flash resp.the Flash control in this context mainly as a better way to communicate with the server (via Flash Remoting). So far this flash "content" would have no user interface and could be invisible. SVG  resp. the embeddable Adobe SVG viewer in contrast has no comparable communication feature (as I know).

Another question is what we should use when we deliver and show scalable vector graphics and GUIs inside browsers. The clear answer of the market is: Flash. Some reasons are:
- diffusion rate. Flash was faster on the market, SVG viewers came to late
- Amount of data to download the player / viewer
- Available high level tools to create content
- The Flash file format is also open (like SVG), so you can write your own tools (like many vendors do)
- as you know SVG is open and has a W3C recommendation, but the needed Adobe
  viewer is proprietary and "closed source" like the Flash Player.

May be SVG gets a second chance and genuin support with Windows Longhorn. The GUI of this new version will be completely vector based and will be encoded in a SVG "similar" XML file format.

In reply to Bernhard Zech

Re: SCORM Module

by Jorge Dieguez -

. I have been involved with SCORM issues for quite a while and currently I moderate a forum specialized in SCORM and eLearning standards called puntoSCORM at www.eLearningWORKSHOPS.com, a Spanish speaking eLearning Community.

I am happy if you find this code useful for implementing the SCORM API in Moodle. If I can be of any help in your development, please do not hesitate to raise your questions in this forum or mail me at xml_pro@hotmail.com.