Rev 378 - Nuovo sistema di aggiornamento automatico

Annunci e file degli update

Moderatore: roby

Rispondi
roby
Site Admin
Site Admin
Messaggi: 1221
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Rev 378 - Nuovo sistema di aggiornamento automatico

Messaggio da roby »

Con la rev 378 viene inserita nel programma una nuova funzione per l'aggiornamento automatico( ma si potrà scegliere parzialmente automatico ) del software.
E' stato inserito un nuovo campo "aggiornamento" nella tabella soraldo_config che può assumere tre valori:
- 0 : il sistema è disabilitato
- 1 : aggiornamento semi automatico, i file vanno scaricati a mano e inseriti in una apposita cartella. In mancanza di questi files l'aggiornamento non viene effettuato. Attualmente questa parte non è stata sviluppata e il programma effettua un normale aggiornamento automatico.
- 2 : aggiornamento automatico, non si deve fare nulla manualmente. Viene avviato automaticamente se l'utente è il superutente e se il campo aggiornamento non è a zero. Il controllo e l'avvio avviene alla prima scelta di una funzione nel menu a sinistra e procede controllando la rev locale e l'ultima disponibile sul trac, se c'è un nuovo aggiornamento viene scaricato il pacchetto con i nuovi file che vanno a sostituire quelli attualmente installati, se tra questi viene scaricato il file aggiornadb.php viene anche lanciato l'aggiornamento del database, se non ci sono errori il programma termina presentando il log delle operazioni e un link per tornare alla pagina di amministrazione.
Il sistema è stato testato su Debian 11, xampp 1.7.4 e xampp 3.2.4
Fate attenzione perché manca la parte di produzione dei backup dell'installazione e del db, fateli a mano prima di scaricare questa rev
roby
Site Admin
Site Admin
Messaggi: 1221
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Re: Rev 378 - Nuovo sistema di aggiornamento automatico

Messaggio da roby »

- Le versioni di php fino alla 5.6 non gestiscono il TLS1.2 o il TLS1.3 quindi la funzione fa un collegamento in http con i conseguenti problemi di sicurezza. Si consiglia di aggiornare a versioni di php superiori.
- Prima di procedere con l'aggiornamento accertarsi che le cartelle admin e client siano entrambe scrivibili dall'utente con cui gira il server web.
- Admin e Client devono essere posizionate nella stessa cartella (ad esempio in /var/www/html/)
- Se la rev corrente è molto vecchia il pacchetto da scaricare può essere consistente e ci può essere un problema di timeout della pagina, in questo caso va aumentato il max_execution_time nel php.ini
roby
Site Admin
Site Admin
Messaggi: 1221
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Re: Rev 378 - Nuovo sistema di aggiornamento automatico

Messaggio da roby »

Per forzare il sistema ad avviare la funzione di aggiornamento si può cambiare il numero di rev nel file versione.php mettendo ad esempio 376
margottid
Newbie
Newbie
Messaggi: 193
Iscritto il: mar mag 12, 2009 12:00 am

Re: Rev 378 - Nuovo sistema di aggiornamento automatico

Messaggio da margottid »

Buongiorno Roberto,
ho aggiornato Eleonline dalla rev. 375 all'ultima disponibile, la rev. 383.

Non ho però trovato il campo "aggiornamento" nella tabella "soraldo_config" come indicato in questo post, poi mi sono accorto che stavo lanciando il file "aggiornadb.php" che è in \admin (e che è quello della rev. 375).

Ho infatti visto che dalla rev. 379 il file aggiornadb.php è stato spostato da "\admin" a "\admin\modules\Elezioni": provando a lanciarlo, però, ottengo questo errore nei log:
[Tue Jan 10 14:33:36 2023] [error] PHP Fatal error: Call to a member function prepare() on a non-object in /admin/modules/Elezioni/aggiornadb.php on line 98
Probabilmente l'errore è dovuto al fatto che il file non va lanciato da browser (infatti è stata commentata la lettura del file "config.php") ma viene richiamato dalla nuova procedura di aggiornamento.

Quindi ho copiato quel file in \admin, ho decommentato la prima parte (che era stata commentata) in modo da fargli leggere il file "config.php", e ho lanciato l'aggiornamento dal browser: stavolta è andato a buon fine, ma ancora non trovo il campo "aggiornamento" nella tabella "soraldo_config".

Ho fatto tutto questo in una installazione di test, mentre quella di produzione è rimasta a metà strada (file aggiornati alla revisione 383 ma con il DB rimasto alla 375).


Ti chiedo pertanto:

1) Posso seguire la stessa procedura sull'installazione di produzione, o mi suggerisci di ritornare alla rev. 375 in attesa di tempi migliori?
Oppure non ci sono modifiche al DB dalla 375 alla 383, e quindi posso ignorare la mancata esecuzione di "aggiornadb.php" sull'installazione di produzione?

2) Come posso aggiungere il campo "aggiornamento" in modo da attivare gli aggiornamenti automatici?
Oppure, se questa funzionalità non è ancora completa, qual è la procedura corretta per aggiornare - anche in futuro - il DB, vista la modifica e lo spostamento di "aggiornadb.php"?

Grazie mille,
   Daniele Margotti
roby
Site Admin
Site Admin
Messaggi: 1221
Iscritto il: ven apr 25, 2008 12:00 am
Contatta:

Re: Rev 378 - Nuovo sistema di aggiornamento automatico

Messaggio da roby »

Ciao Daniele,
la rev 375 non ha ancora la funzione di aggiornamento automatico quindi devi procedere con il vecchio metodo, ti scarichi il pacchetto di aggiornamento dal trac, lo scompatti e lo installi.
Il pacchetto è a questo link:
https://trac.eleonline.it/ele3/changese ... d_path=%2F
Una volta copiati i nuovi files nella installazione cambia il numero di rev nel file admin/versione.php impostandolo a 382, qundi entra come superutente.
Ora dovresti avere la voce di menu Aggiornamento che devi avviare e far eseguire, in questo modo ti vengono riscaricati gli ultimi files e lanciato il file di aggiornamento del db.
Fammi sapere se va tutto bene.
Roberto
margottid
Newbie
Newbie
Messaggi: 193
Iscritto il: mar mag 12, 2009 12:00 am

Re: Rev 378 - Nuovo sistema di aggiornamento automatico

Messaggio da margottid »

Ho seguito la procedura.
Poiché avevo già scaricato il pacchetto 375-383 e sovrascritto i file sull'installazione di Eleonline, ho solo riportato indietro il numero di versione sia nel file \admin\versione.php che nel file \client\versione.php (anche se forse ne bastava uno, ma non ho verificato quale dei due venga controllato dallo script).
Entrando come superutente ho visto il link "Aggionamento" in grassetto: cliccandolo, la procedura è andata a buon fine (nessun errore e nessun messaggio rosso, tutti verdi).

Complimenti per il nuovo sistema di aggiornamento, davvero ben fatto e funzionale, oltre ad essere estremamente utile per venire incontro a chi è alle prime armi, oppure sta utilizzando un server su cui non ha pieno accesso e potrebbe quindi avere difficoltà a fare l'upload dei file o l'aggiornamento del DB senza l'intervento di un sistemista.

Daniele
Rispondi