Extensión:MobileFrontend

This page is a translated version of the page Extension:MobileFrontend and the translation is 95% complete.
Outdated translations are marked like this.
Manual de extensiones de MediaWiki
MobileFrontend
Estado de la versión: estable
Implementación Interfaz de usuario, Gancho
Descripción Proporciona una vista compatible con dispositivos móviles
Autor(es)
Última versión 2.4.1
Política de compatibilidad Lanza instantáneas junto con MediaWiki. La rama maestra no es retrocompatible.
MediaWiki 1.33+[1]
PHP 5.5.9+
Licencia Licencia Pública General de GNU 2.0 o posterior
Descargar
README
Ejemplo m.mediawiki.org
  • $wgMFSearchGenerator
  • $wgMFStopRedirectCookieHost
  • $wgMFShowMobileViewToTablets
  • $wgMFLazyLoadImages
  • $wgMFRSSFeedLink
  • $wgMFNamespacesWithLeadParagraphs
  • $wgMFAmcOutreachMinEditCount
  • $wgMFEnableMobilePreferences
  • $wgMFMobileFormatterOptions
  • $wgMFRemovableClasses
  • $wgMFNoindexPages
  • $wgMFShowFirstParagraphBeforeInfobox
  • $wgMFEnableVEWikitextEditor
  • $wgMFVaryOnUA
  • $wgMFLogWrappedInfoboxes
  • $wgMFDisplayWikibaseDescriptions
  • $wgMFEnableJSConsoleRecruitment
  • $wgMobileFrontendFormatCookieExpiry
  • $wgMFLazyLoadSkipSmallImages
  • $wgMFSearchAPIParams
  • $wgMFMobileHeader
  • $wgMFCustomSiteModules
  • $wgMFEnableXAnalyticsLogging
  • $wgMFAutodetectMobileView
  • $wgMFSiteStylesRenderBlocking
  • $wgDefaultMobileSkin
  • $wgMFUseDesktopSpecialEditWatchlistPage
  • $wgMFEnableFontChanger
  • $wgMFScriptPath
  • $wgMFEditNoticesConflictingGadgetName
  • $wgMFAdvancedMobileContributions
  • $wgMFFallbackEditor
  • $wgMFStopMobileRedirectCookieSecureValue
  • $wgMFSpecialPageTaglines
  • $wgMFQueryPropModules
  • $wgMFNamespacesWithoutCollapsibleSections
  • $wgMFBetaFeedbackLink
  • $wgMFDefaultEditor
  • $wgMFAmcOutreach
  • $wgMFManifestBackgroundColor
  • $wgMFManifestThemeColor
  • $wgMFEnableManifest
  • $wgMFEnableWikidataDescriptions
  • $wgMFUseWikibase
  • $wgMFTrackBlockNotices
  • $wgMFEnableBeta
  • $wgMobileUrlCallback
Descargas trimestrales 317 (Ranked 3rd)
Wikis públicos que lo utilizan 9,025 (Ranked 14th)
Traduce la extensión MobileFrontend si está disponible en translatewiki.net
Incidentes Tareas abiertas · Reportar un error

La extensión MobileFrontend ayuda a mejorar la apariencia de una instalación de MediaWiki en dispositivos móviles.

Entre sus características cabe mencionar:

  • crea un sitio móvil aparte dedicado a los visitantes que utilizan un dispositivo móvil,
  • proporciona varias transformaciones al contenido para que éste sea más compatible con dispositivos móviles,
    • el cambio más sustancial consiste en la ocultación (pliegue) de secciones y la reordenación y eliminación de determinados contenidos, incluyendo colocar el párrafo inicial o entradilla sobre la foto de cabecera o la ficha, aún en el caso de que el párrafo inicial aparezca debajo en el código fuente de la página.
  • simplifica el pie de página en el sitio móvil y añade un enlace a la versión de escritorio/móvil,
  • proporciona un modo beta con un sistema de gestión de opciones que permite probar características experimentales para usuarios anónimos.

Esta página está diseñada para usuarios finales que deseen instalar la extensión en un sistema de desarrollo. Si te interesa ayudarnos a desarrollarla y mejorarla, te animamos a que participes.

Requisitos previos

Antes de instalar MobileFrontend, si usas muchas plantillas y/o estilos en línea (el atributo style), deberías revisar tu contenido para ver si es compatible con dispositivos móviles. La extensión TemplateStyles puede utilizarse para dar estilo al contenido de forma que se vea bien tanto en móviles como en escritorio. ¡MobileFrontend no puede hacer magia!

En particular, quizá te interese revisar tu página principal. Consulta Formato de página principal para móvil.

Instalación

  • Descarga y mueve la carpeta MobileFrontend extraída a tu directorio extensions/.
    Los desarrolladores y contribuidores de código deberían instalar la extensión desde Git en su lugar, usando:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileFrontend
    
  • Añade el siguiente código en la parte final de tu archivo LocalSettings.php :
    wfLoadExtension( 'MobileFrontend' );
    
  • Si lo necesitas, configura la extensión a tu gusto.
  •   Hecho – Navega a Special:Version en el wiki para verificar que la extensión se haya instalado correctamente.


Instalación Vagrant:

  • Si se utiliza Vagrant , instala con vagrant roles enable mobilefrontend --provision

Configuración de Nearby (páginas cercanas)

La función Nearby (páginas cercanas) de MobileFrontend se eliminó en MediaWiki 1.40. Para sustituirla, existe una versión reescrita de esta característica en Extension:NearbyPages .

MobileFrontend proporciona la página Special:Nearby con algo de configuración. Para que esto funcione, son necesarios algunos pasos opcionales:

  • Por una cuestión de seguridad que atañe a los navegadores, tendrás que estar utilizando un sitio seguro basado en SSL — no se puede solicitar la localización de un usuario vía HTTP.
  1. Instala la extensión GeoData
  2. Ejecuta update.php
  3. En LocalSettings.php añade $wgMFNearby = true;
  4. Determinación de las coordenadas de un artículo:
    1. Añade información de geolocalización a tus artículos utilizando la función coordinates del intérprete, por ejemplo {{#coordinates:37.786971|-122.399677|primary}}. Para ver la sintaxis, consulta la documentación de GeoData .
    2. Si lo prefieres, puedes utilizar una instalación aparte de MediaWiki para la función Nearby añadiendo $wgMFNearbyEndpoint a tu archivo LocalSettings.php. Por ejemplo, $wgMFNearbyEndpoint = 'https://en.m.wikipedia.org/w/api.php'; hará que se usen coordenadas tomadas de artículos de Wikipedia en inglés. Se utilizará el punto final cercano para encontrar contenido relacionado con una posición determinada.

Seleccionar una piel

MobileFrontend te proporciona un sitio web en formato móvil para utilizar junto con tu sitio web existente de escritorio. Puedes darle la apariencia que prefieras.

// Elige uno de estos pares de líneas y añade el código al final del archivo LocalSettings.php:
wfLoadSkin( 'MinervaNeue' );
$wgDefaultMobileSkin = 'minerva'; // usar piel Minerva (Necesitarás descargarla e instalarla por tu cuenta en MediaWiki 1.37 o anteriores, de lo contrario se producirá una excepción)
wfLoadSkin( 'Vector' );
$wgDefaultMobileSkin = 'vector'; // usar piel Vector
wfLoadSkin( 'Timeless' );
$wgDefaultMobileSkin = 'timeless'; // usar piel Timeless

Las siguientes pieles son compatibles con MobileFrontend:

Ajustes de configuración

Véase Extension:MobileFrontend/Configuration

Todas las opciones de configuración vienen detalladas en el archivo README.md.

Retoques adicionales

Sácale el máximo partido a MobileFrontend añadiendo estas extensiones opcionales que son compatibles:

Personalización local

Estilos CSS

Versión de MediaWiki:
1.40

Para aplicar CSS a tu tema móvil, edita MediaWiki:Mobile.css, la contrapartida de MediaWiki:Common.css. Para que la hoja de estilos funcione, puede que necesites añadir mw.loader.using('mobile.site.styles') a tu MediaWiki:Mobile.js.

MobileFrontend no carga la hoja de estilos global MediaWiki:Common.css, ni tampoco ninguna de las hojas personales de los usuarios.

Más información

Si quieres probar la extensión móvil en un navegador de escritorio o si tu dispositivo no termina de utilizar la versión móvil como es debido, puedes añadir esta pareja de clave-valor a la cadena de la URL: ?useformat=mobile. Por ejemplo: https://en.wikipedia.org/wiki/MediaWiki?useformat=mobile

Si quieres ver la versión móvil de una página sin activar la extensión de forma general para todo el sitio web, también puedes hacerlo añadiendo la cadena al URL de esa página en concreto.

Funciones heredadas de MobileFrontend

Tradicionalmente, MobileFrontend ha sido siempre una extensión muy grande. Muchas características han superado sus requerimientos o lo harán en un futuro. Estas características se detallan a continuación.

API

La extensión MobileFrontend ofrece una serie de APIs que a largo plazo esperamos poder retirar en favor del Servicio de contenido de página. Utiliza estos APIs bajo tu responsabilidad. Insistimos en que pueden desaparecer, aunque te avisaremos con suficiente antelación cuando esto vaya a suceder.

action=parse extendido

action=parse acepta parámetros extra:

mobileformat=
Devuelve el HTML de la página presentada en un formato móvil 1.23+.
mainpage
Aplicar transformaciones a la versión móvil de la página principal.

Ejemplo:

Resultado
{
    "parse": {
        "title": "Therion (band)",
	    "text": {
            "*": "<div><table class=\"infobox vcard plainlist\" style=\"width:22em\"><tr><th colspan=\"2\" style=\"text-align:center;font-size:125%;font-weight:bold;background-color: #b0c4de\"><span class=\"fn org\">Therion</span></th>\n</tr><tr><td colspan=\"2\" style=\"text-align:center\"><a href=\"/wiki/File:2130860153_281d30b3bf_b.jpg\" class=\"image\">
            ...

meta=siteinfo

El dominio de la versión móvil del sitio (que puede o no coincidir con el dominio normal) está disponible a través de la clave mobileserver de la información general del sitio que ofrece siteinfo.

Para desarrolladores/administradores de sistemas

Configuración

Dependiendo de lo que hagas con la extensión, puedes necesitar ejecutar npm install e instalar Composer para que el gancho pre-commit se ejecute.

Pruebas con artículos en un wiki externo (información en vivo)

Véase Extension:MobileFrontendContentProvider .

Uso de la versión móvil

Sitios de la WMF

En los sitios gestionados por la Fundación Wikimedia utilizamos servidores de caché Varnish para comprobar el agente de usuario de tu dispositivo.

Sitios ajenos a la WMF

Para sitios no relacionados con la WMF puedes preparar una configuración que imite cómo se hacen las cosas en la WMF (detección de dispositivo en la capa del proxy y ajustar cabeceras X-Device específicas), o bien puedes simplemente usar "?useformat=mobile" para ver la versión móvil de un artículo. See Extension:MobileFrontend/Configuring browser auto-detection .

A partir de la instantánea 1.28 de la extensión, el valor por defecto de $wgMFMobileHeader cambió de X-WAP a X-Subdomain. Puedes usar $wgMFMobileHeader = 'X-WAP'; o bien modificar el valor de tu cabecera de caché (Varnish), siempre que coincidan.

Usar Apache (.htaccess o httpd.conf)

Para configurar un dominio móvil, añade la siguiente regla a .htaccess o httpd.conf

<IfModule mod_headers.c>
<If "req('Host') =~ /^mobile./i">
RequestHeader set X-Subdomain "mobile"
</If>
</IfModule>

En tu archivo hosts (suponiendo que tu sitio de escritorio esté en localhost):

127.0.0.1  mobile.localhost

En LocalSettings.php:

wfLoadExtension('MobileFrontend');

$wgMFAutodetectMobileView = true;
$wgMobileUrlCallback = fn( $domain ) => "mobile.$domain";

Si ahora visitas mobile.localhost deberías poder ver el sitio móvil.

Preguntas frecuentes

Las siguientes preguntas se plantean a menudo en nuestra página de discusión. Por favor, consulta esta lista antes de reiterar estas cuestiones en la página de discusión, o utiliza el tema ya existente (si está disponible) para pedir aclaraciones.

P: ¿Cómo detecto el sitio móvil usando código?

Lo ideal sería que no necesitaras hacer esto. It is preferable to use mw.config.get('skin') or window.matchMedia('(max-width: 1119px)').matches to detect a mobile user. You can also make use of the stable mw-mf class which is present on the BODY element if the mobile site is active.

Si tu código realiza modificaciones en el contenido, quizá necesites actualizar tu código para detectar lenguaje de marcado de MobileFrontend inspeccionando el DOM para comprobar si se presentan ciertos elementos.

Please note while mw.config.get( 'wgMFMode' ) exists and can be used by extensions as a last resort (for now) it should not be considered stable for use by gadgets.

P: ¿Cómo personalizo el menú principal de la piel Minerva?

R: Esta cuestión está planteada en phabricator pero puedes consultar Extension talk:MobileFrontend/2017#h-MODIFY THE MAIN MENU-2017-01-04T02:24:00.000Z para ver una solución provisional.

P: ¿Cómo añado HTML a la piel Minerva, por ejemplo para añadir anuncios o etiquetas adicionales de script?

R: Puedes hacer esto editando el archivo de plantilla de la piel (actualmente include/skins/minerva.mustache). Mira esta discusión para más detalles. See this discussion for details.

P: La extensión que estoy usando no parece funcionar con MobileFrontend, ¿por qué?

R: Es probable que la extensión sea antigua y necesite añadir compatibilidad con MobileFrontend. Por favor, contacta con la persona que desarrolla la extensión y dirígela a ResourceLoader/Writing a MobileFrontend friendly ResourceLoader module. Por favor, no escribas sobre esto en la página de discusión, ya que en este caso sería más útil plantear un fallo en Phabricator (puedes identificarte con la misma cuenta que utilizas en MediaWiki.org) para obtener una respuesta más rápida.

P: ¡He actualizado MobileFrontend y ahora me encuentro con una excepción fatal!

R: Probablemente estás utilizando versiones de MobileFrontend y MediaWiki incompatibles entre sí. En la mayor parte de los casos no podemos ayudarte con esto. Prueba a actualizar MobileFrontend o MediaWiki para resolver el problema.

P: Después de actualizar MediaWiki me encuentro con una excepción que dice que wgMFDefaultSkinClass no está configurado correctamente.

R: Actualmente MobileFrontend da por supuesto que tienes instalada la piel Minerva Neue . Si no es el caso, tendrás que instalarla o elegir la piel de tu sitio móvil siguiendo las instrucciones de arriba.

Para dearrolladores de extensiones

Por defecto, los módulos de recursos para las extensiones no se cargarán en la versión móvil.

Si resulta necesario cargar un módulo en la versión movil, esta guía para escribir módulos compatibles con MobileFrontend te será de ayuda.

Véase también

Referencias

  1. :Fatal error: Uncaught ExtensionDependencyError: MobileFrontend is not compatible with the current MediaWiki core (version 1.32.2), it requires: >= 1.33.0.