Jump to content

Extensão: CentralNotice

From mediawiki.org
This page is a translated version of the page Extension:CentralNotice and the translation is 23% complete.
Outdated translations are marked like this.
Manual de extensões do MediaWiki
CentralNotice
Estado de lançamento: estável
Implementação Página espacial , API
Descrição Adds a central sitenotice
Autor(es) Andrew Russell Green, Matthew Walker, Adam Roses Wight Formerly: Brooke Vibber, Tomasz Finc, Trevor Parscal, Ryan Kaldari
Última versão 2.6.1 (continuous updates)
Política de compatibilidade Lançamentos de capturas de ecrã em conjunto com o MediaWiki. Original não é compatível com as versões anteriores.
Alterações à base de dados Sim
Domínio virtual virtual-centralnotice
  • $wgNoticeUseTranslateExtension
  • $wgNoticeBannerReducedMaxAge
  • $wgNoticeNumberOfBuckets
  • $wgCentralNoticeCategoriesUsingLegacy
  • $wgNoticeUseLanguageConversion
  • $wgNoticeCookieDurations
  • $wgCentralNoticeBannerMixins
  • $wgCentralNoticeLoader
  • $wgCentralBannerRecorder
  • $wgNoticeBucketExpiry
  • $wgNoticeCookieDomain
  • $wgNoticeTranslateDeployStates
  • $wgCentralNoticeAdminGroup
  • $wgCentralNoticeCampaignTypes
  • $wgCentralNoticeImpressionEventSampleRate
  • $wgCentralNoticePerCampaignBucketExtension
  • $wgNoticeNumberOfControllerBuckets
  • $wgNoticeProject
  • $wgNoticeTabifyPages
  • $wgCentralNoticeGeoIPBackgroundLookupModule
  • $wgCentralNoticeApiUrl
  • $wgNoticeProjects
  • $wgCentralNoticeMessageProtectRight
  • $wgNoticeBannerMaxAge
  • $wgNoticeInfrastructure
  • $wgCentralNoticeHideBannersP3P
  • $wgCentralNoticeSampleRate
  • $wgNoticeHideUrls
  • $wgCentralNoticeMaxCampaignFallback
  • $wgCentralNoticeContentSecurityPolicy
  • $wgCentralNoticeFallbackHideCookieDuration
  • $wgCentralSelectedBannerDispatcher
  • $wgCentralNoticeCampaignMixins
Licence GNU - Licença Pública Geral 2.0 ou superior
Transferência
Exemplo Special:CentralNotice on Meta (read-only)
Traduza a extensão CentralNotice se esta estiver disponível em translatewiki.net
Problemas Tarefas em aberto · Reportar um erro

A extensão CentralNotice distribui anúncios (normalmente na forma de faixas) para as wikis da Wikimédia. É utilizada fortemente pela equipa de Fundraising para solicitar donativos, e para anúncios de interesse para as comunidades e utilizadores da Wikimédia. CentralNotice can target announcements by country, language, project, device and logged-in status.

Esta página contém informação para os programadores de CentralNotice e administradores de wiki que querem instalar CentralNotice nos seus próprios sites. Para saber como criar e configurar as campanhas de CentralNotice, por favor, consulte Help:CentralNotice em Meta-Wiki. Para informação sobre a configuração de CentralNotice no cluster da Fundação Wikimédia, consulte CentralNotice em Wikitech.

CentralNotice allows central distribution of announcements to many wikis (called subscribing wikis) from a central wiki (the infrastructure wiki). If you only need to post messages to a single wiki, consider using Sitenotice instead.

Instalação

CentralNotice is developed, tested, and known to be deployed only on wikis that do not use table prefixing. If your setup uses table prefixing there is no guarantee this extension will work. Please report any bugs to Phabricator.


  • Install Extensão: Registo de Eventos first
  • Exporte e coloque o ficheiro, ou ficheiros, num diretório chamado CentralNotice, na sua pasta extensions/.
    Developers and code contributors should install the extension from Git instead, using:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CentralNotice
    
  • Acrescente o seguinte código ao fundo do ficheiro $LocalSettings:
    wfLoadExtension( 'CentralNotice' );
    
  • Execute o script de atualização que irá criar automaticamente as tabelas da base de dados necessárias para esta extensão.
  • #Por predefinição, a procura de GeoIP está desativada. If the Geo cookie is pre-populated, however, its value will be used. For local development, you can enable a client-side implementation that uses https://freegeoip.net as follows. For more information, see #GeoIP lookup.
    $wgCentralNoticeGeoIPBackgroundLookupModule = 'ext.centralNotice.freegeoipLookup';
    
  • Yes Pronto – Na página especial Special:Version da sua wiki verifique se a extensão foi instalada.

A wiki da infraestrutura

The CentralNotice extension enables both the infrastructure and subscribing roles by default, which suffices for most development tasks and involves only a single wiki.

Members of the sysop group are granted the right to administer CentralNotice campaigns and banners. If additional groups are needed, assign them the centralnotice-admin and editinterface permissions.

Some CentralNotice features optionally integrate with Translate . To fully utilize these features, you'll need to install that as well.

Subscrever wikis

  1. Editar LocalSettings.php e definir...
  1. # $wgNoticeInfrastructure para false;
  2. $wgCentralSelectedBannerDispatcher to the URL of Special:BannerLoader on the central wiki, for example: https://meta.wikimedia.org/w/index.php/Special:BannerLoader;
  3. either $wgCentralDBname to the name of the infrastructure wiki's database, or $wgCentralNoticeApiUrl to the API endpoint of the infrastructure wiki; and
  4. $wgCentralBannerRecorder to the URL of Special:RecordImpression on the central wiki. Por exemplo: https://meta.wikimedia.org/w/index.php/Special:RecordImpression.

All code that runs on subscribing wikis should be smoke-tested with MobileFrontend , to ensure they work on the mobile version of the site.

Obter ajuda

The WMF Fundraising tech team are the maintainers of CentralNotice. For questions about installation, bug reports, or usage of CentralNotice please send an email to the mailing list wikitech-l@lists.wikimedia.org or join us in the IRC channel #wikimedia-fundraising connect.

Permissões

  • centralnotice-adminPermission required to modify campaigns and banners. Relevant only to the infrastructure wikis (see also bugzilla:26377).
    • editinterfacerequired to edit banner content.

Conceitos de desenho

From a user facing perspective, the high level CentralNotice objects are campaigns (a.k.a. notices) and banners (a.k.a. templates). These are affected by the back end concepts of selectors and allocation.

  • Banner – a single block of translatable html/wikitext/css/javascript that will display at the top of Manual:$wgContentNamespaces pages. The user status, device type, UI language selectors are applied to banners.
    • Banners may be grouped by category. All banners in a category share user side cookies, such as the hiding cookie that is set when a user clicks a banner close button.
  • Campaign – a collection of banners. The project, country and content language selectors apply at the campaign level. The system allows as many active campaigns at the same time as you want dynamically calculating an allocation for each banner in an active campaign. Campaigns are defined as active if the central wiki time is greater than the campaign start time, less than the campaign end time, and the campaign is marked as enabled.
    • Banners in a campaign are assigned a bucket and weight. Buckets are yet another selector, and weight affects the relative allocation of banners inside a campaign.
    • There are four priority levels in CentralNotice. Higher priority campaigns will get a greater allocation of page views.
    • Campaigns may be locked which will prevent editing and deletion of the campaign; but not the banners inside a campaign.
  • Selectorany property which may be filtered on for the purposes of allocation. This allows, for example, different banners to be shown to logged in versus logged out users in Argentina browsing Wikipedia in English.
    • A selection vector is the complete set of selectors a user presents to the central wiki when requesting a banner.
  • AllocationThe chance a banner will be shown to a user under a given selection vector.

Documentos de desenho

GeoIP lookup

By default, CentralNotice has no client-side GeoIP lookup service configured. This is optimised for the Wikimedia Foundation production configuration where Varnish populates the Geo cookie from the server-side. (See wikitech:Geolocation.) You can configure CentralNotice to use a custom data source client-side through the CentralNoticeGeoIPBackgroundLookupModule configuration variable. This variable expects the name of a ResourceLoader module that exports a function. The function will be called without parameters and should return a Promise that resolves with an object containing the following properties:

  • country: string – Two-letter country code.
  • region: string – Implementation specific.
  • city: string – City name.
  • lat: number.
  • lon: number.

Utilização

Full usage instructions can be found at meta:Help:CentralNotice.

Nova Faixa

  1. #Carregar Special:CentralNoticeBanners
  2. Click on the add banner link at the bottom of the page (must be logged in as an admin).
  3. Enter in a name and the raw HTML for the given banner.
    1. If this banner is going to be translated then enclose any text to be translated with triple parens – {{{FOO}}}.
  4. #Submeter

(TODO: move and expand this snippet)

  • Each banner has its banner definition stored in MediaWiki:Centralnotice-template-<name>
  • All of its messages are stored below the banner defined in MediaWiki:Centralnotice-template-<name>-<message>/<language_code>

Nova Campanha

  1. Load Special:CentralNotice
  2. Add a campaign with a given start time at the bottom portion of the page, leave a comment, and click submit.
    1. If this campaign is only run on a specific wiki and or language then select it from the pull downs.
  3. Click on the new campaign and add the banners you want within this running campaign and their respective weights.
  4. If all looks well then set this campaign to enabled and it will show at the corresponding time.

Overriding selection

Add any of the following URL parameters to preview a specific banner, defeat "diet" schemes, or debug pseudorandom banner selection.

banner
You can test a banner directly on any wiki by adding ?banner=<bannername> to the end of the URL.
randomcampaign
A decimal number between 0 and 1, to be used as the "random" seed for choosing a campaign.
randombanner
A decimal number between 0 and 1, to be used as the "random" seed for choosing a banner among banners available in the chosen campaign.
country
Override the country code, before filtering to geotargeted campaigns. Accepts two-character ISO 3166-1 codes.
uselang
Its usual meaning in MediaWiki, this determines which banners you may be shown. Beware of content language vs. user language.
force
Override any banner hiding code, show the banner.
reset
Zero out any cookies being used to customize banner display (e.g. delivered impression count).

Por exemplo,

Debugging problematic banners

If there is a problematic banner in the page, you can identify which banner is active by opening your developer console and inspecting the value of: mw.centralNotice.bannerData.bannerName.

Limitações

Faixas não são exibidas nas páginas no espaço nominal Special, bem como nas páginas editadas e nas páginas de diferenças.

API

A «Central de Avisos» adiciona 2 módulos de API, centralnoticechoicedata e centralnoticequerycampaign. (The API module centralnoticeallocations was deprecated and removed in MediaWiki 1.25.)


action=centralnoticechoicedata

(main | centralnoticechoicedata)

Get data needed to choose a banner for a given project and language

Specific parameters:
Other general parameters are available.
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.
Example:
Get the data for choosing a banner for English Wikipedia users.
api.php?action=centralnoticechoicedata&project=wikipedia&language=en [open in sandbox]


action=centralnoticequerycampaign

(main | centralnoticequerycampaign)

Get all configuration settings for a campaign.

Specific parameter:
Other general parameters are available.
campaign

Campaign name. Separate multiple values with a "|" (vertical bar).

This parameter is required.


Consultar também