Extensión:MobileFrontend
Support Level: Active Maintenance This extension is actively maintained by the Reader Growth Team with bug fixes and small feature additions. |
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 | Se publican nuevas 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 |
|
|
|
|
| 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,
- 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
MobileFrontendextraí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)
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:
Note that some of these skins might already be getting loaded in LocalSettings.php, in which case those lines do not need to be repeated.
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 - piel adaptable
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. Mira 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.
Es preferible usar mw.config.get('skin') o window.matchMedia('(max-width: 1119px)').matches para detectar un usuario de móvil.
También puedes usar la clase estable mw-mf que está presente en el elemento BODY si el sitio móvil está activo.
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.
Ten presente que aunque existe mw.config.get( 'wgMFMode' ) y las extensiones pueden utilizarla como último recurso (por el momento) no debería considerarse estable si se usa con 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.
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 móvil, 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. |
- Extensions maintained by Reader Teams/es
- Extensions maintained by Reader Growth/es
- Extensions maintained by Reader Teams - Active Maintenance/es
- Stable extensions/es
- User interface extensions/es
- Hook extensions/es
- GPL licensed extensions/es
- Extensions in Wikimedia version control/es
- APIGetAllowedParams extensions/es
- APIQuerySiteInfoGeneralInfo extensions/es
- AbuseFilter-builder extensions/es
- AbuseFilter-generateUserVars extensions/es
- AfterBuildFeedLinks extensions/es
- ApiBeforeMain extensions/es
- ArticleParserOptions extensions/es
- AuthChangeFormFields extensions/es
- BeforeDisplayNoArticleText extensions/es
- BeforePageDisplay extensions/es
- BeforePageRedirect extensions/es
- CentralAuthLoginRedirectData extensions/es
- CentralAuthSilentLoginRedirect extensions/es
- ChangeTagsListActive extensions/es
- CustomEditor extensions/es
- GetCacheVaryCookies extensions/es
- GetPreferences extensions/es
- HTMLFileCache::useFileCache extensions/es
- ListDefinedTags extensions/es
- LoginFormValidErrorMessages extensions/es
- MakeGlobalVariablesScript extensions/es
- ManualLogEntryBeforePublish extensions/es
- MediaWikiPerformAction extensions/es
- OutputPageBeforeHTML extensions/es
- OutputPageBodyAttributes extensions/es
- OutputPageParserOutput extensions/es
- PostLoginRedirect extensions/es
- RecentChange save extensions/es
- RequestContextCreateSkin extensions/es
- ResourceLoaderBeforeResponse extensions/es
- ResourceLoaderSiteModulePages extensions/es
- ResourceLoaderSiteStylesModulePages extensions/es
- SkinAddFooterLinks extensions/es
- SkinAfterBottomScripts extensions/es
- SpecialPageBeforeExecute extensions/es
- SpecialPage initList extensions/es
- TitleSquidURLs extensions/es
- UserGetDefaultOptions extensions/es
- All extensions/es
- Extensions used on Wikimedia/es
- Extensions included in Canasta/es
- Extensions included in Fandom/es
- Extensions included in Miraheze/es
- Extensions included in MyWikis/es
- Extensions included in ShoutWiki/es
- Extensions included in Telepedia/es
- MobileFrontend/es
