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?
Buongiorno Paolo,
non credo sia possibile, e nemmeno desiderabile, per ovvi motivi di sicurezza.
In generale, puoi ottenere più facilmente risposte (alcune persino risolutive ) 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.
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
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
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?
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:
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
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.
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, è:
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!
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.
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?
pensavo di averle viste e sentite tutte...!
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!
- p.
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
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 !