Posts Tagged ‘Moodle’

SCORM hot topics.

Tuesday, August 26th, 2014

As a follow up from the GSOC post I thought it might be useful to mention a few things happening with SCORM at the moment.

There are currently approx 71 open issues related to SCORM in the Moodle tracker at the moment, of those 38 are classed as bugs/issues I should fix in stable branches at some point, 33 are issues that are really feature/improvement requests.

Issues about to be fixed and under development
MDL-46639 – External AICC packages not working correctly.
MDL-44548 – SCORM Repository auto-update not working.

Issues that are  high in my list of things to look at and I hope to look at sometime soon.
MDL-46961 – SCORM player not launching in Firefox when new window being used.
MDL-46782 – Re-entry of a scorm not using suspend_data or resuming itself should allow returning to the first sco that is not complete.
MDL-45949 – The TOC Tree isn’t quite working as it should after our conversion to YUI3 – it isn’t expanding/collapsing in a logical manner – could be a bit of work here to make this work in the right way.

Issues recently fixed in stable releases.
MDL-46940 – new window option not working when preview mode disabled.
MDL-46236 – Start new attempt option ignored if new window used.
MDL-45726 – incorrect handling of review mode.

New improvements you might not have noticed in 2.8 (not released yet)
MDL-35870 -Performance improvements to SCORM
MDL-37401 -SCORM auto-commit – allows Moodle to save data periodically even if the SCORM doesn’t call “commit”

New improvements you might not have noticed in 2.7:
MDL-28261 -Check for live internet connectivity while using SCORM – warns user if SCORM is unable to communicate with the LMS.
MDL-41476 – The SCORM spec defines a small amount of data that can be stored when using SCORM 1.2 packages, we have added a setting that allows you to disable this restriction within Moodle to allow larger amounts of data to be stored (you may need to modify your SCORM package to send more data to make this work.)

Thanks to Ian Wild, Martin Holden, Tony O’Neill, Peter Bowen, André Mendes, Matteo Scaramuccia, Ray Morris, Vignesh, Hansen Ler, Faisal Kaleem and many other people who have helped report/test and suggest fixes related to SCORM recently including the Moodle HQ Integration team (Eloy, Sam, Marina, Dan, Damyon, Rajesh) who have all been on the receiving end of reviewing some SCORM patches recently!

GSOC 2014 update

Tuesday, August 26th, 2014

Another year of GSOC has just finished and Vignesh has done a great job helping us to improve a number of areas of SCORM!
I’m really glad to finally have some changes made to the JavaScript datamodel files as part of MDL-35870 – I’m hoping this will improve the performance of the SCORM player as the JavaScript can now be cached properly by the users browser rather than dynamically generating it using PHP.

Vignesh has made a number of general bug fixes to the SCORM code and has also tidied up the code in the 2.8 branch so that it now complies with Moodle’s coding guidelines.

These changes have involved almost every single file in the SCORM module and significant architectural changes have been made. We’ve done our best to avoid regresssions (thanks Ray for testing SCORM 2004) but due to the large number of changes (and the fact that we only have 1 behat test for SCORM) It would be really great if people could test the 2.8 branch with their SCORM content before release so we can pick up any other regressions that may have occurred.

Thanks heaps to Vignesh for his hard work on SCORM during GSOC – and kudos to Google for running a great program and providing the funding to help it happen!

Goodbye Turnitin…

Thursday, July 10th, 2014

Time to say goodbye to the “Dan Marsden Turnitin plugin”… well almost!

Turnitin have done a pretty good job of developing a new plugin to replace the code that I have been working on since Moodle 1.5!

The new version of their plugin contains 3 components:

  1. A module (called turnitintool2) which contains the majority of the code for connecting to their new API and is a self-contained activity like their old “turnitintool” plugin
  2. A replacement plugin for mine (plagiarism_turnitin) which allows you to use plagiarism features within the existing Moodle Assignment, Workshop and forum modules.
  3. A new Moodle block that works with both the above plugins.

The Plugins database entry has been updated to replace my old code with the latest version from Turnitin, we have a number of clients at Catalyst using the new plugin and the migration has mostly gone ok so far – there are a few minor differences between my plugin and the new version from Turnitin so I encourage everyone to test the upgrade to the new version before running it on their production sites.

I’m encouraging most of our clients to update to the new plugin at the end of this year but I will continue to provide basic support for my version running on all Moodle versions up to Moodle 2.7 and my code continues to be available from my github repository here:

Thanks to everyone who has helped in the past with the plugin I wrote – hopefully this new version from Turnitin will meet everyone’s needs!

GSOC 2014

Tuesday, April 29th, 2014

gsoc-2014-600x540We are lucky to have Vignesh Panneerselvam working on the SCORM plugin as part of Google Summer of Code this year – there are 3 main areas of focus for his work:

  • Improving the built-in navigation buttons
    I don’t think the navigation buttons in Moodle have ever worked correctly – we’ve made incremental improvements but I’m hoping Vignesh will help to sort out the remaining issues.
  • Performance improvements.
    There are a number of areas in the SCORM code that don’t perform well on larger sites – one of our clients has over 250 Million records in the SCORM tracking tables and any small improvement to performance can make a large difference to the operation of the server.
  • Code Cleanup
    Moodle’s Coding guidelines have improved/evolved over time and we haven’t always kept up to date in the SCORM code – Vignesh will help us to tidy this up a lot.

Vignesh has already made some useful contributions to the SCORM code – I’m looking forward to working with him as he improves the SCORM code.

New Turnitin API and Moodle plugins

Wednesday, January 15th, 2014

Turnitin have been working on a new back-end API to improve the way integrations are able to access the Turnitin product range – they have also developed new plugins for Moodle using this new API including a replacement for my plugin. The new code supports the full range of Turnitin products (my plugin was only focused on their plagiarism/originality checking service) and the new API will hopefully also improve reliability and stability. Turnitin asked me to review their initial code and were very receptive to my feedback – the new code follows Moodle coding guidelines and looks like a good replacement for my plugin.

The code isn’t available in the Moodle Plugins db yet but it is available in github here:

I have a few clients starting to test the new plugin this week – all going well I plan to stop further development on my old plugin – my plugin still works in Moodle 2.6 but at this stage I don’t have plans to maintain support for it past Moodle 2.6 and I recommend everyone starts to look at the new plugin from Turnitin.

Catalyst IT contributions to Moodle 2.6

Tuesday, November 26th, 2013
Moodle 2.6 includes several new features developed by Catalyst staff including:

Improved Password reset process
The process for resetting a forgotten password in Moodle was previously lengthy and over-complicated. This improvement reduced the number of steps from 13 to 6. It was implemented by Peter Bulmer as a funded request from Statistics New Zealand and the Accident Compensation Corporation, who gave their approval for the work to be contributed to the community.
More information is available on the Moodle Tracker: MDL-23692 

CSV Bulk Course Creation tool
One of the highest voted for features in the Moodle Tracker with 166 votes, this tool was developed by Piers Harding – it allows Moodle courses to be created and removed by passing a CSV file.
More information is available on the Moodle Tracker: MDL-13114 

Assignment Marking management and workflow

This feature implements a marking workflow in the Assignment module that allows selective release of grades to students and individual marker allocation. This feature was developed by Dan Marsden for the Lightwork team at Massey University
More information is available on the Moodle Tracker: MDL-38359

A large number of improvements to the SCORM module were made by Dan Marsden including:
Improvements to management of package files(MDL-28579MDL-41580)
New objectives report (MDL-39926)
User report improvements (MDL-41290)

Many of the developers in the team at Catalyst provided other bug fixes and minor improvements that have been included as part of the 2.6 release. Catalyst is a certified Moodle Partner with offices in New Zealand, Australia and the UK

Managing SCORM content in Moodle 2.6

Tuesday, September 24th, 2013

Following on from an earlier post we now have 2 new methods for managing SCORM content in Moodle 2.6.

Selecting a Zip package as an alias from a repository.
When adding/updating a SCORM and selecting a Zip package from a repository in Moodle 2.6 you now have the ability to create an alias/shortcut to the file – you can then set an update frequency to set how often Moodle should check to see if there is an updated zip. To set this up follow the steps below:

  1. Click the ‘Turn editing on’ button at the top right of the course page
  2. Click the ‘Add an activity or resource’ link in the section you wish to add your SCORM package, then in the activity chooser, select SCORM package then click the Add button (or select ‘SCORM package’ from the ‘Add an activity’ dropdown menu)
  3. Enter a name and a description.
  4. click the Add button to open the File picker menu in order to choose a file a repository
  5. Select the repository that contains your SCORM zip files
  6. Browse and select the SCORM zip file  you wish to add – makes sure you select the option to create an alias/shortcut to the file.
  7. Set the auto-update setting to “every day” – which will check overnight if a package update is required or “every time it’s used” to check if a new package is available every time a user enters the SCORM.
  8. Click the button ‘Save and display’ at the bottom of the page and then enter the SCORM package to make sure it has worked!

Selecting an imsmanifest.xml from an unzipped SCORM in a file system repository.
This allows you to create a repository that contains all your unzipped SCORM packages – you can also share assets between your SCORM packages – for example if you re-use the same video file across multiple packages you can just link to that single video file from multiple imsmanifest.xml files – you can also update your content and as the content is loaded directly from the repository the user will always see the most up to date file. To set this up follow the steps below(some of this is copied from MoodleDocs)

  1. First set up a new File system repository (you need direct access to your server to do this)

    1. Find the moodledata folder on the server
    2. Inside it, create a folder called “repository” (if it doesn’t exist already)
    3. Inside that folder, create a new folder for your repository of SCORM packages named appropriately.
    4. Extract your SCORM packages into appropriate locations within this folder.
  2. . Enabling the File System repository plugin

    1. Go to Settings > Site administration > Plugins > Repositories > Manage Repositories;
    2. Select from the drop down next to File sytem “Enabled and visible”350px-filesystemrepo23
    3. Click the Settings link..
    4. Click Create a repository instance
    5. Give it a name and choose from the dropdown the folder you created with your SCORM packages.
    6. Click the checkbox “Allow relative files” and Save.


  3. Adding a SCORM package
    1. Click the ‘Turn editing on’ button at the top right of the course page
    2. Click the ‘Add an activity or resource’ link in the section you wish to add your SCORM package, then in the activity chooser, select SCORM package then click the Add button (or select ‘SCORM package’ from the ‘Add an activity’ dropdown menu)
    3. Enter a name and a description.
    4. click the Add button to open the File picker menu.
    5. Select the SCORM file system repository you created in the file picker window.
    6. Browse and select the imsmanifest.xml file you wish to add – makes sure you select the option to create an alias/shortcut to the file.
      File picker selecting imsmanifest file
    7. After selecting the imsmanifest.xml file click the button ‘Save and display’ at the bottom of the page and then enter the SCORM package to make sure it has worked!

This method is only currently supported by the file system repository – it’s possible that some of the other repository types could be added in future.

Moodle 2.6 SCORM Update

Tuesday, September 24th, 2013

Moodle 2.6(releases November 2013)  brings some great improvements to the SCORM module

One of the most voted for features in the Moodle tracker for SCORM has been to allow better use of alias’s and support for unzipped content – Thanks to one of our clients at Catalyst IT we have now implemented this in Moodle 2.6

Key components of this work are covered in the following tracker issues:
MDL-41434 – When updating a SCORM package we used to delete all the records in the scorm_scoes table and then recreate them which caused all sorts of issues – by implementing a sort field in the table we keep the existing data and order it correctly this makes updating a SCORM package less fragile.
MDL-28579 – The SCORM module previously used the basic filepicker element which didn’t support the use of creating an alias/link to a file, converting to the advanced filemanager element gives a lot more flexibility.
MDL-41580 – This was the harder part to get right – this patch allows a file system repository in Moodle to support relative linked files – this means that you can unzip your SCORM package in a file system repository and then when creating your SCORM inside your course you just link directly to the imsmanifest.xml file within your repository.

I will follow this up with a post that shows how to use this feature.

Mayank Gupta has been working hard on improving the SCORM player as part of his GSOC project – particularly to improve it’s use on mobile devices –  we now have a more responsive design and the SCORM TOC automatically collapses and hides on smaller screens and it seems to fit these devices a lot better than our older SCORM player – he has also converted a lot of the older code to make sure it meets the Moodle coding guidelines. You can see some of the details on this in MDL-39910 I’ll try to follow this post up later with some screen-shots of the updated player in action.

We have also improved the reporting in SCORM:

MDL-39926 – A new Objectives report like the existing Interactions report, some SCORM packages use objectives to report progress through a course so we added a nicer view of this data that allows easy export.

MDL-41290 – Improved user level reporting – the old user level reports were quite limited – we have added the ability to export this data and have added a more useful view of the interaction elements as well.

Thanks to everyone who has helped with funding or with development and testing of these improvements!


Friday, September 13th, 2013

Adobe have kindly invited me to speak at the Adobe Learning Summit in Las Vegas at DevLearn, I’ll be in San Francisco for the GSOC Mentors Summit between 17th-20th Oct and then in Las Vegas between 21st – 25 Oct – even if you’re not attending DevLearn but are in the area and want to catch up – drop me an e-mail!

I’m also thinking about a trip to Alcatraz on the 17th or 18th if anyone wants to join me!

GSOC 2013 Projects

Tuesday, May 28th, 2013

We had some great applications for GSOC this year and there are 7 students who have been accepted. I’m excited to be working with 2 students this year – Mayank Gupta who will be working on improving the SCORM player in Moodle to work better on mobile devices – Mayank has been part of GSOC with Moodle in previous years so his continued contribution to SCORM is appreciated!

Vinnie Monaco submitted a proposal to develop a plugin that uses keystroke dynamics to verify the identity of a user before allowing them to enter a Moodle quiz – this will involve a practical application of his research and looks to be a very interesting way to verify the logged in user.

The biggest mistake applicants made this year was not attempting to fix a Moodle bug – one of the requirements of the Moodle GSOC application process is that students must try to fix a Moodle bug – many didn’t try and some just rewrote a patch that was already available on the tracker.

Thanks to all the students who put effort into their applications – hopefully some of you will continue to engage in the Moodle community even if your applications weren’t successful.