The cmi5 specification calls for a “returnURL” to be placed in the State API document. What is the cmi5 returnURL? How is it used? In this article I will attempt to end the confusion.
The SCORM Pop-Up Window Problem
One of the problems with SCORM is pop-up windows. Without a doubt the most frequent call to our help desk is about pop-ups in SCORM content. We frequently hear “The content won’t open. I click it and nothing happens.” Nine times out of ten, the problem is a pop-up blocker. It is not uncommon for a student to have more than one pop-up blocker installed and we have to hunt down each one so the student can launch e-learning. In addition, the mobile world frowns upon pop-ups and often they are often not supported.
The cmi5 returnURL property
The cmi5 committee decided early on that we were going to attack this pop-up problem. So the cmi5 returnURL property was created. The idea is that the LMS can open cmi5 content in the same window as the LMS. This means the LMS goes away and content appears, without pop-ups. When the content is finished, it simply redirects the browser window to the address provided in returnURL. This should re-open the LMS and the student can continue on to the next AU. Simple.
But what if I specify “OwnWindow”?
The cmi5 course structure contains a property called “launchMethod”. Some content developers believe this means their content will open in a pop-up window and they can ignore returnURL. Sorry, but that is not what it means. Section 8.1 of the cmi5 specification is quite clear about this: “OwnWindow” can mean:
- The LMS may spawn a new browser window for the AU (i.e. using a pop-up), or
- The LMS may re-direct the existing browser window to the AU.
Option 2 is actually the best practice.
So how do I know when to use the returnURL?
If the returnURL is provided by the LMS, the AU “MUST” use it. The AU can never assume it is in a pop-up window… this is not SCORM. If you ignore it, you will leave your students hanging… your content has ended and the LMS window has gone away. Not good.
For more information on cmi5, be sure and check out this blog’s xAPI and cmi5 category.