Page 1 of 1

Bug su scormInitializeParams (scorm-1.2.php)

Posted: Fri Dec 09, 2016 6:31 pm
by keyos
Buonasera a tutti,

all'interno della suddetta funzione c'è una corrispondenza non corretta fra i campi letti nella query e la list che li deve ricevere.

La problematica nasce dalla necessità di utilizzare un corso scorm che fa uso del parametro "launch_data" (<adlcp:datafromlms> nel manifest) e dalla mancata restituzione dello stesso al momento dell'esecuzione.

Il parametro (adlcp:datafromlms) viene letto dal manifest e registrato a database (adlcp_datafromlms) in fase di caricamento del pacchetto , ma non viene recuperato in modo corretto dalla funzione in oggetto, e di conseguenza al corso non viene mai passato quello che è stato definito dal manifest.

Versione forma: 1.4.2
Script: appLms/modules/scorm-1.2.php, da riga 55

parte della funzione interessata (originale)

Code: Select all

function scormInitializeParams($trackobj, $scormtype, $idscorm_item) {
	
	list(	$adlcp_masteryscore,
			$adlcp_maxtimeallowed,
			$adlcp_completionthreshold,
			$adlcp_datafromlms,
			$adlcp_timelimitaction ) = 
					sql_fetch_row(sql_query( "SELECT  adlcp_masteryscore,"
														."adlcp_maxtimeallowed,"
														."adlcp_datafromlms,"
														."adlcp_timelimitaction"
												."  FROM learning_scorm_items"
												." WHERE idscorm_item=".$idscorm_item ));
	
parte della funzione interessata (corretta):

Code: Select all

function scormInitializeParams($trackobj, $scormtype, $idscorm_item) {
	
	list(	$adlcp_masteryscore,
			$adlcp_maxtimeallowed,
			$adlcp_completionthreshold,
			$adlcp_datafromlms,
			$adlcp_timelimitaction ) = 
					sql_fetch_row(sql_query( "SELECT  adlcp_masteryscore,"
														."adlcp_maxtimeallowed,"
														."adlcp_completionthreshold,"
														."adlcp_datafromlms,"
														."adlcp_timelimitaction"
												."  FROM learning_scorm_items"
												." WHERE idscorm_item=".$idscorm_item ));
	
Per riprodurre l'anomalia è sufficiente utilizzare un corso che definisce e utilizza adlcp:datafromlms (launch_data).

Re: Bug su scormInitializeParams (scorm-1.2.php)

Posted: Fri Dec 09, 2016 9:25 pm
by canelli
Grazie per la segnalazione del bug e la sua correzione.
Verificheremo e sicuramente inseriremo nella prossima release

Re: Bug su scormInitializeParams (scorm-1.2.php)

Posted: Sun Dec 18, 2016 12:56 am
by s.posti
Grazie mille;

ma a questo punto non serve poi inserire, es. a riga 80 81 o giù di lì... questo codice?
$trackobj->setParam(SCORM_RTE_COMPLETIONTHRESHOLD, $adlcp_completionthreshold, false, true);

grazie

Re: Bug su scormInitializeParams (scorm-1.2.php)

Posted: Wed Dec 21, 2016 11:10 am
by jasmines
Direi proprio di no, visto che su scorm 1.2 completion threshold non è contemplato:
http://scorm.com/it/scorm-spiegato/tecn ... temporale/