Manipulating Moosh command(activity-add) to add personal scorm packages in Course

Re: Manipulating Moosh command(activity-add) to add personal scorm packages in Course

by Tomasz Muras -
Number of replies: 0
Picture of Core developers Picture of Plugin developers Picture of Plugins guardians Picture of Translators
It used to be not possible and options were actually not implemented in the  activity-add command but that has changed thanks to PR from  Dr Bean . In the latest (master form github) version of moosh you can now run  a command like:

moosh activity-add -n scorm1 -o '--intro=my intro ABC --forcenewattempt=1' scorm 2

to add scorm with name "scorm1" and description "My intro ABC" to course with ID 2.

To test the package and update frequency, you will need to use other options and pass them like I did with intro and forcenewattempt above.

To figure out the names of the options, it's easiest to review two places.
1. function create_instance from mod_scorm_generator class from file mod/scorm/tests/generator/lib.php.
The fragment you're interested in is:
// Add default values for scorm.
$record = (array)$record + array(
'scormtype' => SCORM_TYPE_LOCAL,
'packagefile' => '',
'packageurl' => '',
'updatefreq' => SCORM_UPDATE_NEVER,
'popup' => 0,
'width' => $cfgscorm->framewidth,
'height' => $cfgscorm->frameheight,
'skipview' => $cfgscorm->skipview,
'hidebrowse' => $cfgscorm->hidebrowse,
'displaycoursestructure' => $cfgscorm->displaycoursestructure,
'hidetoc' => $cfgscorm->hidetoc,
'nav' => $cfgscorm->nav,
'navpositionleft' => $cfgscorm->navpositionleft,
'navpositiontop' => $cfgscorm->navpositiontop,
'displayattemptstatus' => $cfgscorm->displayattemptstatus,
'timeopen' => 0,
'timeclose' => 0,
'grademethod' => GRADESCOES,
'maxgrade' => $cfgscorm->maxgrade,
'maxattempt' => $cfgscorm->maxattempt,
'whatgrade' => $cfgscorm->whatgrade,
'forcenewattempt' => $cfgscorm->forcenewattempt,
'lastattemptlock' => $cfgscorm->lastattemptlock,
'forcecompleted' => $cfgscorm->forcecompleted,
'masteryoverride' => $cfgscorm->masteryoverride,
'auto' => $cfgscorm->auto,
'displayactivityname' => $cfgscorm->displayactivityname
);

2. Database structure for table mdl_scorm, the names of the columns in Moodle 3.5 are: course,name,scormtype,reference,intro,introformat,version,maxgrade,grademethod,whatgrade,maxattempt,
forcecompleted,forcenewattempt,lastattemptlock,masteryoverride,displayattemptstatus,displaycoursestructure,updatefreq,
sha1hash,md5hash,revision,launch,skipview,hidebrowse,hidetoc,nav,navpositionleft,navpositiontop,
auto,popup,options,width,height,timeopen,timeclose,timemodified,
completionstatusrequired,completionscorerequired,completionstatusallscos,
displayactivityname,autocommit