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

Next revision
Previous revision
doc:appunti:linux:sa:mediawiki_1_30 [2018/02/08 07:33] – created niccolodoc:appunti:linux:sa:mediawiki_1_30 [2018/02/09 12:48] (current) – [Dominio dedicato alla versione mobile] niccolo
Line 3: Line 3:
 ===== MobileFrontend ===== ===== MobileFrontend =====
  
-Nella versione mobile la Pagina principale viene visualizzata con regole diverse, in particolare compaiono i titoli delle sezioni le sezioni sono //collassate// (nascoste), ma non compare la freccia sul titolo che consente di espanderle, come avviene invece per tutte le altre pagine.+La skin predefinita **Vector** non ha buone caratteristiche in ambiente mobile (smartphone). È possibile avere un [[wpit>Design responsivo]] installando un'estensione e una skin opportuna; la soluzione più comune prevede l'uso dell'estensione **[[https://www.mediawiki.org/wiki/Extension:MobileFrontend|MobileFrontend]]** e della skin **[[https://www.mediawiki.org/wiki/Skin:Minerva_Neue|MinervaNeue]]**. Le impostazioni da mettere in **LocalSettings.php** sono: 
 + 
 +<code php> 
 +wfLoadSkin('Vector'); 
 +wfLoadSkin('MinervaNeue'); 
 +$wgDefaultSkin = 'vector'; 
 +$wgMFDefaultSkinClass = 'SkinMinerva'; 
 + 
 +wfLoadExtension( 'MobileFrontend' ); 
 +$wgMFAutodetectMobileView = true; 
 +// Hide switch-language button in Minerva skin 
 +$wgMinervaAlwaysShowLanguageButton = false; 
 +</code> 
 + 
 +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. 
 + 
 +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
 + 
 +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: 
 + 
 +<code php> 
 +!mw.config.get( 'wgIsMainPage' ) && 
 +</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%%**.
  
-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]]**. Una semplice modifica per eliminare la gestione speciale della prima pagina è indicata in questa **[[https://gerrit.wikimedia.org/r/#/c/408833/|patch]]**. 
doc/appunti/linux/sa/mediawiki_1_30.1518071589.txt.gz · Last modified: 2018/02/08 07:33 by niccolo