Extensión:CentralNotice
CentralNotice Estado de la versión: estable |
|
---|---|
Implementación | Página especial , API |
Descripción | Adds a central sitenotice |
Autor(es) | Andrew Russell Green, Matthew Walker, Adam Roses Wight Formerly: Brooke Vibber, Tomasz Finc, Trevor Parscal, Ryan Kaldari |
Última versión | 2.6.1 (continuous updates) |
Política de compatibilidad | Lanza instantáneas junto con MediaWiki. La rama maestra no es retrocompatible. |
Cambios en la base de datos | Sí |
Tablas | cn_notices cn_assignments cn_templates cn_notice_languages cn_notice_projects cn_notice_countries cn_notice_regions cn_template_mixins cn_notice_mixins cn_notice_mixin_params cn_known_devices cn_template_devices cn_known_mobile_carriers cn_notice_mobile_carriers cn_notice_log cn_template_log |
Licencia | Licencia Pública General de GNU 2.0 o posterior |
Descargar | |
Ejemplo | Special:CentralNotice on Meta (read-only) |
|
|
Descargas trimestrales | 33 (Ranked 96th) |
Wikis públicos que lo utilizan | 1,012 (Ranked 228th) |
Traduce la extensión CentralNotice si está disponible en translatewiki.net | |
Incidentes | Tareas abiertas · Reportar un error |
La extensión CentralNotice entrega anuncios (generalmente en forma de pancarta) a los wikis de Wikimedia. El equipo de Fundraising recurre mucho a ella para solicitar donaciones y para anuncios de interés para comunidades y usuarios de Wikimedia. CentralNotice puede segmentar los anuncios por país, idioma, proyecto, dispositivo y estado de inicio de sesión.
Esta página contiene información para desarrolladores de CentralNotice y administradores de wikis que desean instalar CentralNotice en sus propios sitios. Para aprender a crear y configurar campañas de CentralNotice, consulta Help:CentralNotice en Meta-Wiki. Para más información sobre la configuración de CentralNotice en el clúster de la Fundación Wikimedia, consulta CentralNotice en Wikitech.
CentralNotice permite la distribución centralizada de anuncios a muchos wikis (denominados wikis suscritos) desde un wiki central (el wiki de infraestructura). Si necesitas publicar mensajes a un solo wiki, considera utilizar más bien Sitenotice.
Instalación
Para todos los wikis
- Descarga la última instantánea y extráela a tu directorio de extensiones.
- Añade a LocalSettings.php lo siguiente:
wfLoadExtension( 'CentralNotice' );
- Por defecto, la búsqueda GeoIP está deshabilitada. Sin embargo, si la cookie
Geo
está precargada, se utilizará su valor. Para el desarrollo local, puedes habilitar una implementación del lado del cliente que utilice https://freegeoip.net como sigue: Para más información, consulta #Búsqueda GeoIP.
$wgCentralNoticeGeoIPBackgroundLookupModule = 'ext.centralNotice.freegeoipLookup';
El wiki de infraestructura
- Desde la línea de comando, ve al wiki raíz y ejecuta
php maintenance/run.php update
- Edita
LocalSettings.php
y establece...$wgNoticeInfrastructure
a true$wgNoticeProjects
a una matriz de proyectos para su suscripción al wiki central. Por ejemplo,array( 'wikipedia', 'wiktionary' )
- Por defecto, el grupo
sysop
es el único grupo con la capacidad de administrar CentralNotice. Si se necesitan grupos adicionales, asígnales los permisoscentralnotice-admin
yedit-interface
.
Los wikis suscritos
Edita LocalSettings.php
y establece...
$wgNoticeInfrastructure
afalse
;$wgNoticeProject
para que sea una entrada en$wgNoticeProjects
;$wgCentralHost
al protocolo (potencialmente neutral) y dominio del wiki central. Por ejemplo,//meta.wikimedia.org
;$wgCentralSelectedBannerDispatcher
a la URL de Special:BannerLoader en el wiki central, por ejemplo,//meta.wikimedia.org/w/index.php/Special:BannerLoader
;- ya sea
$wgCentralDBname
al nombre de la base de datos del wiki de infraestructura, o bien$wgCentralNoticeApiUrl
al punto terminal de la API del wiki de infraestructura; y $wgCentralBannerRecorder
a la URL de Special:RecordImpression en el wiki central. Por ejemplo,//meta.wikimedia.org/w/index.php/Special:RecordImpression
.
Configuración rápida para desarrolladores
Para la mayoría de las tareas de desarrollo, puedes utilizar un solo wiki tanto en el rol de infraestructura como en el de suscripción.
He aquí líneas de ejemplo para incluir en LocalSetting.php
.
(Véanse las notas en los comentarios.)
wfLoadExtension( 'CentralNotice' );
$wgNoticeInfrastructure = true;
$wgNoticeProjects = array( 'centralnoticeproject' ); # 'centralnoticeproject' puede ser cualquier cadena
$wgNoticeProject = 'centralnoticeproject'; # debe coincidir con la anterior
$wgCentralHost = 'localhost';
$wgCentralSelectedBannerDispatcher = 'http://localhost/mw/index.php?title=Special:BannerLoader';
$wgCentralDBname = 'databasename'; # igual que $wgDBname
$wgCentralNoticeGeoIPBackgroundLookupModule = 'ext.centralNotice.freegeoipLookup';
Cualquier código que se ejecute en wikis suscritos debe someterse a pruebas con MobileFrontend para garantizar que funcionan en la versión móvil del sitio.
Dependencias
Algunas funcionalidades de CentralNotice requieren otras extensiones de MediaWiki, como EventLogging y Traducir .
Obtener ayuda
El equipo Fundraising tech de la Fundación Wikimedia se encarga de mantener CentralNotice. Para cualquier pregunta sobre la instalación, informe de error o uso de CentralNotice, envía un correo electrónico a la lista de correo wikitech-l@lists.wikimedia.org o contacta con nosotros en el canal IRC #wikimedia-fundraising connect.
Permisos
centralnotice-admin
— Permiso requerido para modificar campañas y pancartas. Solo es relevante para los wikis de infraestructura (véase también bugzilla:26377).edit-interface
es necesario para editar el contenido de una pancarta.
Conceptos de diseño
Desde el punto de vista del usuario, los objetos de alto nivel de CentralNotice son campaigns (es decir, avisos) y banners (es decir, plantillas). Son afectados por los conceptos de sistema de selectors y allocation (asignación).
- Banner (pancarta) — un único bloque de html/wikitext/css/javascript traducible que se mostrará en la parte superior de las páginas de Manual:$wgContentNamespaces . Los selectors de estado de usuario, tipo de dispositivo e idioma de la interfaz de usuario se aplican a las pancartas.
- Las pancartas pueden agruparse por category (categoría). Todas las pancartas de una misma categoría comparten cookies del lado del cliente tales como la cookie de ocultación que se inicializa cuando un usuario hace clic en el botón de cierre de una pancarta.
- Campaign (campaña) — una colección de pancartas. Los selectores de proyecto, país e idioma de contenido se aplican a nivel de campaña. El sistema admite tantas campañas activas concurrentes como quieras calculando dinámicamente una allocation por cada pancarta en una campaña activa. Las campañas se definen como activas si la hora del wiki central es mayor que la hora de inicio de la campaña, menor que la hora de final de la campaña y la campaña está marcada como activa.
- A las pancartas de una campaña se les asigna un bucket (compartimento) y un weight (peso). Los buckets son otro selector más, y el peso afecta la asignación relativa de pancartas dentro de una campaña.
- Hay cuatro niveles de prioridad en CentralNotice. Las campañas de prioridad más alta tendrán una mayor asignación de vistas de página.
- Las campañas se pueden bloquear (locked), lo que impedirá que se pueda editar o eliminar la campaña, pero no así las pancartas de la campaña.
- Selector — cualquier propiedad susceptible de ser filtrada para los propósitos de la asignación. Esto permite, por ejemplo, que se muestren pancartas diferentes a los usuarios que tienen una sesión activa y a los que no en Argentina que consultan Wikipedia en inglés.
- Un vector de selección es el conjunto completo de selectores que un usuario presenta al wiki central al solicitar una pancarta.
- Allocation (asignación) — La probabilidad de que se muestre una pancarta a un usuario con un vector de selección dado.
Documentos de diseño
- Proyecto de investigacion de diseño 2017
- Algoritmo de asignación de pancartas
- Esquema de la base de datos / estructura de las tablas
Búsqueda GeoIP
Por defecto, CentralNotice no tiene configurado ningún servicio de búsqueda GeoIP del lado del cliente.
Esto está optimizado para la configuración de producción de la Fundación Wikimedia, donde Varnish inicializa la cookie Geo
desde el lado del servidor.
(Véase wikitech:Geolocation.)
Puedes configurar CentralNotice para utilizar una fuente de datos personalizada desde el lado del cliente mediante la variable de configuración CentralNoticeGeoIPBackgroundLookupModule
.
Esta variable espera recibir el nombre de un módulo ResourceLoader que exporta una función.
La función recibirá una llamada sin parámetros y debería devolver una promesa que se resuelva con un objeto con las siguientes propiedades:
- country: cadena - Código de dos letras de país.
- region: cadena - Dependiente de la implementación.
- city: cadena - Nombre de ciudad.
- lat: número.
- lon: número.
Uso
Las instrucciones completas de uso se encuentran en meta:Help:CentralNotice.
Nueva pancarta
- Carga Special:CentralNoticeBanners
- Haz clic en el enlace de añadir pancarta en la parte inferior de la página (debes tener activa una sesión de administrador).
- Introduce un nombre y el HTML en crudo de la pancarta dada.
- Si se va a traducir esta pancarta, encierra cualquier texto traducible entre triples paréntesis - {{{FOO}}}.
- Envía
(POR HACER: trasladar y expandir este fragmento)
- Cada pancarta tiene su definición almacenada en MediaWiki:Centralnotice-template-<name>
- Todos sus mensajes están almacenados debajo de la pancarta definida en MediaWiki:Centralnotice-template-<name>-<message>/<language_code>
Nueva campaña
- Carga Especial:CentralNotice
- Añade una campaña con una hora de inicio dada en la parte inferior de la página, deja un comentario y haz clic en enviar.
- Si esta campaña solo se va a llevar a cabo en un wiki o idioma concreto, selecciónalo en los menús desplegables.
- Haz clic en la nueva campaña y añade las pancartas que deseas en la misma con sus pesos respectivos.
- Si todo tiene un aspecto adecuado, marca esta campaña como activa y se mostrará a la hora correspondiente.
Redefinir la selección
Añade cualquiera de los siguientes parámetros de URL para previsualizar una determinada pancarta, anular esquemas «dietéticos» o depurar la selección pseudoaleatoria de pancartas.
- banner
- Puedes hacer pruebas sobre una pancarta directamente en cualquier wiki añadiendo
?banner=<bannername>
al final de la URL.
- randomcampaign
- Un número decimal entre 0 y 1 utilizado a modo de semilla pseudoaleatoria para elegir una campaña.
- randombanner
- Un número decimal entre 0 y 1 utilizado a modo de semilla pseudoaleatoria para elegir una pancarta de entre las disponibles en la campaña elegida.
- country
- Redefine el código de país antes del filtrado de campañas geosegmentadas. Acepta códigos de dos letras ISO 3166-1.
- uselang
- Su uso habitual en MediaWiki, que determina qué pancartas se te podrán mostrar. Ten en cuenta la diferencia entre idioma de contenido e idioma de usuario.
- force
- Anula cualquier código que oculte la pancarta, por lo que muestra a la fuerza la pancarta.
- reset
- Llena de ceros cualquier cookie utilizada para personalizar la visualización de pancartas (por ejemplo, el contador de impresiones entregadas).
Por ejemplo,
Depuración de pancartas problemáticas
Si hay alguna pancarta problemática en la página, puedes identificar qué pancarta está activa abriendo la consola de desarrollador e inspeccionando el valor de mw.centralNotice.bannerData.bannerName
.
Limitaciones
Las pancartas no se muestran en páginas del espacio de nombres Special
, así como en páginas de edición y páginas de diferencia entre ediciones.
API
CentralNotice añade dos módulos de API: centralnoticechoicedata
y centralnoticequerycampaign
.
(El módulo centralnoticeallocations fue declarado obsoleto y eliminado en MediaWiki 1.25.)
La siguiente documentación es la producción de $especial, generado automáticamente por la pre-versión de liberación de MediaWiki que se ejecuta en este sitio (MediaWiki.org). |
action=centralnoticechoicedata
- This module requires read rights.
- Source: CentralNotice
- License: GPL-2.0-or-later
Get data needed to choose a banner for a given project and language
- project
The project to get banner choice data for.
- This parameter is required.
- language
The language to get banner choice data for.
- This parameter is required.
- Get the data for choosing a banner for English Wikipedia users.
- api.php?action=centralnoticechoicedata&project=wikipedia&language=en [open in sandbox]
La siguiente documentación es la producción de $especial, generado automáticamente por la pre-versión de liberación de MediaWiki que se ejecuta en este sitio (MediaWiki.org). |
action=centralnoticequerycampaign
- This module requires read rights.
- Source: CentralNotice
- License: GPL-2.0-or-later
Get all configuration settings for a campaign.
- campaign
Campaign name. Separate multiple values with a "|" (vertical bar).
- Default: (empty)
- Show campaign "Plea_US"
- api.php?action=centralnoticequerycampaign&format=json&campaign=Plea_US [open in sandbox]
Véase también
- Help:CentralNotice y Cambios tras la refactorización (2015-09) en meta
- Extension:CentralNotice/Campaign and banner selection
- Extension:CentralNotice/Impression diet
- Extension:CentralNotice/Special:RecordImpression
- Extension:CentralNotice/Statuses, reasons and status codes
- Extension:CentralNotice/Banner_mixins
- Requests for comment/CentralNotice Caching Overhaul - Frontend Proxy
- Extension:CentralNotice/Notes/Miscelaneous doc bits
- Extension:CentralNotice/Notes/Documentation rewrite
- Extension:CentralNotice/Notes/Campaign-associated_mixins_and_banner_history
- Extension:CentralNotice/Notes/Banner controller refactoring
- Otras subpáginas de esta página (advertencia: muchas están obsoletas)
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. |