If your SCORM modules are getting so big that you're running out of diskspace, a possible hack is to make one copy of an un-packaged SCORM module in a directory somewhere and make all other versions of those files hard links to that one central copy. Seemingly, hard links /are/ supported in Windows - they're called "file junctions" in Windows-speak and are an underused feature of NTFS (only found out about this the other day whilest looking for something else, sounds handy).
The above could be implemented by a
server-based script, seperate from Moodle - something to check all Course file areas for SCORM module directories, any new SCORM modules could be copied to a central directory and hard links put in place, any duplicates could simply be replaced with hard links. This would make a good hack for those running low on disk space (i.e. if you've got a large SCORM module, perhapse with movie files in, that you want to use in several different Courses). "Duplicates" could (hopefully...) be identified by comparing file size, modified/created date and maybe checksum if you wanted to be really swish.
I'm not sure what would happen if you implemented the above, ran the script over your server, then someone on a course updated a SCORM module, uploading new files. I've actually got a hunch that it might work quite well - the new
upload would (?) replace hard-linked files with new files, you would end up using a mixture of old-and-new files...
Possible idea: change the SCORM module a bit so that after it unpacks a Zip file into a directory it generates a signature for each file based on size, modified date and checksum. Then it checks each file against a central "asset" directory, hard-linking each duplicate it finds and adding any new files to that central directory. No need to worry about duplicate file names or new versions of files replacing old ones - simply give each new file a new name in that central directory and create hard-links to it. Have a periodic scan to see if there's any central files that aren't linked to from anywhere and delete them.
Hmm, would that work?