[Building Sakai] Improved Scorm Player by Edia

Melvin Wevers melvin at edia.nl
Wed May 16 05:24:20 PDT 2012


Edia has improved the SCORM player for Sakai on both technical and functional aspects. Below follows a short summary of these improvements:
Technical aspects

Solved numerous bugs, 21 in the public JIRA, up to 35 in our private JIRA adding up to an amazing total of 56 resolved issues.
A rewrite of the Hibernate data access layer, and updates to the transaction management. Some clear misunderstandings of the Hibernate persistence framework have been removed. Hibernate has been made more effective and superfluous code has been removed. Furthermore, the transaction demarcation has been done right.
The original implementation kept the state of the SCORM object runtime in the session, and only synchronized to the database on an explicit commit call made by the SCORM object. As a result, the session synchronization with the actual persistent storage caused problems, because the conversation pattern with the persistent storage is one of short-term conversation and not suited for long term conversations. This is caused by a misconception of how Hibernate proxies work. As a resolution, a) the state is always serialized to the persistent storage, and b) Hibernate caching is set up correctly. This solution is perfect, the performance impact is minimal and the session state is always synchronized to the persistent storage. This results is an very stable SCORM player, more stable than most other implementations. To be clear: the SCORM specifications states that the session must be synchronized on commit, but does explicitly allow the state to be synchronized in between commits.
Implemented JUnit tests, full end-to-end coverage of the execution environment. The test architecture can run arbitrary SCORM packages for easy reproduction of any reported issue.
The general quality of code is strongly improved by fixing all FindBugs warnings and errors. By static code analysis of the original code, many potential issues are resolved.
Functional aspects

Improved launch control of suspended SCORM packages. The logic regarding restarting and resuming has been improved to prevent attempts getting lost browser crashes or network failures.
User interaction improvements in the SCORM player. The content tree has become more responsive, the control buttons work better.
If you are interested in trying out the updated SCORM player, you can download the source and the installation manual.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20120516/616e0d8a/attachment.html 


More information about the sakai-dev mailing list