ALLUNGARE TEMPI DI SESSIONE

ALLUNGARE TEMPI DI SESSIONE

di Stefano Rossi -
Numero di risposte: 11

Spero qualcuno riesca a rispondermi,
esiste la possibilità di allungare i tempi di sessione di utente inattivo? Intendo oltre le possibilita che ci sono già, mi sembra si arrivi ad un massimo di 4 ore.

E' possibile?

Media dei voti:  -
In riposta a Stefano Rossi

Re: ALLUNGARE TEMPI DI SESSIONE

di Paolo Porcaro -

Buongiorno Paolo,

non credo sia possibile, e nemmeno desiderabile, per ovvi motivi di sicurezza.

In generale, puoi ottenere più facilmente risposte (alcune persino risolutive ammiccante ) quanto più estesamente descrivi il tuo scenario d'uso. Ad es., quale è il problema, situazione o intoppo che vorresti risolvere, quale è l'obiettivo che vorresti raggiungere, e così via.

In questo modo, alcuni moodlers potrebbero suggerire delle soluzioni alternative a cui magari non avevi pensato.

hth,

- p.

In riposta a Paolo Porcaro

Re: ALLUNGARE TEMPI DI SESSIONE

di Stefano Rossi -

Ah Perfetto, scusatemi allora, vi spiego bene.

Ho moodle 2.9, in un hosting condiviso con pannello di controllo cPanel.
Il mio problema, che al momento non ho ancora riscontrato perchè nessun utente ha ancora fatto corsi cosi lunghi, che però ci sono, è che i nostri corsi per essere completati hanno un tempo minimo.

Alcuni corsi pero hanno 16 ore o 24 ore di tempo minimo ONLINE ovvero all'interno della lezione, per poter poi ricevere il certificato.
Io ho visto che in tempi di sessione il massimo è 4 ore, e ho paura che riguardi anche la durata di tempo che un utente ha all'interno della lezione quando questa è partita. E se dopo 4 ore si disconnettere non potrà mai ricevere il certificato finale, perchè si deve fare 16 o piu ore.

Per questo volevo allungarli, ora non so se mi sono posto il problema giusto o inutilmente, però meglio sempre prevenire che curare no?

Spero di essermi ben spiegato

Grazie mille a tutti

In riposta a Stefano Rossi

Re: ALLUNGARE TEMPI DI SESSIONE

di Matteo Scaramuccia -

Ciao Paolo,
se vuoi superare le 4 ore, puoi scrivere quel valore direttamente nel file config.php, aggiungendo una nuova riga:

$CFG->sessiontimeout = <timeout in secondi>;

prima della linea:

require_once(dirname(__FILE__) . '/lib/setup.php');

HTH,
Matteo

P.S.: non sottoporre la stessa domanda in diversi thread, https://moodle.org/mod/forum/discuss.php?d=322276 ammiccante

In riposta a Matteo Scaramuccia

Re: ALLUNGARE TEMPI DI SESSIONE

di Stefano Rossi -

Ciao Matteo, Sei sempre utilissimo, cosa farei senza di te, al posto di timeout in secondi devo inserire la cifra in secondi, ok, Ma aggiunto questa riga di codice, devo cambiare qualche opzione poi nell'amministrazione di moodle?.

In php la cifra non va con le virgolette?


Ho fatto il calcolo massimo, ovvero avendo 24 ore in secondi sarebbero 98.000 secondi, quindi ho inserito 100.000 al posto di timeout in secondi, poi vado in amministrazione in tempi di sessione mi dice che 100000 è un valore non valido come devo fare?

In riposta a Stefano Rossi

Re: ALLUNGARE TEMPI DI SESSIONE

di Matteo Scaramuccia -

Ciao Paolo,
si devi metterlo senza gli apici perché si aspetta un numero e non una stringa contenente un numero.

La validità che ti dice in pagina è relativa al fatto che quel numero non può essere imputato da interfaccia e tu lo ha inserito da codice.

Inserirlo in config.php equivale a forzarlo ed è la stessa cosa che inserirlo direttamente sul DataBase ma per una serie di motivi tecnici è meglio forzare i comandi direttamente dal file config.php, in primis perché ti rimane "documentazione" di quanto stai forzando tu rispetto a quanto ti concederebbe Moodle da interfaccia.

Aggiungo una nota tecnica alla mia risposta che mirava a dirti come fare ma non ti spiegava se veramente ti sarebbe stato utile. Infatti, probabilmente, non sai che il tempo di sessione non viene valutato a partire dalla login ma:

  1. viene valutato dalla navigazione della prima pagina di Moodle, che tu sia autenticato o no;
  2. viene RI-valutato ogni volta che l'utente richiama una pagina PHP in Moodle;

per cui se il tuo discente non "ha la bolla al naso" per tutte le 24 ore ma clicca sulle pagine di Moodle (lezioni, libro, quiz, ...) perché deve cercare di finire tutto di seguito (!) il contatore della scadenza della sessione riparte ad ogni click di pagina PHP per cui, secondo me, le 4 max ore di inattività concesse da interfaccia di configurazione, per guardare lo schermo senza usare il mouse (click), devono generare necessariamente un timeout e richiedere all'utente di ri-autenticarsi - così la prox volta si sveglia e procede con le attività! - perché, ancora, non esiste nessuna progettazione didattica on-line che preveda che un utente non interagisca con il sistema a meno di non inserire attività off-line come i Compiti, per i quali l'uso di un basso timeout di sessione è sempre compatibile con la natura delle attività off-line.

HTH,
Matteo

 

In riposta a Matteo Scaramuccia

Re: ALLUNGARE TEMPI DI SESSIONE

di Stefano Rossi -

GRAZIE MILLE MATTEO

Ora allora rimetto il valore predefinito nel database, ed inserirsco la stringa di codice nel file config.php

Poi mano mano con calma cercherò di suddividere le lezione più che posso cosi da aiutare anche a diminuire il carico agli utenti.

Almeno intanto quei 2 / 3 corsi lunghissimi, se li possono fare senza problemi.

In riposta a Stefano Rossi

Re: ALLUNGARE TEMPI DI SESSIONE

di Paolo Porcaro -

Ciao Paolo, non credo che il tuo problema si possa risolvere aumentando il tempo sessione (a parte, ripeto, i problemi di sicurezza che questa soluzione pone, vedi le indicazioni sulla sicurezza di Moodle contenute in questo post su Moodle English).

Soprattutto se le 16 o 24 ore di tempo minimo online possono essere fruite dai discenti nell'arco di più giorni, come è nella norma.

Quello che ti serve, invece, è:

  • un plugin (o altro metodo) per calcolare la somma delle singole sessioni di Moodle per ogni utente; 
  • ancora meglio, ti sarebbe utile calolare il tempo che ciascun utente "passa" nelle varie "attività" (in questo caso si taglierebbero tutti i tempi dedicati alla mera "navigazione" all'interno della piattaforma).

Nel primo caso, esistono diversi plugin per il calcolo dei tempi, anche se non eccessivamente precisi. Vedi queste discussioni:

https://moodle.org/mod/forum/discuss.php?d=315854

https://moodle.org/mod/forum/discuss.php?d=321614

https://moodle.org/mod/forum/discuss.php?d=321395

Nel secondo caso, potresti esplorare l'attività Lezione, che nella tua versione di Moodle ha un requisito di completamento dipendente dal tempo trascorso in essa dall'utente. Vedi: https://docs.moodle.org/29/en/Lesson_settings#Restrict_access.2FActivity_completion

Anche dei pacchetti SCORM potrebbero risolvere il tuo problema, aggregando i tempi di fruizione, oppure agendo a livello di sviluppo del pacchetto, per esempio impostando uno script che passi a lo stato "completato" solo quando il pacchetto è rimasto aperto per più di XX minuti, ore etc.

hth,

- p.

PS: un giorno scriverò un pamphlet "Contro l'assurdità di certificare il tempo di permanenza nelle piattaforme di e-learning", giuro! malvagio

In riposta a Paolo Porcaro

Re: ALLUNGARE TEMPI DI SESSIONE

di Stefano Rossi -

SISI infatti ringrazio MOODLE 2.9 perchè è stato fantastico dal punto di vista dei criteri di completamento, perchè grazie al completamento dell'attività potevo mettere il tempo minimo, cosa che con i primi moodle o anche solo precedenti al 2.9 non si poteva.

Infatti l'ho usato, ed è stata la soluzione al mio problema, il nostro processo è che se non sei restato tempo minimo TOT ore e non hai raggiunto la sufficienza non puoi cliccare sulla voce certificato finale poi. Anche perchè la nostra normativa è che quando inizia il tempo non può bloccarlo. Abbiamo anche inserito un cronometro a lato per aiutare l'utente, in quanto non sono molto esperti di computer.

Però a questo problema di tempo minimo ho trovato la soluzione, la mia sola paura è il fatto se ho un corso di 24 ore di tempo minimo mettiamo, un utente clicca sulla lezione, parte il cronometro a lato, fa le sue domande finali, e all'ultima pagina aspeta lo scadere del cronometro (abbiamo inserito una piccola spiegazione dove diciamo di aspettare alla pagina finale), può verificarsi che mentre aspetta lo scadere del cronometro, si disconnette il profilo ? perchè magari sta fermo o lascia il pc accesso mentre il cronometro continua ecc...

Time Stat mi può essere utile si, però da quel che ho capito è sempre una statistica, più semplice da leggere ovviamente, come può essere i file di log incorporati in moodle che sono magari un po' più difficili da leggere.

In riposta a Stefano Rossi

Re: ALLUNGARE TEMPI DI SESSIONE

di Paolo Porcaro -
Anche perchè la nostra normativa è che quando inizia il tempo non può bloccarlo.

  cioè mi stai dicendo che c'è qualcuno talmente folle che impone a un formando di stare collegato 24h consecutive a una piattaforma di e-learning? sorpreso

pensavo di averle viste e sentite tutte...! arrabbiato

può verificarsi che mentre aspetta lo scadere del cronometro, si disconnette il profilo

 sì, se il timeout di sessione è inferiore alla durata minima dell'attività.

ma, ripeto, non imposterei mai una durata minima di attività pari alla durata certificabile del corso; suddividerei le ore in attività di durata inferiore, così da poter essere fruite in diversi momenti della giornata/settimana. Altrimenti non è e-learning o formazione, è segregazione o sequestro di persona! malvagio

- p.

In riposta a Paolo Porcaro

wonderpaul

di Stefano Rossi -

si anche perché certi docenti mi inviano una lezione unica e io non ho le competenze per suddividerle in lezioni pari... E non posso chiedere a loro senno le lezioni non mi arrivano piu ...se il massimo poi é 4 ore e un corso ha un tempo minimo di 24 dovrei fare 6 lezioni tantine per chi vuole rispondere alle domande e lasciare il pc acceso fino a scadere del cronometro. Per quello chiedo se fosse possibile allungarli anche tramite codice php


In riposta a Stefano Rossi

Re: ALLUNGARE TEMPI DI SESSIONE

di Stefano Rossi -

NOVITA?

Ciao ragazzi ci sono novità riguardo la soluzione al mio problema? perchè non vi ho più sentiti.
Io ho provato ad inserire la riga di codice, ma mi diceva, sempre nell'amministrazione di moodle, che il valore indicato non era valido come mai?

Poi ho provato a modificare il valorare nella tabella del database, la tabella m...._config alla riga sessiontimeout c'era il valore 14400 e l'ho portato a 90000. Ho fatto bene?

Fatemi sapere Grazie mille !