Thursday, November 17, 2011
Goodbye *.swf hello student cheating
There's just one small thing that's been on my mind however, something we've taken for granted. The SWF File format provided us with a 'reasonable' amount of security in terms of hiding answers to questions. It's far from secure, all you need is the ability to download the file, decompile it, and root through the source. However, this process for students is more cumbersome than actually just learning the material, not to mention technology that they're probably not familiar with.
As we move towards a Javascript, XML, HTML system for providing Assessments, we may find that increasingly web sophisticated students will find it easier to access answers to questions. You may not realize how quickly a determined student could root through your client side code, but any web familiar individual looking for a quick grade will find it quite easy to exploit your unsecured method of storing answers.
Tools like Quizmaker, or Captivate have provided us a fantastic way to create portable Learning Objects. Now, for reasons of security we may be forced into using our Learning Management System's proprietary Assessment Engine, limiting the shelf life and portability of our content.
Friday, November 4, 2011
Access Score Variables from an Articulate Quizmaker Quiz
Well, assuming you've loaded the quiz into a MovieClip "_root.myContainer" here you are:
Score in % = _root.myContainer.g_oVariableMgr.m_arrVariables[7].m_nNumber
Total Points Awarded = _root.myContainer.g_oVariableMgr.m_arrVariables[2].m_nNumber
The Passing Percent = _root.myContainer.g_oVariableMgr.m_arrVariables[5].m_nNumber
The Passing Points = _root.myContainer.g_oVariableMgr.m_arrVariables[6].m_nNumber
Total Max Points = _root.myContainer.g_oVariableMgr.m_arrVariables[4].m_nNumber
Total Answered Max Points = _root.myContainer.g_oVariableMgr.m_arrVariables[3].m_nNumber
Enjoy!
Thursday, October 13, 2011
Combine multiple SCORM packages into one
I had to find a way to quickly combine the modules I had exported from Dokeos (which was using learning paths) into one SCORM package. The tracking of each individual SCO was not neccesarry in this instance as it would only have a final assessment that needed tracked. My first thought was to launch RELOAD and start building a new package using all the exported files and my knowledge of the structure of the course. RELOAD however seemed to suffer from slowdown as soon as I was dealing with lots of items, I quickly became frustrated with having to wait to add a new page or module, so I began thinking about a faster way.
I loaded up a couple of exported IMSManifest files that I had exported from Dokeos. One thing I immediately noticed was that the “identifierref” attributes used in the files were numbered and unique. With that knowledge I figured the fastest way to combine Dokeos exported SCORM packages into one package was to manually cut and paste the XML files together. (or to use a script to do this that I should really just write and put online for others to use… will certainly update you if that happens) Anyways, for those proficient with XML here is what I did:
- The first XML file will be your starting point, wrap all the <item>’s of this manifest into one <item> tag.
tip: replace the <organization> tag with<organization identifier=”some id”> <item identifier=”some id”>, and then replace the bottom </organization> tag with </item></organization>. - For each package you wish to add, create a new <item ></item> and paste the items from that IMSManifest into your new <item> tag.
- For each package you wish to add copy all the <resource> information and paste into the main file’s <resources>
If this solution doesn’t help with your problem Dave Mozealous also has a solution that may be what you are looking for. See: http://www.mozealous.com/repackaging-articulate-content-to-allow-multiple-scos/
Monday, October 3, 2011
Missing Files from an Exported Dokeos SCO
I was working on moving content from Dokeos to Operitel’s Learnflex LMS when I noticed that there were missing assets from Dokeos’ exported packages. I was not familiar with how the original courses had been developed, if they were built offline or by using Dokeos, but for some reason or another, the course relied on assets that the Dokeos system was not aware of.
While I have not discovered why this occurred, I did find a very quick way to resolve this problem and have a working SCO that I could transfer into another LMS. The solution relied on using both Dokeos’ SCO export, and its document file export.
- From the learning path Export the required SCO

- Unzip the SCO and take the IMSManifest.xml file you’ll find inside and copy it to a new folder. You can then delete the zip you downloaded.
- In that new folder create a folder called "document"
- From the course home go to documents
and select save (zip)

- Unzip all the contents and copy the files into the “document” folder you created
- So your new folder should have the imsmanifest file and a document folder with all your content, simply zip these together and you will have yourself a working SCO!
Wednesday, September 28, 2011
Improving the Modern Learning Management System
Users of any online system are constantly providing essentially data regarding their habits and needs, most Learning Management Systems are just now starting to take notice of this data to build a learning environment that follows its learner’s path through products, time spent on content, and performance on assessments to provide a system that organically adapts to the specific individual.
By moving away from a static system of delivery to a system that understands and adapts to its user’s behavior we can provide a presentation to facilitate better learning. Think about it from an in classroom environment, the Teacher knows their students and can adapt lesson plans and one on one communication directly based on the needs of the student. Alternatively, the students as a whole provide valuable feedback to the teacher regarding their understanding of the material.
Let’s evaluate a couple key specific functionalities a LMS should supply to meet this demand:
- Easily establish relationships from Questions to Content and report back to the learner suggestions for further reading based on their performance on course questions.
- Determine popular content through tracking of page hits, time spent, or user based ranking report back to the instructor this information to allow for improvement of the course.
We can expand on this through a variety of functionality, some of which has been available through SCORM but should be better incorporated into the LMS itself:
- Time tracking - Allow the user to set the amount of time they want to spend on each lesson, provide feedback to them on how much time they have spent so far
- Automatic Content Notifications – When new content is added to a course the LMS should automatically display this to any interested Students
- Lesson Plan Recommendations – Using a data relationship between offered products the LMS should be able to recommend enrollment in other courses based on current enrollment and completion
- Most recent interactions– Instead of simply content bookmarking, the LMS should be able to provide a reminder to learners of their most recent activity within the system
As a developer I can spend the time to create a SCO that stands on its own and offers most of this functionality using javascript, or even some server side code, but this functionality needs to be available globally within the LMS and should be applied either automatic or by non-technical developers of online learning with a reasonable investment of time.
Friday, February 11, 2011
Excellent example of displaying statistics
Obviously something like this has a high production value, and is out of scope for most elearning development, but what can we take from this video and put into our products?
1. Enthusiasm - Like your favorite teacher, Hans enthusiasm for this subject comes through in his presentation. The more interested we can be about the subject when creating products the better the quality. It is not unlikely that you may be doing audio in your elearning products, so think about getting a narrator who's excitement for the subject can come through!
2. Visual - Although the graph on top of the video may be to flashy for most of us to create, it's not that crazy to imagine developing a flash based graph that shows these stats moving about. This graph makes use of real time and some great colors and sizes to help display a huge amount of information in a relatively simple and interesting manner.
3. Time - As a learning 'chunk' this video is fantastic. Coming in at only 5 minutes it is something that can be viewed on the go, or in between doing other work. It has a clear focus of what it is going to teach and does not get bloated or distracted along the way. Our learners can have short attention spans, especially if the subject is dry, or the power point presentation is not that flash. By keeping things short and focused we can best make use of our learners time.
Thursday, October 28, 2010
5 Tips for creating Portable eLearning Products
Having just finished working on a large scale conversion project (explaining the absence of posting) I feel that I have learned a lot regarding how we should develop our products to prepare for the future. Sometimes we make decisions to band aid problems, or to try and utilize every last functionality of an LMS, and while this is not always a bad thing, we must keep in mind the consequences they could have if we ever try and use our content in a different system.
For now here are 5 things to think about regarding developing portable eLearning products:
- Don't use authorware specific to a Learning Management System
There are fantastic Authorware products out there that can help you build courses not tied to any specific LMS, you may think you're saving time by using your LMS's page builder, but you could be trapping your content, and giving yourself unnecessary functionality constraints. - SCORM or other standards
Always build products with a standard in mind. And don't just rely on publish settings, take a read through some resources online or take a small course to get yourself knowledgeable about what it means to create a SCORM package, or to have SCORM reporting. - Always test the import and export functionality
Taking nothing for granted when it comes to this! SCORM packages are quite gentle and every LMS has it's own quirks, just go hang out in a thread 27 pages deep in a moodle forum to find that out. My advice to you, test your LMS export, take that package and try it out using something like Scorm Cloud.
Shopping for a new system? Make sure you test your exported packages with their import functionality so you don't get stuck make small changes to xml files! - CSS!
I like to do a little trick where all my SCORM packages point to two different CSS files, one hosted on my LMS and referenced by packages I import to hold style that brands the courses with the organization. And one in the package with some default styles (for H1 p a br etc.) so that the course would display well on it's own.
This way if the organization needed to complete a system wide branding change, we could achieve this through all products by modifying one file.
Is this completely against the idea of portable packages? maybe, ha! but I can still give share or move this course and have it display just as well with the css file included in the package. - Don't trap your assessments in the Learning Management System
Most Learning Management Systems have Assessment tools, and some of them can build really great Exercises or Exams. However, if you want to be prepared to migrate your content between systems, you are way better off using an application that will publish SCORM based SCO's that are not confined to one LMS.
Have you had experience with course conversion? I would love to hear about other development strategies to keep in mind!