Skip to content

Adding SCORM packages to Open edX via SCORMCloud and LTI

February 8, 2015

Do you want to be able to use existing training content in an Open edX course? SCORM – the “Sharable Content Object Reference Model” – is a set of interoperability standards for e-learning software that governs how online learning content and Learning Management Systems (LMSs) communicate with each other. It allows units of online training material to be shared across e-learning systems.

Open edX doesn’t support SCORM natively yet, but here at Jazkarta we’ve successfully integrated SCORM Cloud and Open edX. SCORM Cloud is a third party service that wraps e-learning content in a SCORM dispatch package that can be embedded into an LMS. The gist of this integration is as follows:

  1. Export a learning module from your e-Learning authoring tool as a SCORM package.
  2. Upload SCORM package to SCORM Cloud.
  3. Configure SCORM Cloud dispatch to serve them up as LTI (Learning Tools Interoperability) components.
  4. Use the LTI component in Open edX to add these packages, which are actually being hosted on SCORM Cloud.

The user doesn’t need to login again as this is transmitted via LTI, and the activity is passed back into edX for grading purposes.

Here is a detailed how-to for people who would like to duplicate our work. I found some sample courses in this blog article and used the “Picture Perfect_Simulation Sample” course. Open that course in Adobe Captivate and follow these instructions for prepping, uploading, and using this sample in Open edX. (You can download Adobe Captivate 8 here – a free 30 day trial is available by clicking the ‘Try’ link on that URL.)

Mark interactive elements as graded and assign points

wpid898-media_1423439432060.png

For each interactive element that you want graded, you need to click on the element, click on the Properties icon (in the upper right corner of the screen), mark it as graded in the properties panel, assign a point value that will count towards the grade, and check the Report Answers checkbox.

Set project end action to close project

wpid895-media_1423432715374.png

In Publish Settings -> Project -> Start and End, set the Project End Action to “Close project” (I think it defaults to Stop project). That way the window showing the assessment will automatically close when it’s done playing.

wpid896-media_1423438279635.png

In Publish Settings -> Project -> Quiz -> Reporting, set the Standard form to SCORM 2004, and then click the Configure button.

Give the course an identifier and title

wpid897-media_1423438365903.png

You can optionally give your course an identifier and title. If you skip this step, then all of your courses will have the default identifier “Captivate E-Learning Course” and it will be hard to differentiate between the different courses.

Export from Captivate

wpid899-media_1423440309394.png

From the File menu, choose Publish… and make sure the eLearning output value is set to SCORM 2004, which you should have already set in the previous step. Click the Publish button and it will create a .zip file in the location you specified.

Upload to SCORMCloud

wpid900-media_1423441153174.png

Create a free account at SCORMCloud.com and from the Add Content section of the dashboard, upload the .zip file that you just created.

Tell SCORM Cloud to make it available via LTI

wpid901-media_1423441286007.png

Once the content has been uploaded, you need to create a dispatch that will be used to make it available via LTI.

Create a dispatch

wpid902-media_1423441822304.png

If the first time, click Create New Destination.

Create a destination

wpid903-media_1423441862466.png

Enter ‘Open EdX’ as the name. On subsequent times you can click Add Existing Destination and choose Open EdX. This name can really be anything – it doesn’t need to be ‘Open edX’.

Export dispatch as BLTI

wpid904-media_1423442143729.png

From the Dispatch screen, click on the Dispatch that you just created, and under Export your dispatch, click the BLTI button

Capture the BLTI information

wpid905-media_1423442253917.png

You should see a pop-up with information about the BLTI endpoint URL, key and secret key. Make a note of the URL, Key, and Secret that it displays

Enable LTI in your Open edX course

wpid906-media_1423446914909.png

Login to edX Studio and go to your course, and select Settings -> Advanced Settings. For the Advanced Module List, add “lti” to enable adding LTI components to your course.

Add an LTI passport entry

wpid907-media_1423447130599.png

On the same Advanced Settings page, scroll down to the section entitled LTI Passports, and add a new entry in the form:
lti_id:client_key:client_secret where the client_key and client_secret are the key and secret that you got when you made the BLTI dispatch in SCORM Cloud. The LTI ID can be anything (no spaces) – it’s just an identifier that will be used when we add an individual LTI component to our edX course.

So for our last example, it would be:

[
“pictureperfect:5f82ddc4-ff27-45ab-b2ab-02fa929e9e34:MHDEcqX4HTz6ZOk6FJNpdxxxxxxxxxxxxxx”
]

Note: you need to add a new entry for each course in SCORM Cloud that you want to embed in an edX course. It’s annoying that this is an extra step required for each item. Open edX assumes that an LTI provider will have one key/secret combo for all courses, but SCORM Cloud uses a different one for each course.

Add a new LTI component in your course

wpid908-media_1423447746722.png

Go to your course outline: Content -> Outline and navigate to where you want to add the LTI component containing your SCORM Cloud exercise/quiz. Click the New Unit button.

Add an advanced component

wpid909-media_1423447853259.png

If you’ve enabled Advanced Components for your course, you should see the Advanced Component button appear when you add a new unit.

Choose the LTI component

wpid910-media_1423447963126.png

Edit the component to set the values

wpid911-media_1423448041431.png

Configure the LTI component settings

wpid912-media_1423448220826.png

For LTI Application Information, you can type “SCORM Cloud” or whatever you want in this field. For LTI ID, this needs to match exactly, the LTI ID that you used in the LTI passports entry. The LTI URL for SCORM Cloud should be set to http://cloud.scorm.com/sc/blti

The Open in New Page setting should be set to True.

More LTI component settings

wpid916-media_1423449382811.png

Make sure that you set Scored to be True and assign a weight that you want it to have on the total grade. You can also set a Display Name if you want.

Preview or Publish your changes

media_1424039696280.png

Once you’ve added the component, you need to click the Preview Changes button or Publish it to your course.

Login as a student and try the exercise

wpid914-media_1423449098174.png

Now we can login as a student and test it out. When you navigate to the page, there is a link “View resource in a new window”. Click on this button to launch the SCORM Cloud exercise in a new window.

Take the exercise

wpid913-media_1423448750594.png

You then take the exercise and SCORM Cloud is tracking your activity.

Complete the exercise

wpid915-media_1423449188409.png

At the end of the exercise, it will compute a score for you, and if the score is above the threshhold to get a passing grade, then get a “Pass” grade.

See score in edX progress page

media_1424034133393.png

This grade is sent back into edX and can be seen on the student’s Progress page. Please note that these scores don’t match because I took a screenshot of a different student.

Caveats

1. Make sure that your Open edX site is at an internet address that can be reached by SCORM Cloud. This means basic auth must be disabled and if you’re using SSL, that you have a real SSL certificate, not a self-signed certificate.

2. A fix to the edX code which parses the SCORM Cloud request handle a non-standard (well, old standard) XML namespace that it uses. https://github.com/jazkarta/edx-platform/commit/ebcf93002557176102df2bf93ab79a979aaf0fba

3. A fix for edX’s validation of the oauth signature (https://github.com/edx/edx-platform/pull/5016)

 

Get involved

We invite you to join the conversation on the edx-code mailing list about SCORM support in edX, and feel free to reach out and contact us if you are looking for professional help with edX.

Or if you want to take Open edX for a test-drive, you can get a free trial from our partner Appsembler.

14 Comments leave one →
  1. April 3, 2015 6:19 am

    Hi,

    These are useful steps.

    One query: Can these or similar steps be used for any LTI supported LMS integration? Or they are very specific to Edx?

    • April 3, 2015 11:37 am

      I believe that most of the steps would be the same for any LTI supported LMS. Which LMS are you using?

      • April 3, 2015 12:23 pm

        Canvas LMS

      • April 6, 2015 12:41 pm

        Yeah, Canvas is very LTI friendly so it should be no problem to use it with SCORM Cloud.

      • Poonam permalink
        April 27, 2015 3:00 am

        Hi,

        Thanks for your help. I was able to integrate SCORMCloud course in Canvas. However, after taking the test, I am unable to see the scores/grades on Canvas. Any idea on how do I view the score?

        Thanks for all your help as always.

  2. Leonardo Violante permalink
    August 7, 2015 4:42 am

    Hi,
    we are trying to test Scormcloud on open edx (both on birch and cypress version). We are having difficulties in performing final tests on courses. We are unable to see grades/scores.
    Furthermore, the “progress” page does not show any scores achieved through ScormCloud.
    We are currently using an http website, if this can be of any help. Please help us find a solution.
    Thank you very much.

  3. Leonardo permalink
    August 7, 2015 5:36 am

    Hi,
    we are trying to test ScormCloud on open edx (both on birch and cypress version). We are having difficulties in performing final tests on courses. We are unable to see grades/scores.
    Furthermore, the “progress” page does not show any scores achieved through ScormCloud.
    We are currently using an http website, if this can be of any help. Please help us find a solution.
    Thank you very much

    • August 7, 2015 9:45 am

      Hi Leonardo,

      Do you have https set up for your Birch and Cypress sites? Since SCORM Cloud uses https, I believe that in order for the API calls to work, your edX site also needs to be on https and publicly accessible on the Internet.

      Did you apply the LTI patch to handle the LTI namespace that is used by SCORM Cloud?
      https://github.com/jazkarta/edx-platform/commit/ebcf93002557176102df2bf93ab79a979aaf0fba

      Nate

      • Leonardo Violante permalink
        August 10, 2015 5:12 am

        Dear Nate,
        thanks for your answer. Once applied the LTI patch, which certificate shall we use? Any hints on that?do you kow any authoring site that would issue a suitable certificate? Thank you again for your kind support.

        Leonardo

      • leonardo permalink
        September 17, 2015 9:44 am

        Dear Nate,

        those listed below are the available certificates:
        SSL123 Certificates
        SSL Web Server Certificates
        SSL Web Server Certificates with EV
        SGC SuperCerts
        Wildcard SSL Certificates

        Which one is the most suitable to get the LTI module working with SCORMcloud in OpenEdx (Cypress version)?
        Looking forward to hearing from you

        Leonardo

Trackbacks

  1. A Lot of Content on SCORM? Well, There Is a Way to Export It to Open edX | IBL Studios Education - Open edX Ecosystems (Platforms and Courses)
  2. A Lot of Content on SCORM? Well, There Is a Way to Export It to Open edX | amigot.com
  3. Open edX Q&A FAQ : Appsembler
  4. Getting SCORM content into Open edX with the SCORM XBlock - Appsembler : Appsembler

Leave a reply to Nate Aune Cancel reply