Scadenza sessione durante test - durata sessione e idle time

Installazione, configurazione generale, notifiche, API, lingue, problemi server
Post Reply
Lucas81
Newbie
Posts: 3
Joined: Tue Mar 31, 2020 9:11 pm

Scadenza sessione durante test - durata sessione e idle time

Post by Lucas81 »

Buongiorno a tutti,
ho un problema, penso di durata sessione, con i test creati all’interno della piattaforma e non riesco a venirne a capo da solo.

Ho creato, da piattaforma, dei test di 20 domande, a risposta multipla, su unica pagina, della durata di 60 minuti, impostando un solo tentavo possibile.

Il test parte correttamente, così come il timer, e se le risposte vengono inviate entro 35-40 minuti tutto funziona come dovrebbe. Il problema nasce quando si va oltre ai 40 minuti e, non appena si inviano le risposte, si viene reindirizzati alla pagina del login.
Non mi è ancora ben chiaro come vengano gestite le sessioni in piattaforma ma in questo caso specifico, correggetemi se sbaglio, penso sia un problema di idle time più che di durata sessione.

Poiché gli utenti restano, o quantomeno dovrebbero restare, sulla schermata del test, che consente solo di variare le risposte, la sessione non viene refreshata o controllata finché non vengono, di fatto, inviate le risposte e, quando vengono inviate, la sessione non è più valida.
Ho provato ad aumentare il “Tempo di vita della sessione” dalla gui amministrazione e anche dall’array $cfg['session_lenght'] nel file config.php anche se non ho ancora capito quale delle due ha la priorità: il problema non si è risolto.

A questo punto ho considerato il discorso dell’idle time pensando che magari, a prescindere dalla durata della sessione, potesse essere stata implementata una funzione che, in assenza di input per 30 40 minuti, forzava il logout o la cancellazione del cookie.
Ho guardato le impostazioni di sessione e garbage collector nel php.ini e poi nei file della piattaforma e ho visto che era possibile, sempre nel file config.php, impostare la variabile $cfg['keepalivetmo'] che dovrebbe tenere attiva la sessione.

Ho impostato la sessione a 9000s ed il keepalive a 7200s ma non è cambiato nulla.

Qualcuno può aiutarmi a capire cosa controllare e come posso risolvere?

Andrebbe benissimo anche avere la sessione attiva finché non si chiude il browser, l’importante è che non mi scada soprattutto durante i test.

Grazie a tutti.
Luca

alfa24
Senior Boarder
Posts: 1006
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: Scadenza sessione durante test - durata sessione e idle time

Post by alfa24 »

I'm Jasmines, the One. If you need, you can contact me.

Lucas81
Newbie
Posts: 3
Joined: Tue Mar 31, 2020 9:11 pm

Re: Scadenza sessione durante test - durata sessione e idle time

Post by Lucas81 »

Ciao Alfa,
grazie per la celere risposta.
Sono partito proprio da li ma ho visto che nel file scorm_frameset.php c'è questa sezione:

Code: Select all

// support for setting keepalive tmo
$gc_maxlifetime = ini_get("session.gc_maxlifetime");	// seconds
$cfg_keepalivetmo = Get::cfg('keepalivetmo', 0);	// minumum : 60 sec.

if ( $cfg_keepalivetmo > 0 ) {
	$keepalivetmo = $cfg_keepalivetmo;
} else {
	if ( $gc_maxlifetime > ( 15*60 )  ) {
		$keepalivetmo = ( 14*60 ) ;
	} else if ( $gc_maxlifetime >= ( 2 * 60 )  ){
		$keepalivetmo = $gc_maxlifetime - 60;
	} else {
		$keepalivetmo = $gc_maxlifetime - 15;	// second
	}
}
Da qui sembrerebbe che se setto $cfg['keepalivetmo'] nel file config.php dovrebbe prendere quel valore, se lo setto nel php.ini invece, indipendentemente dal valore, me lo setta al massimo a 14 min.

Ho capito male?

Grazie,
Luca

alfa24
Senior Boarder
Posts: 1006
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: Scadenza sessione durante test - durata sessione e idle time

Post by alfa24 »

scorm_frameset.php come dice il nome non regola i test
I'm Jasmines, the One. If you need, you can contact me.

Lucas81
Newbie
Posts: 3
Joined: Tue Mar 31, 2020 9:11 pm

Re: Scadenza sessione durante test - durata sessione e idle time

Post by Lucas81 »

Grazie alfa, il problema di durata sessione in idle sembrerebbe risolto.

E' tornato però alla luce un problema che avevo già su piattaforma docebo e che sfortunatamente non sono mai riuscito a riprodurre in maniera consistente: alcune persone dicono che il test si è interrotto prima dello scadere del tempo, su un ora di test ha dato loro il tempo scaduto quando ancora mandavano da 20 a 60 secondi residui. Da cosa può dipendere? Da una desincronizzazione tra client e server?
Avete qualche suggerimento per risolvere o qualche settaggio/parametro che posso controllare?

Grazie mille.

alfa24
Senior Boarder
Posts: 1006
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: Scadenza sessione durante test - durata sessione e idle time

Post by alfa24 »

20-60 secondi su un'ora mi sembra molto poco riproducibile.
Ad ogni modo, per tua info la temporizzazione dei test sia su docebo che su forma è javascript, quindi tutta lato client.
Ho corretto più di un bug su questa parte, quindi può anche darsi che qualcosa fosse legato all'errato calcolo e alla gestione del timeout.
I'm Jasmines, the One. If you need, you can contact me.

Post Reply