I’ve been looking for a way to export a Moodle course in a format that can be ingested in another standards-compliant LMS. The obvious choices are SCORM or IMS-CP.

But, neither are supported as export formats from Moodle. Moodle happily ingests those formats, acting to absorb content into what then becomes an inescapable pit of quicksand. It’s a one-way trip. Content can check in, but it can never leave.

If Blackboard did that, there would be villagers marching in the streets with torches in hand. The Blackboard SCORM import/export stuff might not be perfect, but at least they try to let people move content out.

With Moodle, it’s currently a vendor lock-in proposition. The only saving grace is that the vendor just happens to be an open source project. But it’s still lock-in.

I’m really hoping I’m missing something obvious, but having the only information about SCORM exporting on the Moodle website be a few comments in the forums (one of which jokes “why would you want to leave Moodle?”) isn’t exactly comforting. Standards are only good if they’re used bidirectionally. Standards used to promote lock-in are nothing but tools of oppression. OK. So it’s not as dire as that, but you get my point.

photo credit: Jef Poskanzer

39 replies on “Moodle and SCORM Export?”

  1. D’Arcy,

    Out of curiosity, can you export a course from BlackBoard into moodle? I was under the impresson, that outside of the Free BlackBoard hack, you couldn’t really port Bb courses, am I wrong? Won;t be the first time, but it is good information to have before I try and bring that LMS giant to its knees 🙂

  2. Since Moodle is GPL’d, you’re free to add, or pay to have somebody else add, the functionality you desire. As with any project, there are priorities and roadmaps; perhaps the core developers simply chose to focus their early efforts on other features. Perhaps if the moodle project had the employees and resources of a Blackboard, Inc., your criticism would be slightly more justified. I assume you’ve submitted a feature request or bug report?

  3. @jim: even if Bb doesn’t like to do it natively, there are ways to get the job done.

    @todd: the “it’s open source, build it yourself” response doesn’t help the vast majority of Moodle users or administrators. Yes, I could hack the code myself, or pay someone else to hack it. The point wasn’t that it wasn’t possible to add this functionality, but that the app is currently acting as a tar pit. Which is a bit odd, considering the openness of the code and the community. I just filed a bug/feature request on this.

  4. @jimgroom you can’t export a “course” out of…*any* of these systems and get it to work whole hog in any other, because there has never really been an effective standard for doing so (e.g. presuming a course is more than just the “content”- current instructional standards have never addressed things like discussions, assignments or other tools.) More recent things like Common Cartridge, Tools Interoperability and Learning Design all have something to say about interoperability at this higher level of “courses” but right now none of those totally do the job (and the levels of implementaion for these is all over the map)

    So D’Arcy here is specifically talking about “course content” and he’s right, currently Moodle does not export course content as either IMS Content Packages or SCORM. Please, please, somebody prove me wrong, because for better or worse, CP is currently the best we’ve got in terms of its support for moving content in and out of these CMS silos. And I have multiple Moodle installations in the province that people hand me “Moodle exports” from and say, there you go, make these work in all the other CMS environments.

    To be fair to both Blackboard and WebCT, you can get “modules” out of both as Content Packages. They F%$# around with the spec just enough to make these difficult to re-use simply in other CMS, but it can be made to work.

    The 3 lines I’ve always heard from the Moodle camp on this are:
    – the pedagogical model that Moodle promotes is such as to not be conducive to encapsulation by the content-centric models of SCORM/IMS CP (I don’t totally buy this but I cede the point partially, it does come at the issue from a different angle let’s say)

    – as the commentor above says, if it is important to you, do it yourself, it’s open source (which seems slightly disingenuous, because the same people who say this always oversell the lack of need for technical chops to adopt ‘mature’ open source like moodle with the argument that a big enough community will see you through. Still, he’s not wrong, per se)

    – and finally the one I love the most, why would anyone ever want to leave Moodle? And if it’s just a question of moving between Moodle installs, the Moodle export format does the job handily.

    What I do find most frustrating, though, about this post is that I’ve been trying to get attention about this for years. It *is* easier to solve the problem by simply saying “well don’t use CMS” which largely seems like the edubloggosphere’s response. I’m not disagreeing with that argument either – content interoperability formats like CP and SCORM are a question that is begged by the existence of the CMS in the first place. Unfortunately for many of us, that is still the reality we have to deal with. The shame is that SOO many people have become partically aware of the issue without really doing anything about it – they’ll even write “SCORM/IMS” into their RFP’s, but then accept vendors word for this or test it so unrigorously that they only realize the pickle they are in once they have to migrate yet again. Sigh. I will end the rant here. If at least post like this raise awareness of the issue (and hopefully, by osmosis at least, the incredible ease of moving content that people like Jim and the COSL folks are consistently demonstrating using other, free, non-CMS open source tools) then that’s a good thing.

  5. @D’Arcy understood, but whining about it doesn’t help either; submitting feature requests/bug reports does. Thank you for taking the time to do so.

  6. I’m in the middle of this very topic now, with our web-based learning application. To be honest we didn’t design SCORM compatibility in from the start because of my doubts as to the medium-term viability of the course-centric, command and control, centralized LMS model. Philosophically, that just isn’t where we’re going.*

    Now we’ve just launched our beta, and when I present our decentralized, bottom-up, non-hierarchical, social constructivist approach, everyone applauds and then wants to know about SCORM and moving content into/out of Blackboard. Sigh.

    So now we’re looking into how to import and export, and it isn’t trivial. I still don’t believe in the future of the overall LMS model (or, at least how it has been implemented so far). But from a practical standpoint we need to be open, and right now that means SCORM.

    * plus it was a big job and we’re tiny ;-).

  7. Wow, Scott, what an awesome comment. So useful for to frame these questions with context, experience, and a solid understanding of both sides. This is enormously useful, so thank you!

  8. I guess if institutions/organizations want to get around this problem, the answer is to develop outside of the CMS and store the content in a object store like Bluestream. D’Arcy, I know you have mucked with that before as did the Open Learning Agency—the process is not an easy one and the benefits are questionable.

  9. Gerry, I’m sorry, but that is the most pie-in-the-sky answer that has NOTHING to do with the actual cottage-model of course creation on campus. This was the whole damn problem with the SCORM learning object model in the first place, is that it came out of an industrial assembly-line model of training that higher ed blindly walked into. Sorry, but I *hate* that answer – for better or worse, one of the reasons the CMS got in the door in the first place was to make putting web courses/content *easier* for individual instructors. To then turn around and say “oh, but if you want to actually have the content be re-used, build it outside” is just so wrongheaded and letting the wrong people off the hook. So is the bullsh*t answer of “well, the CMS was never meant as an authoring environment.” Whatever! Sorry Gerry, I know this is probably meant well (and clearly, the venom in my response is engendered by far far more than your comment, 5 years more of this crap) but this is not the answer.

  10. @gerry: it is possible to author content outside of the LMS and import it, but maintainability is a complete PITA. I would have to teach people how to use the LMS in order to manage the course, how to use the authoring environment (eXe? Lectora? something else?) and how to export content from that, how to import the content into the LMS, and how to update/replace the content when changes are needed.

    @scott: I completely agree – one of the most powerful reasons for using any LMS is that it’s so darned *easy* to author content. In fact, it’s so easy that it makes the scenario attractive enough to ignore warts such as proprietary lock-in.

    There are definitely ways to move *bits* of content between systems, even just by copy/paste in the worst case scenario, but spending lots of time building stuff in a course only to have it locked in is not an attractive proposition.

  11. LOL – I totally agree with you Scott and D’Arcy. I only said that it was an option and I am glad I am clear of the IMS stuff at this point. Apparently the process works for some people.

  12. ok, glad to hear that Gerry, was worried I may have scared you for life with my last rant 😉 “I am glad I am clear of the IMS stuff at this point.” -if only I could say the same, someday I may be as happy as you.

  13. Hello, D’Arcy,

    Coming late to the conversation — we actually had a similar conversation regarding SCORM at DrupalCon — as Scott points out, the SCORM spec gets abused by most of the implementors who use it to accomplish 2 main things:

    1. a checkoff item: we’re SCORM compliant! Wheee!

    2. lock in: Our SCORM packages work perfectly within our application. To paraphrase the Moodle argument: why would anybody ever want to leave Blackboard?

    The SCORM spec is so unwieldy that a universally clean implementation with sane defaults on errors is pretty unlikely. FWIW, we’re working with the Open Source Labs on writing up a Summer of Code project that will establish clean export of targeted content between Drupal and Moodle — the project spec still needs to get sharpened, and then it’ll need to be accepted as a project, and then we’ll need to get students to code, so we’re a few steps away, but at the very least we’ll have a clean spec that can be used as a starting point for development.



  14. The SCORM spec is so unwieldy that a universally clean implementation with sane defaults on errors is pretty unlikely.

    Agreed. SCORM is just nasty all around. Creating a package that imports into all the different systems out there is a nightmare.

    Wasn’t there some concern that IMS-CP runs afoul of Blackboard’s patent, which (for now) has been upheld in court?

    The Moodle backup file format is (reasonably) clean XML. I’d guess (with emphasis on the “guess”) that it wouldn’t be too hard to write a script (or maybe even an XSLT transformation) to snarf the data out of it and repurpose it.

  15. Hi all, Moodle by default exports to an open XML standard (moodle.xml) with the file system. There is no encryption on this XML export, and anyone is free to write a conversion tool that reads moodle.xml and converts it into another format – as Rolf aptly describes.

    Open source projects generally don’t run with large profit margins or capital funding, so new features need to have either a source of funding or a source of development, documentation, and QA resources.

    Moodle hasn’t had the benefit of large, open ended grant funding, so larger scale development tends to be very focused on the goals of the funding sources – generally larges institutions like OU, NZVLE, Intel Education, CIE, etc. who need specific functionality added to Moodle on a tightly managed budget and timeline – these projects are more focused on adding more functionality to Moodle than to building export formats – esp. because Moodle’s existing export format is not that hard to read and if need be convert from one XML format to another.

    The SCORM format is so limited in it’s ability to support the full range of Moodle (or Blackboard) features that my personal opinion is that building a SCORM export tool would be more of a marketing talking point than an actually useful feature for most people using the LMS- folks would constantly be complaining about all the functionality that can’t supported in the SCORM specification:-(.

    If D’Arcy or others can put together a grant or other source of the development resources to build and release a solidly coded and well tested and documented IMS CC export for Moodle, then folks in the Moodle community would be happy to include it – a decent export format would really need to be IMS Common Cartridge, though, IMO.

    We in the Moodle development community are really working very hard to give the user community the best LMS we can with the constraints of time and resources – we would love to work on a project to provide a good IMS CC export from Moodle – I’ve been trying for years now with Jason Cole, Jim Farmer, Martin Dougiamas, Martin Langhoff etc. to put together a project to provide IMS CC export for Moodle – the lack of it is not for lack of good faith or desire on the part of the Moodle development community – however it is not a trivial project and generally non-trivial projects need to have a way to provide dedicated resources over the lifetime of the project to be successful.

  16. Michael, thanks for your great response! I never intended to imply any bad faith in the Moodle Dev. community – believe me, I know how hard implementing SCORM is (I implemented SCORM complete with AICC on a commercial LMS a few years ago).

    IMS CC does sound like the ideal export/imort/interchange format (and certainly much more flexible and complete than SCORM, by including IMS QI etc…) – but does anything implement that yet? The IMS site for the spec still seems rather draftish. When it goes “live” this summer, things could really get interesting!

  17. Michael, good response, I agree. We’ve talked before about this, I may be in a better position now to collaborate on this (and as you indicate, Common Cartridge is likely the better target anyways). Let’s talk at some point. And if you know of anyone who has done work on *exporting* Moodle content as either CP or CC, would love to hear about that too. Cheers, Scott

  18. By the way, the optional Moodle Book module now has an “Export to IMS CP” button – it is a very nice tool for developing content in, so that may be a good option for moving content from one system to another.

    In fact, that makes Moodle itself a nice free tool to develop IMS CP content for other systems:-).

  19. Hi, is there any update on this? I would like to export the latest Moodle forum content for specific courses and echo it in a new system we are building. Can I do this directly via the database?

  20. Me and my team are currently working on the same. And hopefully in a month or so we will release our first version of the Sitact’s SITACTION module where you will be able to export a learning path in from moodle to any other LMS of your choice. It wont be a oneway any more.

    Happy Moodling

  21. Dear all,

    I have developped a CMS for a school and I would like to know how to go about exporting in scorm in PHP.

    Any library or code that could help..?


  22. I am relatively new to SCORM etc myself and am coming to it from a SW firm that creates and sells a proprietary server/client authoring + LMS suite into a targeted and narrow (but fairly lucrative) market.

    Within our market our SW is well-received and generally considered the “go to” solution. In short, while we might be evil money grubbers to the greater LMS community, we are also no newcomers or slouches when it comes to the general problem/issues/technologies/etc.

    We recently agreed to add SCORM-compliant export to our Authoring tool, primarily because product managers, sales, and marketing insisted it would be sexy and it would generate sales (and a lot of customers have to be able to say to their own chain of command that “Yes, this solution can generate SCORM compliant courses!”, even though none or very few of them have any intention of jumping into the SCORM quagmire.

    Our overall experience with SCORM and most the LMS standards is that while the goals are lofty (and worthy) and there’s no lack of effort to pull it all together, that overall the situation is a colossal hairball and that at least SCORM itself is, as one other poster put it, a tar pit.

    Personally I fail to see the advantages of a standard that isn’t even a true standard because it keeps changing and they routinely abandon backward compatibility (in small but significant ways), when it is so monstrously complex that interoperable (much less certified complaint) implementations must therefore (and by definition) be monstrously complex, and a standard whereby any useful solution in the end devolves to one that is compliant but offers (and encourages) so many non-compliant extensions that they are essentially proprietary solutions themselves.

    I feel great empathy for the Moodle community. We have avoided Moodle altogether because like others we scanned the glossy print, realized it was not a SCORM compliant implementation, and moved on. So I both have no experience with nor any comments about Moodel specifically.

    My observations are directed more generally at the space as a whole and at the SCORM community in particular.

  23. Folks,

    I think people are really getting the wrong idea about AICC and SCORM ‘formats’. Folks appear to talk about them like there are capable actually holding all of a course’s information. They can’t. AICC (a collection of .ini and .cvs files) and SCORM (an XML file) only hold the most basic of information common to all (online) courses.

    AICC only holds a title, id, and description for the course and title, description, and URL for the individual units. That’s it! All other fields are related to CBT launching and tracking. SCORM offers little more in terms of actual inputted information. Even the most basic information such as duration, credits, notes, meta-tags, vendor, prerequisites, versioning, questions/responses, skills, materials, etc., do not exist within these files.

    I think folks might want to seriously look at what they would actually get from this. Anyone using the AICC export/import functionality quickly realizes that it is all but useless in transfering information around. It simply doesn’t store much. SCORM would do little better.

  24. OK. good point. the problem should be rephrased as “is there a way to get content out of Moodle in a way that can be ingested into another platform without having to copy and paste a few hundred separate pages?”

  25. Stop blaming Moodle, blame yourselves. The best learning package to this date is SCORM 2004. The problem is that it is not easy to implement SCORM 2004 for most companies without experience in this area, so they rely on the Pre built templates (Quize, survey, etc) of their LMS instead of basing each project on SCORM compliant sub sections.

    There is a solution
    People need to base all of their courses on SCORM complaint content. That means you can’t rely on the Moodle template activities (or added modules) for course creation. You have to more rigorously manage each activity and asset for SCORM compliance and sequencing. To this point in time, Flash -> javascript applications lend themselves quite well to SCORM data transfers. The question is, can your company build an Actionscript project that implements SCORM? Can your company take existing content, modify it to export SCORM compliant variables. Ours can.

    If you need expert consultation on risk reduction in software projects relating to SCORM compliancy, please email me.

    Mark Kesley
    Independant SCORM compliant/Flash/Javascript developer
    (Email for samples)

    1. There’s the rub. You can limit yourself to painting by numbers, as supported by the archaic SCORM spec and possibilities of AICC etc… OR you can focus on supporting and engaging in meaningful learning activities. Which become tied to a specific platform because there is no way to import/export those complex and organic interactions in any meaningful way.

  26. Nice comment Mark, not self-serving AT ALL. Don’t blame the product vendors, the spec is too complicated, but DO trust the spec, and those specialists who can profit from developing in it.
    Nice logic.

    SCORM is an answer begged by the question of Learning Management Systems, themselves a beeged question of how to do online learning in a “protected” way. All over the web we see examples of people taking content, getting it to show up in other places, or reusing it easily, without arcane specs like SCORM. Yes, arcane.

  27. RE: “People need to base all of their courses on SCORM complaint content.”

    So, the spec should drive the format/shape/process of learning?

    I get it now. It makes perfect sense. And here I was thinking that the needs of learners should be primary.

    Palm Forehead!

    Thanks for the clarification.



  28. As moodle’s main OS competitor, we ATutor developers having been waiting patiently for moodle to implement some kind of standard exporting so current users could get their content out of moodle and into ATutor, or into any other system that support open content standard for that matter. Not realizing the importance of two way interoperability, many moodle users find out too late that they are “locked in.” Too often I hear, “…it would be too much trouble to switch systems”

    While SCORM is one potential means, its really not the best way to move content around in an interoperable way. SCORM serves its purpose as a standard way of presenting and distributing learning content, but it is quite limited in it pedagogical adaptability. More appropriate for content interoperability is IMS CP, and on the assessment side, IMS QTI. Once these components can be imported, exported, authored, knowledgeable e-learning practiioners should be able to use features of the LMS the content imports into to take care of the pedagogical aspects of teaching and learning online.

    Since 2003, ATutor has had content packaging importing, exporting, and authoring. You can get your content out of ATutor and into moodle, no problem. The other way around, you’ll have trouble. The ATutor code is there for the taking if moodle wants to implement true interoperability. And now, ATutor has implemented the IMS Common Cartridge specification (compliance confirmed by IMS). You can author common cartridges, export them for use in other ATutor courses or in other systems that import cartridges, and you can import cartridges from other sources and customize them to your teaching needs. Again, moodle if you’re listening, the ATutor code is there for the taking. To complicated is not an excuse, but rather a ploy to prevent moodle users from “escaping” to another system. I’d challenge moodlers to make their system truly interoperable, and we’ll make our code available to do it.

    1. Thanks for the info, Greg! I’ve used ATutor (a couple of years ago now – I’m sure it’s changed a lot since then) and will definitely try it out for a future project. The ability to export content is pretty key – import without export is just lock-in.

Comments are closed.