User Tools

Site Tools


doc:appunti:linux:sa:mediawiki_1_30

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:mediawiki_1_30 [2018/02/08 09:43] – [MediaWiki 1.30 su Debian Stretch] niccolodoc:appunti:linux:sa:mediawiki_1_30 [2018/02/09 12:48] (current) – [Dominio dedicato alla versione mobile] niccolo
Line 1: Line 1:
 ====== MediaWiki 1.30 su Debian Stretch ====== ====== MediaWiki 1.30 su Debian Stretch ======
  
-===== Cache ===== 
- 
-Sembra che con MediaWiki 1.30 il meccanismo di cache sia compatibile anche con l'estensione //MobileFrontend//, è sufficiente che esista la directory **%%./cache/%%** scrivibile al server web. Per forzare il refresh di una pagina è sufficiente aggiungere all'URL il parametro **%%?action=purge%%**. 
 ===== MobileFrontend ===== ===== MobileFrontend =====
  
Line 16: Line 13:
 wfLoadExtension( 'MobileFrontend' ); wfLoadExtension( 'MobileFrontend' );
 $wgMFAutodetectMobileView = true; $wgMFAutodetectMobileView = true;
-$wgMobileUrlTemplate '%h0.m.%h1.%h2';+// Hide switch-language button in Minerva skin 
 +$wgMinervaAlwaysShowLanguageButton false;
 </code> </code>
  
-Questa impostazione sembra che sia **compatibile con il meccanismo di cache** predefinito.+Altre possibili configurazioni dell'estensione ​MobileFrontend sono spiegate nel **[[https://phabricator.wikimedia.org/diffusion/EMFR/browse/master/README.md|README.md]]**. Pare che tutto **funzioni regolarmente con il meccanismo di cache** predefinito.
  
-Il server web (Apache) è configurato per rispondere ai domini **%%www.dominio.tld%%** **%%www.m.dominio.tld%%**: il primo per la versione desktop il secondo per la versione mobile. Apache non ha alcuna configurazione speciale, è il PHP di MediaWiki che decide di servire il contenuto //mobile// quando c'è corrispondenza con il valore di **%%$wgMobileUrlTemplate%%**. Tuttavia in ambiente desktop l'uso del dominio //mobile// non ha effetto, viene visualizzata sempre la versione desktop. Pare che l'unico modo per forzare la visualizzazione mobile su un desktop sia quello di aggiungere all'URL il parametro **%%?useformat=mobile%%**.+Per forzare la visualizzazione mobile su un desktop si può aggiungere'URL il parametro **%%?useformat=mobile%%**. Altri parametri utili sono **%%&mobileaction=toggle_view_desktop%%** e **%%&mobileaction=toggle_view_mobile%%**. 
 + 
 +==== Problema della pagina principale ====
  
 **C'è un problema nella versione mobile** la Pagina principale viene visualizzata in modo speciale: si vedono i titoli delle sezioni, ma **le sezioni sono //collassate//** (nascoste), inoltre **non compare la freccia sul titolo** che consente l'espansione, come avviene per tutte le altre pagine. **C'è un problema nella versione mobile** la Pagina principale viene visualizzata in modo speciale: si vedono i titoli delle sezioni, ma **le sezioni sono //collassate//** (nascoste), inoltre **non compare la freccia sul titolo** che consente l'espansione, come avviene per tutte le altre pagine.
  
-Vi è una lunga discussione sul motivo di tale comportamento (in breve: tutti i siti Wikimedia hanno la home page formattata in modo speciale), vedere il ticket **[[https://phabricator.wikimedia.org/T176414|T176414]]** datl titolo "**%%<h2> expansion fails on Main Page, hence no sections displayed in mobile version%%**". È possibile fare una semplice modifica per eliminare la gestione speciale della prima pagina, vedere questa **[[https://gerrit.wikimedia.org/r/#/c/408833/|patch]]**.+La motivazione di questo problema può essere dedotta da questo articolo: **[[https://www.mediawiki.org/wiki/Mobile_Gateway/Mobile_homepage_formatting|Mobile Gateway/Mobile homepage formatting]]**. Vi è una lunga discussione sulla necessità di tale comportamento (in breve: tutti i siti Wikimedia hanno la home page formattata in modo speciale), vedere il ticket **[[https://phabricator.wikimedia.org/T176414|T176414]]** datl titolo "**%%<h2> expansion fails on Main Page, hence no sections displayed in mobile version%%**". È possibile fare una semplice modifica per eliminare la gestione speciale della prima pagina, vedere questa **[[https://gerrit.wikimedia.org/r/#/c/408833/|patch]]**.
  
 Nel file **%%skins/MinervaNeue/resources/skins.minerva.toggling/init.js%%** si rimuove la riga 40: Nel file **%%skins/MinervaNeue/resources/skins.minerva.toggling/init.js%%** si rimuove la riga 40:
Line 32: Line 32:
 !mw.config.get( 'wgIsMainPage' ) && !mw.config.get( 'wgIsMainPage' ) &&
 </code> </code>
 +
 +==== Dominio dedicato alla versione mobile ====
 +
 +È pratica diffusa che un sito sia disponibile nelle due versioni //desktop// e //mobile// sotto due nomi di dominio diversi, ad esempio **%%www.dominio.tld%%** e **%%www.m.dominio.tld%%**. L'estensione ​MobileFrontend supporta questa opzione aggiungendo la configurazione:
 +
 +<code php>
 +$wgMobileUrlTemplate = '%h0.m.%h1.%h2';
 +</code>
 +
 +Apache non ha bisogno di alcuna configurazione speciale: è il PHP di MediaWiki+​MobileFrontend che decide di servire il contenuto //mobile// quando c'è corrispondenza dell'URL richiesto con il valore di **%%$wgMobileUrlTemplate%%**. Tuttavia in ambiente desktop l'uso del dominio mobile **non ha effetto**, viene visualizzata sempre la versione desktop, mentre l'autodetect del mobile **non funziona** quando si richiede il dominio desktop.
 +
 +Considerato che l'autodetect funziona bene e che è sempre possibile passare da una versione all'altra con il link opportuno mostrato in fundo alle pagine, l'utilizzo di **$wgMobileUrlTemplate** è inutile.
 +
 +Un **valido motivo per attivare il dominio mobile** è avere un URL che funzioni da entry point per la navigazione mobile forzata, indipendente dal dispositivo usato. Per ottenere ciò è indispensabile la collaborazione del server web Apache, che deve aggiungere un apposito header quando viene richiesto il dominio mobile:
 +
 +<file>
 +<VirtualHost *:443>
 +    SSLEngine on
 +    ServerName www.m.domain.tld
 +    ...
 +    RequestHeader set X-Subdomain "1"
 +</VirtualHost>
 +</file>
 +
 +Il MobileFrontend va configurato con il solo **$wgMFAutodetectMobileView** e **$wgMFMobileHeader**, lasciando disattivo il **$wgMobileUrlTemplate**:
 +
 +<code php>
 +// Mobile device detection.
 +$wgMFAutodetectMobileView = true;
 +// MobileFrontend will ignore the requested domain name.
 +//$wgMobileUrlTemplate = '%h0.m.%h1.%h2';
 +// Requests with this header, will be forced as mobile.
 +$wgMFMobileHeader = 'X-Subdomain';
 +</code>
 +===== Cache =====
 +
 +Sembra che con MediaWiki 1.30 il meccanismo di cache sia compatibile anche con l'estensione //MobileFrontend//, è sufficiente che esista la directory **%%./cache/%%** scrivibile al server web. Per forzare il refresh di una pagina è sufficiente aggiungere all'URL il parametro **%%?action=purge%%**.
 +
doc/appunti/linux/sa/mediawiki_1_30.1518079387.txt.gz · Last modified: 2018/02/08 09:43 by niccolo