Aggiornamento MediaWiki 1.39 LTS #26

Open
opened 2023-04-15 13:22:34 +00:00 by giomba · 1 comment
Owner

È uscita la nuova versione LTS di MediaWiki.
In questa issue, descrivo la procedura che ho effettuato per installare la vecchia versione nell'ambiente di test, e cosa ho dovuto fare per aggiornarla.
Infine, segno alcune cose ancora da fare, che non sono riuscito a provare, e che andrebbero controllate prima di effettuare queste modifiche nell'ambiente di produzione.

Installazione in ambiente di test

Per poter utilizzare il wiki in ambiente di test, dopo aver ripristinato il backup, è necessario modificare l'hostname web nel file LocalSettings.php come segue:

$wgServer = 'http://127.0.0.1:7050';

Dopodichè, avviare con docker compose up e verificare il corretto funzionamento dell'attuale versione (1.35) collegandosi in locale all'indirizzo specificato.

Aggiornamento

  • nel file docker-compose.yml del wiki, commentare temporaneamente il mount del file LocalSettings.php
  • spostare il file LocalSettings.php in un posto sicuro, per eventuale riferimento futuro
  • aggiornare la versione dell'immagine di MediaWiki nel docker-compose.yml, portandola a 1.39.3
  • docker compose up
  • collegarsi al wizard web per riconfigurare il wiki
  • riconfigurare la connessione al database utilizzando i dati del precedente LocalSettings.php
  • confermare l'aggiornamento delle tabelle del database
  • confermare di voler utilizzare lo stesso account database dell'installazione, una volta terminato
  • ricreare l'account di amministratore (Assassino ?)
  • annotare le credenziali dell'account di amministratore nel keyring su NextCloud
  • scegliere l'opzione "Fammi altre domande"
  • scegliere "creazione utente obbligatoria" per l'editing delle pagine
  • scegliere la licenza "CC BY-SA (attribuzione, condividi allo stesso modo)", che è quella con cui è stato contribuito al wiki probabilmente fin da quando è stato installato per la prima volta nel 2005
  • NON IMPORTARE il tema VectorGOLEM (togliere la spunta)
  • usare Timeless come tema predefinito (almeno per ora)
  • abilitare il WikiEditor
  • abilitare le seguenti estensioni: Math, ParserFunctions, SyntaxHighLight_GeShi
  • consentire il caricamento di file (non specificare la directory dei file cancellati)
  • sostituire il Link Logo icona con quello del GOLEM
  • cancellare tutti gli altri Link loghi
  • confermare tutto, e scaricare il nuovo LocalSettings.php, e sostituirlo a quello vecchio
  • riabilitare il mount del (ormai nuovo) file LocalSettings.php nel docker-compose.yml

Il wiki adesso dovrebbe funzionare correttamente aggiornato.

Da controllare

Prima di effettuare le operazioni sopra elencate nell'ambiente di produzione, manca da controllare il corretto funzionamento delle seguenti funzionalità.

Accanto ad ogni cosa ho segnato oppure ⚠️ , rispettivamente, se mi aspetto che funzionino out-of-the-box, o se invece mi aspetto che possano dare problemi.

  • tema e colori dei template nella home
  • tema e colori dei template Note ⚠️ (esempio: Template::Note , ma volendo si potrebbe anche lasciare "rotto", è più minimale) ▶️
  • tema e colori dei template Sviluppo ⚠️ (esempio: Friction-o-Meter, Fresa) ▶️
  • creazione automatica delle formule Latex (esempio: Friction-o-Meter, IPv6)
  • invio delle email tramite server SMTP (es. reset password) ⚠️
  • caricamento di file sui 15 MiB zip, tar e pdf ⚠️
  • raw HTML nel markup delle pagine ⚠️
  • caricamento di una immagine, inserimento in una pagina e verifica della corretta generazione di tutte le Thumbnail; volendo si può usare anche <gallery> per provare

Aggiornamento tema

▶️ Ho scoperto che si può personalizzare un po' il CSS del wiki semplicemente modificando la pagina MediaWiki:Common.css. A questo punto direi di risolvere la faccenda dei Template:Note e Template:Sviluppo aggiungendo lo stile mancante in MediaWiki:Common.css, invece che nel tema personalizzato.

Per poter modificare il MediaWiki:Common.css, si devono prima aggiungere le seguenti righe al LocalSettings.php per abilitare i permessi:

$wgGroupPermissions['user']['editinterface'] = true;
$wgGroupPermissions['user']['editsitecss'] = true;

Aggiungere le seguenti righe al MediaWiki:Common.css:

  • nel blocco del tema desktop:
/* Template::Sviluppo -- versione desktop */
.golem-mw-template-sviluppo {
    float: right;
    width: 240px;
    color: white;
    padding: 5px;
    margin-left: 15px;
    border-radius: 15px;
    font-weight: bold;
}
  • nel blocco del tema mobile:
/* Template::Sviluppo -- versione mobile */
.golem-mw-template-sviluppo {
    width: 240px;
    color: white;
    padding: 5px;
    border-radius: 15px;
    font-weight: bold;
    margin: 0 auto;
    clear: both;
}
  • in fondo, fuori dai blocchi (dunque, a comune):
/* Stile per Template::Note -- both desktop and mobile */
.golem-template-note {
    padding: 4px;
}
.golem-template-note-info {
  background-color: #D6FEFF;
  border: 1px solid #72E4FF;
}
.golem-template-note-example {
  background-color: #E2FFE3;
  border: 1px solid #00CB07;
}
.golem-template-note-reminder {
  background-color: #FFFCC0;
  border: 1px solid #D4D400;
}
.golem-template-note-warning {
  background-color: #FFFCC0;
  border: 1px solid #D4D400;
}
.golem-template-note-attention {
  background-color: #FFD0CA;
  border: 1px solid #AD1400;
}

Tema

Il tema personalizzato VectorGOLEM, basato sull'originale di MediaWiki, ovviamente si spacca (si spacca male, nel senso che MediaWiki si rifiuta proprio di avviarsi, non solo se lo si attiva, ma anche se solo lo si importa).
Il tema personalizzato consente di avere la barra carina in alto, uniformata a quanto avviene anche sul blog (e infatti c'è un tema personalizzato anche per Wordpress).

Il tema personalizzato consente anche di avere degli stili per i Template:Note e Template:Sviluppo, ma suggerisco di adottare la soluzione descritta sopra per modificare il MediaWiki:Common.css.

Opzioni:

  • vogliamo continuare a mantenere il VectorGOLEM e aggiustarlo
  • vogliamo provare questa estensione (potenzialmente meglio mantenuta) che aveva provato @giuliof
  • vogliamo abbandonare il tema personalizzato, tanto lo si usa solo su Wordpress e Mediawiki, e non su Gitea, né su Nextcloud, e puntualmente si spacca ad ogni aggiornamento

Eventualmente aprirei anche una discussione a parte.

EDIT: A seconda delle emoji utilizzate, Gitea crasha con un HTTP/500, quando si salva il commento. Ottimo.

È uscita la nuova versione LTS di MediaWiki. In questa issue, descrivo la procedura che ho effettuato per installare la vecchia versione nell'ambiente di test, e cosa ho dovuto fare per aggiornarla. Infine, segno alcune cose ancora da fare, che non sono riuscito a provare, e che andrebbero controllate prima di effettuare queste modifiche nell'ambiente di produzione. # Installazione in ambiente di test Per poter utilizzare il wiki in ambiente di test, dopo aver ripristinato il backup, è necessario modificare l'hostname web nel file `LocalSettings.php` come segue: ```php $wgServer = 'http://127.0.0.1:7050'; ``` Dopodichè, avviare con `docker compose up` e verificare il corretto funzionamento dell'attuale versione (1.35) collegandosi in locale all'indirizzo specificato. # Aggiornamento - nel file `docker-compose.yml` del wiki, commentare temporaneamente il mount del file `LocalSettings.php` - spostare il file `LocalSettings.php` in un posto sicuro, per eventuale riferimento futuro - aggiornare la versione dell'immagine di MediaWiki nel `docker-compose.yml`, portandola a `1.39.3` - `docker compose up` - collegarsi al wizard web per riconfigurare il wiki - riconfigurare la connessione al database utilizzando i dati del precedente `LocalSettings.php` - confermare l'aggiornamento delle tabelle del database - confermare di voler utilizzare lo stesso account database dell'installazione, una volta terminato - ricreare l'account di amministratore (`Assassino` ?) - annotare le credenziali dell'account di amministratore nel keyring su NextCloud - scegliere l'opzione "Fammi altre domande" - scegliere "creazione utente obbligatoria" per l'editing delle pagine - scegliere la licenza "CC BY-SA (attribuzione, condividi allo stesso modo)", che è quella con cui è stato contribuito al wiki probabilmente fin da quando è stato installato per la prima volta nel 2005 - **NON IMPORTARE** il tema VectorGOLEM (togliere la spunta) - usare *Timeless* come tema predefinito (almeno per ora) - abilitare il *WikiEditor* - abilitare le seguenti estensioni: Math, ParserFunctions, SyntaxHighLight_GeShi - consentire il caricamento di file (non specificare la directory dei file cancellati) - sostituire il Link Logo icona con quello del GOLEM - cancellare tutti gli altri Link loghi - confermare tutto, e scaricare il nuovo `LocalSettings.php`, e sostituirlo a quello vecchio - riabilitare il mount del (ormai nuovo) file `LocalSettings.php` nel `docker-compose.yml` Il wiki adesso dovrebbe funzionare correttamente aggiornato. # Da controllare Prima di effettuare le operazioni sopra elencate nell'ambiente di produzione, manca da controllare il corretto funzionamento delle seguenti funzionalità. Accanto ad ogni cosa ho segnato ✅ oppure ⚠️ , rispettivamente, se mi aspetto che funzionino out-of-the-box, o se invece mi aspetto che possano dare problemi. - tema e colori dei template nella home ✅ - tema e colori dei template `Note` ⚠️ (esempio: `Template::Note` , ma volendo si potrebbe anche lasciare "rotto", è più minimale) ▶️ - tema e colori dei template `Sviluppo` ⚠️ (esempio: Friction-o-Meter, Fresa) ▶️ - creazione automatica delle formule Latex ✅ (esempio: Friction-o-Meter, IPv6) - invio delle email tramite server SMTP (es. reset password) ⚠️ - caricamento di file sui 15 MiB zip, tar e pdf ⚠️ - raw HTML nel markup delle pagine ⚠️ - caricamento di una immagine, inserimento in una pagina e verifica della corretta generazione di tutte le Thumbnail; volendo si può usare anche `<gallery>` per provare ✅ ## Aggiornamento tema ▶️ Ho scoperto che si può personalizzare un po' il CSS del wiki semplicemente modificando la pagina `MediaWiki:Common.css`. A questo punto direi di risolvere la faccenda dei `Template:Note` e `Template:Sviluppo` aggiungendo lo stile mancante in `MediaWiki:Common.css`, invece che nel tema personalizzato. Per poter modificare il `MediaWiki:Common.css`, si devono prima aggiungere le seguenti righe al `LocalSettings.php` per abilitare i permessi: ```php $wgGroupPermissions['user']['editinterface'] = true; $wgGroupPermissions['user']['editsitecss'] = true; ``` Aggiungere le seguenti righe al `MediaWiki:Common.css`: * nel blocco del tema desktop: ```css /* Template::Sviluppo -- versione desktop */ .golem-mw-template-sviluppo { float: right; width: 240px; color: white; padding: 5px; margin-left: 15px; border-radius: 15px; font-weight: bold; } ``` * nel blocco del tema mobile: ```css /* Template::Sviluppo -- versione mobile */ .golem-mw-template-sviluppo { width: 240px; color: white; padding: 5px; border-radius: 15px; font-weight: bold; margin: 0 auto; clear: both; } ``` * in fondo, fuori dai blocchi (dunque, a comune): ```css /* Stile per Template::Note -- both desktop and mobile */ .golem-template-note { padding: 4px; } .golem-template-note-info { background-color: #D6FEFF; border: 1px solid #72E4FF; } .golem-template-note-example { background-color: #E2FFE3; border: 1px solid #00CB07; } .golem-template-note-reminder { background-color: #FFFCC0; border: 1px solid #D4D400; } .golem-template-note-warning { background-color: #FFFCC0; border: 1px solid #D4D400; } .golem-template-note-attention { background-color: #FFD0CA; border: 1px solid #AD1400; } ``` # Tema Il tema personalizzato [VectorGOLEM](https://git.golem.linux.it/golem/VectorGOLEM), basato sull'originale di MediaWiki, ovviamente si spacca (si spacca male, nel senso che MediaWiki si rifiuta proprio di avviarsi, non solo se lo si attiva, ma anche se solo lo si importa). Il tema personalizzato consente di avere la barra carina in alto, uniformata a quanto avviene anche sul blog (e infatti c'è un tema personalizzato anche per Wordpress). Il tema personalizzato consente anche di avere degli stili per i `Template:Note` e `Template:Sviluppo`, ma suggerisco di adottare la soluzione descritta sopra per modificare il `MediaWiki:Common.css`. Opzioni: - vogliamo continuare a mantenere il VectorGOLEM e aggiustarlo - vogliamo provare [questa estensione](https://git.golem.linux.it/giuliof/GolemNavBar) (potenzialmente meglio mantenuta) che aveva provato @giuliof - vogliamo abbandonare il tema personalizzato, tanto lo si usa solo su Wordpress e Mediawiki, e non su Gitea, né su Nextcloud, e puntualmente si spacca ad ogni aggiornamento Eventualmente aprirei anche una discussione a parte. EDIT: A seconda delle emoji utilizzate, Gitea crasha con un HTTP/500, quando si salva il commento. Ottimo.
giomba self-assigned this 2023-04-15 13:28:53 +00:00
gbiotti was assigned by giomba 2023-04-15 13:28:53 +00:00
systemctl was assigned by giomba 2023-04-15 13:28:54 +00:00
Owner

Il tema personalizzato consente anche di avere degli stili per i Template:Note e Template:Sviluppo, ma suggerisco di adottare la soluzione descritta sopra per modificare il MediaWiki:Common.css.

Sono d'accordo su questo punto, dopotutto i template sono nostre personalizzazioni circoscritte al wiki, è bene che stiano lì.

Opzioni:

  • vogliamo continuare a mantenere il VectorGOLEM e aggiustarlo
  • vogliamo provare questa estensione (potenzialmente meglio mantenuta) che aveva provato @giuliof
  • vogliamo abbandonare il tema personalizzato, tanto lo si usa solo su Wordpress e Mediawiki, e non su Gitea, né su Nextcloud, e puntualmente si spacca ad ogni aggiornamento

L'ultimo punto non mi convince. Abbiamo fatto molta fatica per mettere su questa barra che fungesse da collante per rendere più fruibile il sito al pubblico, mi scoccerebbe tirar tutto nel cestino.

Stasera ho ripreso in mano quel GolemNavBar che rubai ad ArchLinux ormai un anno fa e, incredibilmente, ha funzionato alla prima senza necessità di allinearlo all'ultimo commit.
Per attivare questa estensione è sufficiente:

  1. clonare il repository nella root di MediaWiki come extensions/ArchLinux (o, nel nostro caso, linkarlo opportunamente come volume nel compose file;
  2. Aggiungere al LocalSettings.php l'import dell'estensione e la lista delle voci menù (vedere sotto);
  3. impostare il tema Vector come predefinito, visto che l'estensione è stata fatta per quello (funziona sia sulla versione legacy che su quella 2022, più responsive per dispositivi mobili).

Ci sarà comunque bisogno di metterci un attimo le mani nel layout mobile. Però intanto la barra non spacca il tema né nella forma desktop né in quella mobile (ho allegato un paio di screen di riferimento).

Modifiche al LocalSettings.php:

wfLoadExtension( 'ArchLinux' );
$wgArchNavBar = [
   # "I computer sceglierebbero Linux" => "", ## Questo in realtà non è un link! Dovrà andare nell'id "motto"
   "Chi siamo" => "http://golem.linux.it/wiki/Chi_siamo",
   "Contatti" => "http://golem.linux.it/wp/contatti/" ,
   "Blog" => "https://blog.golem.linux.it/" ,
   "Wiki" => "https://wiki.golem.linux.it/" ,
   "Recupero Hardware" => "http://golem.linux.it/wiki/Recupero_Hardware" ,
];
> Il tema personalizzato consente anche di avere degli stili per i `Template:Note` e `Template:Sviluppo`, ma suggerisco di adottare la soluzione descritta sopra per modificare il `MediaWiki:Common.css`. Sono d'accordo su questo punto, dopotutto i template sono nostre personalizzazioni circoscritte al wiki, è bene che stiano lì. > Opzioni: > - vogliamo continuare a mantenere il VectorGOLEM e aggiustarlo > - vogliamo provare [questa estensione](https://git.golem.linux.it/giuliof/GolemNavBar) (potenzialmente meglio mantenuta) che aveva provato @giuliof > - vogliamo abbandonare il tema personalizzato, tanto lo si usa solo su Wordpress e Mediawiki, e non su Gitea, né su Nextcloud, e puntualmente si spacca ad ogni aggiornamento L'ultimo punto non mi convince. Abbiamo fatto molta fatica per mettere su questa barra che fungesse da collante per rendere più fruibile il sito al pubblico, mi scoccerebbe tirar tutto nel cestino. Stasera ho ripreso in mano quel GolemNavBar che rubai ad ArchLinux ormai un anno fa e, incredibilmente, ha funzionato alla prima senza necessità di allinearlo all'[ultimo commit](https://github.com/archlinux/archwiki/tree/master/extensions/ArchLinux). Per attivare questa estensione è sufficiente: 1. clonare il repository nella root di MediaWiki come `extensions/ArchLinux` (o, nel nostro caso, linkarlo opportunamente come volume nel compose file; 2. Aggiungere al `LocalSettings.php` l'import dell'estensione e la lista delle voci menù (vedere sotto); 3. impostare il tema Vector come predefinito, visto che l'estensione è stata fatta per quello (funziona sia sulla versione legacy che su quella 2022, più responsive per dispositivi mobili). Ci sarà comunque bisogno di metterci un attimo le mani nel layout mobile. Però intanto la barra non spacca il tema né nella forma desktop né in quella mobile (ho allegato un paio di screen di riferimento). Modifiche al `LocalSettings.php`: ```php wfLoadExtension( 'ArchLinux' ); $wgArchNavBar = [ # "I computer sceglierebbero Linux" => "", ## Questo in realtà non è un link! Dovrà andare nell'id "motto" "Chi siamo" => "http://golem.linux.it/wiki/Chi_siamo", "Contatti" => "http://golem.linux.it/wp/contatti/" , "Blog" => "https://blog.golem.linux.it/" , "Wiki" => "https://wiki.golem.linux.it/" , "Recupero Hardware" => "http://golem.linux.it/wiki/Recupero_Hardware" , ]; ```
Sign in to join this conversation.
No Milestone
No project
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: golem/morgan#26
No description provided.