Moodle

Importing Multiple SCORM Packages

Details

  • Type: New Feature New Feature
  • Status: Open Open
  • Priority: Minor Minor
  • Resolution: Unresolved
  • Affects Version/s: 1.9.3
  • Fix Version/s: DEV backlog
  • Component/s: SCORM
  • Labels:
  • Environment:
    Debian Linux
  • Database:
    MySQL
  • Difficulty:
    Moderate
  • Affected Branches:
    MOODLE_19_STABLE

Description

I have to import individual SCORM packages one at a time with Moodle. In developing and testing content I am nearing over 1,000 individual packages. Each one requires manual naming, describing and browsing for the corresponding zip file.

I propose creating a multiple file selection technique and the ability to automatically infer name and description from the SCORM package manifest itself. This would automate the process and save a considerable amount of time.

Additionally, if these packages are updated en masse I currently have to edit each individual one and save it again in order to get Moodle to freshen its extracted cache. For a batch of 125 that results in 375 clicks required and a lot of tabs (and patience). Ideally, the ability to freshen SCORM packages in a particular course is needed. Perhaps by comparing last modified date of the SCORM zip file, or a hash of its content, with known values in the database?

Activity

Hide
Dan Marsden added a comment -

adding Piers - I've been thinking about a SCORM repository Plugin for Moodle 2.0 to replace the old not well supported IMS repository stuff in 1.9 - I wonder if this is something we could add to the plugin.... something to think about anyway! - thanks for the report.

Show
Dan Marsden added a comment - adding Piers - I've been thinking about a SCORM repository Plugin for Moodle 2.0 to replace the old not well supported IMS repository stuff in 1.9 - I wonder if this is something we could add to the plugin.... something to think about anyway! - thanks for the report.
Hide
Peter Chamberlin added a comment -

An idea for multiple package import, accept a "zip of zips" approach whereby a standard PKZIP archive of the SCORM packages can be accepted and automatically interpreted as the desire to repeat the process for each contained PIF. That wouldn't require too much visible change to the interface. It could trigger the automatic extraction of SCORM info from imsmanifest.xml for the name and description, and/or the SCORM integrated/external metadata file if present.

Show
Peter Chamberlin added a comment - An idea for multiple package import, accept a "zip of zips" approach whereby a standard PKZIP archive of the SCORM packages can be accepted and automatically interpreted as the desire to repeat the process for each contained PIF. That wouldn't require too much visible change to the interface. It could trigger the automatic extraction of SCORM info from imsmanifest.xml for the name and description, and/or the SCORM integrated/external metadata file if present.
Hide
Dan Marsden added a comment -

yeah - I think that's a good potential solution - but it won't be great in 1.9 or lower as the zip handling of large files in Moodle is pretty bad! - Petr has done a good amount of work on this in 2.0 and PHP 5.2.8 handles this a lot better - zipping handling is one of the reasons for the PHP requirement for Moodle 2.0 being PHP 5.2.8

Show
Dan Marsden added a comment - yeah - I think that's a good potential solution - but it won't be great in 1.9 or lower as the zip handling of large files in Moodle is pretty bad! - Petr has done a good amount of work on this in 2.0 and PHP 5.2.8 handles this a lot better - zipping handling is one of the reasons for the PHP requirement for Moodle 2.0 being PHP 5.2.8
Hide
Dan Marsden added a comment -

IF YOU ARE NOT A DEVELOPER PLEASE DON'T USE THE ATTACHED FILE!!!!!!!

here's a really quick hack that allows importing multiple SCORM packages - it only allows import of packages that are
stored in a directory on the webroot of the server.

  • create a folder under your webroot - needs to be on same server but doesn't have to be in moodle webroot - can be on different domain as long as it's on the same server.
    -put the SCORM zips you want to upload in this dir
    -load the script in your browser passing it the course id of the course you are importing into - eg:
    yourmoodlesite/mod/scorm/bulkimport.php?id=3
    (replace "3" with the courseid of the course you want)

then in the form provided enter the full url to the directory of files in one field and in the other field place the path to the files on your server - same way you would configure the path in $CFG->dataroot

hit submit and wait for a large amount of time if you have a lot of SCORMS!

this script is in no way refined and is probably fragile - it shouldn't really be used on production sites as it will probably produce broken SCORM packages - use at your own risk (or even better - improve it and attach your improved version here so I can see it!

Show
Dan Marsden added a comment - IF YOU ARE NOT A DEVELOPER PLEASE DON'T USE THE ATTACHED FILE!!!!!!! here's a really quick hack that allows importing multiple SCORM packages - it only allows import of packages that are stored in a directory on the webroot of the server.
  • create a folder under your webroot - needs to be on same server but doesn't have to be in moodle webroot - can be on different domain as long as it's on the same server. -put the SCORM zips you want to upload in this dir -load the script in your browser passing it the course id of the course you are importing into - eg: yourmoodlesite/mod/scorm/bulkimport.php?id=3 (replace "3" with the courseid of the course you want)
then in the form provided enter the full url to the directory of files in one field and in the other field place the path to the files on your server - same way you would configure the path in $CFG->dataroot hit submit and wait for a large amount of time if you have a lot of SCORMS! this script is in no way refined and is probably fragile - it shouldn't really be used on production sites as it will probably produce broken SCORM packages - use at your own risk (or even better - improve it and attach your improved version here so I can see it!
Hide
Dan Marsden added a comment -

slightly improved version

Show
Dan Marsden added a comment - slightly improved version

People

Vote (0)
Watch (6)

Dates

  • Created:
    Updated: