I’m grateful to reader ‘Legend’ who suggested that I use a JavaScript object as a cache rather than a set of variables. So my cache would look like this:
Continue reading →
Time to sketch out the structure of my caching RTE code. Just to recap, here’s the current version of the VSSCORM RTE which has no caching mechanism – all transactions are immediately reflected in the persistent storage (LMS database).
Continue reading →
Over the last couple of weeks, I’ve had some very useful feedback and suggestions for the future direction of my project. And I’d like to thank everyone for the suggestions – I’m certainly going to try to address them going forwards.
However, there’s another problem that I need to address first. I’ve been using a system based on the VSSCORM RTE for some time, and it’s been working very well. But recently, I came across a SCORM 1.2 course (SCO) that caused the system to run really slowly. So I need to find out why.
Continue reading →
This release corrects an error in ‘getValue.php’ where the ‘readElement’ function is incorrectly called with 2 input parameters.
| You can download the code bundle using this link. |
For instructions on using this code, please see this page.
This code bundle is a LOT simpler than the bundle for the VSSCORM 1.2 RTE (Run-Time Environment) that I posted a couple of months ago. It consists of 2 files:
- subs.php which contains all of the code that does the parsing and analysis of the manifest file
- index.php which simply provides you with a way to run the code and display the output in a test environment
In other words, if you wanted to incorporate the code into a real system, you would only need the content of subs.php.
The system requirements for running this code are pretty simple – you just need to have PHP 5 or above (PHP 4 doesn’t support the DOM extension that I’m using to parse the XML manifest file).
To help you get started, I’ve also included the 2 sample manifest files that I’ve been using.
| You can download the code bundle using this link. |
Time to see if everything works. I’m going to test my code using two different manifest files:
To be honest, I don’t think I’ve ever come across a multiple-SCO content package in a real application, but I do need to be able to handle it if I do stumble across it.
Continue reading →
Finally, I’ll add the code which connects the item and resource data together to create the data that the “imaginary” LMS needs.
Continue reading →
At last, an easy bit. I’m going to add the following code to my readIMSManifestFile() function.
Continue reading →
This is the new routine that I’m going to use to resolve the resource dependencies in the package manifest file.
Continue reading →