Aggiornamento

Attenzione: Pagina in costruzione


Nota: Questa pagina spiega in dettaglio come aggiornare Moodle. Per un riepilogo del processo, consultare Panoramica sull'aggiornamento.


Controllare i requisiti

Verificare che il server soddisfi tutti i requisiti per Moodle 3.5 in Amministrazione del sito > Server > Ambiente.

Consultare le (EN) note di rilascio nei documenti di sviluppo per i requisiti del software.

Nota:
  • È possibile eseguire l'aggiornamento a Moodle 3.5 da Moodle 3.1 o versioni successive. Se si esegue l'aggiornamento da versioni precedenti, è necessario prima eseguire l'aggiornamento alla (EN) versione 3.1.
  • La versione minima di PHP è la 7.0.0.
  • L'estensione PHP intl è richiesta da Moodle 3.4 (in precedenza era solo raccomandata).

Prima dell'aggiornamento

Consigliamo di testare l'aggiornamento prima su una COPIA del sito di produzione, per assicurarsi che funzioni come previsto.

Eventualmente, impostare la Chiave di aggiornamento per il sito.

Backup di dati importanti

Ci sono tre aree che dovrebbero essere sottoposte a backup prima di qualsiasi aggiornamento:

  1. Software Moodle (ad esempio, tutto ciò che si trova in server/htdocs/moodle)
  2. File Moodle caricati (ad esempio, server/moodledata)
  3. Database Moodle (ad esempio, il dump del database Postgres o MySQL)

Consultare Backup del sito per informazioni più dettagliate.

Controllare gli aggiornamenti dei plugin

Se il Controllo automatico degli aggiornamenti è abilitato, sarà possibile aggiornare automaticamente i plugin installati durante l'aggiornamento. Controllare gli aggiornamenti disponibili (dal pulsante Controlla gli aggiornamenti) nella schermata Panoramica plugin in Amministrazione del sito.

Se si aggiornano i plugin manualmente, controllare nella (EN) directory dei plugin di Moodle se è disponibile una versione 3.5 per tutti i plugin (inclusi i temi) precedentemente installati sul sito. Se presenti, scaricare il pacchetto dei plugin, copiarlo nella posizione appropriata del codice Moodle. Consultare Installare plugin. In questo modo, l'aggiornamento dei plugin avverrà come parte del processo di aggiornamento di Moodle.

Se un plugin obsoleto impedisce l'aggiornamento, in genere è possibile eliminare il codice del plugin piuttosto che disinstallarlo da Moodle affinché i dati ad esso associati non siano cancellati.

Mettere il sito in modalità manutenzione

Prima di aggiornare il sito, occorre metterlo in modalità manutenzione per impedire agli utenti non Amministratori di accedere. Inoltre, prima di procedere, è necessario attendere il completamento dei processi cron in esecuzione.

Installare il nuovo software Moodle

Recuperare la versione attuale del software da:

wget https://sourceforge.net/projects/moodle/files/

Pacchetto di installazione standard

  1. Spostare i vecchi file del software Moodle in un'altra posizione. NON copiare nuovi file sui vecchi file.
  2. Decomprimere il file di aggiornamento in modo che tutti i file di programma del software Moodle si trovino nella posizione in cui i vecchi file erano presenti sul server. Se necessario, Moodle sistemerà SQL e i moodledata.
  3. Copiare il vecchio file config.php nella nuova directory di Moodle.
  4. Come accennato in precedenza, se dei plugin erano stati precedentemente installati sul sito, occorre aggiungerli ora alla nuova struttura del codice (struttura della directory di Moodle). È importante verificare di avere la versione corretta dei plugin per la nuova versione di Moodle. Prestare particolare attenzione a non sovrascrivere alcun codice nella nuova versione di Moodle e posizionare le cartelle dei plugin nella directory corretta (la stessa directory in cui si trovano nell'installazione corrente).
  5. La cartella moodledata deve essere collocata separatamente nella cartella del codice Moodle, pertanto non ci dovrebbe essere bisogno di fare nulla. Moodle 3.0 lancia un avvertimento se si trova in una cartella accessibile dal web. Se si sta spostando l'installazione su un nuovo server o su una nuova posizione sul server, occorrerà seguire la documentazione relativa alla Migrazione.

Linux

mv moodle moodle.backup
tar xvzf moodle-3.5.tgz

Successivamente, copiare sul file config.php eventuali plugin personalizzati e il file .htaccess se ne è stato creato uno. Controllare che i plugin personalizzati siano nella versione corretta per il nuovo Moodle:

cp moodle.backup/config.php moodle
cp -pr moodle.backup/theme/mytheme moodle/theme/mytheme
cp -pr moodle.backup/mod/mymod moodle/mod/mymod

Non dimenticare di rendere moodle/config.php (e il resto del codice sorgente) leggibili dal web server. Idealmente i file non dovrebbero essere scrivibili dal server.

chown -R www-data:www-data moodle (Linux debian - passare a utente e gruppo appropriati per la versione del sistema operativo)
chmod -R 755 moodle

Se si utilizza cron, cron.php deve essere eseguibile e deve utilizzare il comando php corretto:

chmod 740 admin/cli/cron.php (some configurations need chmod 750 or chmod 755)

Se necessario, copiare la prima riga da cron.php (se appare come #!/usr/local/bin/php oppure #!/usr/local/bin/php5.3 non occorre copiare '<? php'). Tuttavia, per un semplice aggiornamento non dovrebbe essere necessario modificare nulla del cron.

Utilizzare Git

Per aggiornare il sito Moodle è possibile utilizzare Git. Consultare Git per Amministratori per ulteriori dettagli.

Aggiornamento via riga di comando

Sui server Linux, Moodle 3.5 supporta l'esecuzione dell'aggiornamento via riga di comando. Questa modalità è probabilmente più affidabile, in particolare per i siti di grandi dimensioni.

Terminare l'aggiornamento

L'ultimo passo è attivare i processi di aggiornamento all'interno di Moodle.

Se precedentemente il sito era stato messo in manutenzione, ripristinare la normale operatività disattivando la modalità manutenzione da Amministrazione del sito > Notifiche.

Moodle rileverà automaticamente la nuova versione ed eseguirà tutti gli aggiornamenti del database SQL o del file system necessari. Se c'è qualcosa che non può fare da solo (molto raro), saranno visualizzati dei messaggi con le indicazioni da seguire.

Supponendo che tutto vada bene, senza messaggi di errore, si potrà iniziare a utilizzare la nuova versione di Moodle godendosi le nuove funzionalità.

Nota: Se più server sono in esecuzione, è necessario eliminare manualmente tutte le cache (da Amministrazione sito > Sviluppo > Svuota cache ) dopo aver completato l'aggiornamento su tutti i server.

Errore irreversibile: Tempo di esecuzione massimo di 30 secondi è stato superato...

Se il server utilizza una lingua principale diversa dall'inglese, si potrebbe incappare in un 'Errore irreversibile: Tempo di esecuzione massimo di 30 secondi è stato superato...' quando si tenta di aggiornarlo. È possibile aggiornare max_execution_time = 160 su php.ini per concedere agli script il tempo sufficiente per elaborare l'aggiornamento della lingua. Altrimenti, si può passare all'inglese come lingua predefinita prima di eseguire l'aggiornamento e tornare alla lingua originale dopo l'aggiornamento. Consultare la discussione (EN) Fatal error: Maximum execution time of 30 seconds exceeded sul forum.

Dopo l'aggiornamento

Il file config.php dell'installazione dovrebbe funzionare bene, ma se si dà un'occhiata al file config-dist.php fornito con Moodle 3.0 ci sono più/diverse opzioni disponibili (ad esempio driver e impostazioni del database). È una buona idea mappare le vecchie impostazioni di config.php alle nuove basate su config-dist.php 3.0.

Cron

Cron è stato aggiornato in modo importante (consultare (EN) MDL-25499) e ora supporta sia le attività programmate che quelle ad hoc.

I benefici di questi cambiamenti sono:

  • La pianificazione per ogni attività può essere configurata dall'Amministratore.
  • Le attività possono essere eseguite in parallelo.
  • I processi cron utilizzano il blocco per impedire che la stessa attività venga eseguita contemporaneamente da processi diversi.
  • I cluster con più nodi di applicazione identici sono supportati - è possibile eseguire cron su tutti.

In questo modo, cron può essere eseguito molto più spesso permettendo, ad esempio, ai post del forum di essere inviati prima. Per trarre vantaggio dal nuovo sistema cron, si raccomanda vivamente agli Amministratori di aumentare la frequenza con cui cron viene eseguito impostando l'esecuzione ad almeno 'una volta al minuto'.

Potrebbe anche essere necessario modificare gli script automatici per il parsing dell'output di cron. Non è più possibile monitorare semplicemente l'output di cron per la stringa 'Cron script completed correctly' (se è quello che si stava facendo). Un'alternativa è monitorare l'output per la stringa 'task failed'. Se si rileva che un'attività stia fallendo, consultare Debug delle attività pianificate per il debug dell'errore.

Prima dell'aggiornamento, potrebbe essersi verificato un errore cron che impediva l'esecuzione del resto di cron. Un errore in una singola attività non impedirà più l'esecuzione delle restanti attività cron di Moodle, quindi è possibile scoprire bug precedentemente mascherati. È una buona idea monitorare da vicino l'output cron dopo l'aggiornamento.

Compiti

Il vecchio modulo compito (2.2) è stato rimosso dal core ed è stato sostituito da uno stub per supportare la rimappatura trasparente degli URL e il ripristino dei backup del corso dal vecchio modulo a quello nuovo.

Se si sta ancora utilizzando il vecchio modulo compito (2.2), dopo l'aggiornamento a Moodle 3.0 tutte le attività compito (2.2) verranno nascoste. È necessario eseguire l'Assistente per l'aggiornamento dei compiti per mostrare le attività.

Se si ha davvero bisogno di continuare ad usare il vecchio modulo compito (2.2), occorre aggiornare il codice a Moodle 3.0, quindi sostituire la cartella mod/assignment con quella disponibile su (EN) moodlehq/moodle-mod_assignment prima di completare l'aggiornamento.

Possibili problemi che potrebbero interessare gli utenti di Moodle 3.5

  • I preset Moodle sono cambiati. La maggior parte delle variabili Bootstrap 4 sono state modificate così come il modo in cui bootstrap, font awesome e core scss sono inclusi. Per maggiori informazioni sulle modifiche di Bootstrap 4 consultare (EN) Migrating to v4.
// Example code, place scss variables here.
// $font-size-base: 0.9375rem
 
// Import FontAwesome.
@import "fontawesome";
 
// Import All of Bootstrap.
@import "bootstrap";
 
// Import Core moodle CSS.
@import "moodle";
 
// Example code, place scss using Bootstrap mixins and extends here.
// .navbar {
// @include shadow();
// }
  • Il driver PostgreSQL è stato migliorato e, ora, le operazioni get_recordset_xxx () non recuperano tutti i record in memoria per i dataset di grandi dimensioni (> 100000). Può essere configurato o disabilitato utilizzando il nuovo fetchbuffersize (EN) dboption. Si noti che è conosciuto per influenzare le installazioni utilizzando pg_bouncer in modalità transazione. Consultare (EN) MDL-60174 per ulteriori informazioni.

Consultare anche l'elenco dei problemi risolti in Moodle 3.5 etichettati come ui_change.

Miglioramenti di Moodle 3.1, 3.2, 3.3 e 3.4

A seconda della versione da cui si sta eseguendo l'aggiornamento, consultare la sezione 'Possible issues that may affect you' nella documentazione:

Per saperne di più