Bug su scormInitializeParams (scorm-1.2.php)

Funzionalità di frontend per utenti e amministratori dei corsi: navigazione generale, materiali didattici, test, registro valutazioni, ecc.
Post Reply
keyos
Newbie
Posts: 3
Joined: Sat Dec 03, 2016 8:30 am
Version: forma.lms 1.4.2

Bug su scormInitializeParams (scorm-1.2.php)

Post 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).
User avatar
canelli
FormaLms Guru
Posts: 496
Joined: Thu Nov 08, 2012 12:21 pm
Version: forma.lms 2.0
Contact:

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

Post by canelli »

Grazie per la segnalazione del bug e la sua correzione.
Verificheremo e sicuramente inseriremo nella prossima release
Cercate nel forum le riposte prima di chiedere. Check the forum before posting
---------------
Claudio Anelli
Joint Technologies - Sistemi avanzati per l'information technology

http://www.joint-tech.com
---------------
s.posti
Newbie
Posts: 23
Joined: Sat Mar 15, 2014 9:27 am

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

Post 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
jasmines
Senior Boarder
Posts: 277
Joined: Fri May 03, 2013 12:29 pm

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

Post by jasmines »

Direi proprio di no, visto che su scorm 1.2 completion threshold non è contemplato:
http://scorm.com/it/scorm-spiegato/tecn ... temporale/
Post Reply