Extensión: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 |
|
|
|
|
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.
This extension is maintained by the Web team. |
Entre sus características cabe mencionar:
- crea un sitio móvil aparte dedicado a los visitantes que utilizan un dispositivo móvil,
- los administradores del sistema pueden indicar una piel específica, p. ej. Apariencia:Minerva Neue .
- 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 directorioextensions/
.
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)
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.
- Instala la extensión GeoData
- Ejecuta update.php
- En
LocalSettings.php
añade$wgMFNearby = true;
- Determinación de las coordenadas de un artículo:
- 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 . - Si lo prefieres, puedes utilizar una instalación aparte de MediaWiki para la función Nearby añadiendo
$wgMFNearbyEndpoint
a tu archivoLocalSettings.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.
- Añade información de geolocalización a tus artículos utilizando la función
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:
- Piel:Minerva Neue (estable, valor por defecto en las wikis de la WMF)
- Piel:Vector (usada por defecto en escritorio, utiliza un modo adaptable experimental para dispositivos móviles)
- Piel:Timeless (piel experimental)
- Apariencia:MonoBook
- Skin:Citizen - responsive skin
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:
- Extension:GeoData - Ofrece acceso a Special:Nearby y geolocaliza tus artículos.
- Extension:PageImages - Añade imágenes a tus resultados de búsqueda y a artículos cercanos.
- Extension:VisualEditor - Añade edición visual a tu experiencia móvil.
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 .
$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
- Navegadores web para móviles soportados por MobileFrontend
- Extensión:TextExtracts
- Commons:Category:MediaWiki extension MobileFrontend
- Extension:MobileDetect
- Extension:Progressive web application - convierte cualquier wiki en una aplicación para móvil
Referencias
- ↑ :Fatal error: Uncaught ExtensionDependencyError: MobileFrontend is not compatible with the current MediaWiki core (version 1.32.2), it requires: >= 1.33.0.
Esta extensión está siendo usada en uno o más proyectos de Wikimedia. Esto significa probablemente que la extensión es estable y funciona lo suficientemente bien como para ser usada en sitios con gran cantidad de visitas. Puedes buscar el nombre de esta extensión en los archivos CommonSettings.php e InitialiseSettings.php de Wikimedia para ver dónde se instala. Encontrarás la lista completa de extensiones instaladas en un wiki en particular en la página Special:Version del wiki. |
Esta extensión está incluida en los siguientes anfitriones/granjas wiki y/o paquetes: No se trata de una lista oficial. Algunas granjas/hosts wiki y/o paquetes pueden tener disponible esta extensión aunque no estén listados aquí. Siempre compruébelo con su anfitrión o granja wiki para confirmarlo. |