E-learning on crutches. Fixing courses from Articulate Rise

The market is saturated with various programs for the development of electronic courses - authoring tools (authoring tools). There are products for all tastes: want a program to simply convert e-presentations to HTML5? Yes please! Do you want to make one-page pages in an editor like Tilda? Hold on! Want to make an Interactive Fiction style toy? Who will forbid you, dear? Any whim, as they say.



Each authoring tool bears on its side with ease of use. A developer without any technical background can easily glue an e-course and publish it in LMS.



But is everything really so smooth? What to do when seeming simplicity unfolds and shoots you in the knee?



Let's dissect some popular tools and see what unpleasant surprises await naive Instructional Designers. A session of black magic followed by its exposure, so to speak.



This article is about Articulate Rise.



What it is? Cloud service for developing long reads. Like Tilda, only focused on e-learning. Take content, take ready-made components and create a web page in a visual editor. Add electronic tests and export in the format you need (according to the desired standard). Simple, fast, intuitive. Raisins. Here's an example .



And what's the problem, you ask?



Well, gentlemen. Have a seat ...



How to kill a cover page



Let's start simple. Here, put yourself in the user’s place. You walk through the LMS, find a course in the catalog, look, admire the picture on the banner, read the description. Understood: I want! Click "Start". And instead of immediately getting all the most delicious, you are offered to look at the banner again, read the description and click "Start". Unpleasant? Now, it pisses me off. Moreover, the creators of tools did not guess to make the checkbox “remove the title page” in the developer’s interface.



So the first crutch



  1. We export the course.
  2. Open the scormdriver / indexAPI.html file
  3. Find the variable strContentLocation . This is the URL of the first page to be shown to the user. By default value



    scormcontent/index.html#/preview/


    In order for the user to go directly to the "tasty" one, after the hash, you need to register the lesson ID.



    How do you recognize him? Just open scormcontent / index.html in the browser, go to the first lesson and copy the value from the url. Everything after the hash. You should get something like:



    scormcontent/index.html#/lessons/rri34kKfn2348234


How to fix content in the course without access to copyright



Situation. The subscription has ended, the sources are not shared, and the already exported course urgently needs to be corrected. Does this happen? Sometimes, alas, it happens.



Crutch



  1. Export course
  2. Open scormcontent / index.html, find the variable courseData . It contains all the course data in base64.
  3. ( notepad++) JSON. . , lessons.
  4. courseData base64.
  5. , . , , . .


-



Rise allows you to embed a frame in the course and display web pages in it. The problem is that it can be either a course collected in Storyline (another authoring tool from the same company), or a site accessible at an absolute URL. But there is no way to put a web page in a package with a course and link to it relative to index.html. Moreover, if you try to write an absolute link, export the course, and then change it to a relative one, as described above, nothing will come of it. Rise will check the URL before rendering the page and if there is no substring “: //” in it, it will just bend quietly.



Crutch



  1. Add an object from Storyline to the page
  2. Find out his id. Either by the method of scientific poking, or through courseData .
  3. We export the course. Find a folder in scormcontent / assets with the corresponding id.
  4. We replace the contents of the folder. Save our page as story.html


Remove the course name from the subject line when clicking on the mailto link



When I first encountered this, I started smoking. For some reason, Ryze's creators decided that the user would be delighted if a subject with the name of the course was added to links starting with mailto without asking. Naturally, there is no option that prohibits this in the interface.



Crutch



  1. Exporting the course. Open scormcontent / lib / main.bundle.js.
  2. We find in all this mess the substring



    (w="mailto:".concat(E,"?subject=")).call(w,o)
  3. Change to



    (w="mailto:".concat(E,"")).call(w,"")


Making Rise give LMS more feed data and do it better



Yes, I am still working on SCORM 2004 4th edition. Moreover, I like this standard. But I do not like how the creators of some copyright tools interpret it. Ryze, for example, sends a pitiful bunch of variables to the LMS, and does this only before the session is terminated (one single Commit () before Terminate () , for those who understand).



For example, I want a course as it plays to store the user's progress in the LMS so that it can be output to the LMS interface, not just the sidebar counter within the course itself.



Crutch



  1. Export course
  2. Open scormcontent / index.html
  3. Add the values to the array stuffToPick :



    
    stuffToPick = [
        ...,
        "CommitData",
        "GetProgressMeasure",
        "SetProgressMeasure"
    ]
  4. We add the function setCourseProgress :



    
    setCourseProgress(courseProgress) {
        var lastProgress = LMSProxy.GetProgressMeasure();
        if (lastProgress < progress.p/100) {
            LMSProxy.SetProgressMeasure(progress.p/100);	
            LMSProxy.CommitData();
        }
    }
    


  5. As a bonus, you can force the course to commit more often to prevent data getting stuck when the session is broken. To do this, add LMSProxy.CommitData () ; in the config of the completeOut , and reportAnswer functions .


I hope you find this material useful and you can make your courses more beautiful and convenient.



Next time we will mock iSpring.



All Articles