Extension:CentralNotice

From mediawiki.org
This page is a translated version of the page Extension:CentralNotice and the translation is 98% complete.
MediaWiki manüel uzantıları
CentralNotice
Sürüm durumu: kararlı
Uygulama Özel sayfa , API
Açıklama Adds a central sitenotice
Yazar(lar) Andrew Russell Green, Matthew Walker, Adam Roses Wight Formerly: Brooke Vibber, Tomasz Finc, Trevor Parscal, Ryan Kaldari
En son sürüm 2.6.1 (continuous updates)
Uyumluluk politikası MediaWiki ile birlikte anlık görüntüler yayımlanır. Master geriye dönük olarak uyumlu değil.
MediaWiki >= 1.42
Veritabanı değişiklikleri Evet
Tablolar 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
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
Örnek Special:CentralNotice on Meta (read-only)
  • $wgNoticeBannerMaxAge
  • $wgNoticeBannerReducedMaxAge
  • $wgNoticeHideUrls
  • $wgCentralNoticeCategoriesUsingLegacy
  • $wgNoticeUseLanguageConversion
  • $wgNoticeCookieDurations
  • $wgCentralNoticeBannerMixins
  • $wgCentralMobileSelectedBannerDispatcher
  • $wgNoticeInfrastructure
  • $wgCentralBannerRecorder
  • $wgNoticeBucketExpiry
  • $wgNoticeCookieDomain
  • $wgNoticeTranslateDeployStates
  • $wgCentralNoticeAdminGroup
  • $wgCentralNoticeCampaignTypes
  • $wgCentralNoticeImpressionEventSampleRate
  • $wgCentralNoticeESITestString
  • $wgCentralNoticeFallbackHideCookieDuration
  • $wgCentralSelectedBannerDispatcher
  • $wgCentralHost
  • $wgNoticeProject
  • $wgNoticeTabifyPages
  • $wgCentralNoticeGeoIPBackgroundLookupModule
  • $wgCentralNoticeApiUrl
  • $wgNoticeProjects
  • $wgCentralNoticeMessageProtectRight
  • $wgCentralNoticeMaxCampaignFallback
  • $wgCentralNoticeContentSecurityPolicy
  • $wgCentralNoticeCampaignMixins
  • $wgCentralDBname
  • $wgCentralNoticeSampleRate
  • $wgCentralNoticePerCampaignBucketExtension
  • $wgNoticeNumberOfControllerBuckets
  • $wgNoticeNumberOfBuckets
  • $wgNoticeUseTranslateExtension
  • $wgCentralNoticeHideBannersP3P
  • $wgCentralNoticeLoader
Quarterly downloads 30 (Ranked 119th)
Public wikis using 1,012 (Ranked 228th)
Translatewiki.net adresinde mevcutsa, CentralNotice uzantısını çevirin
Sorunlar Açık görevler · Hata bildir

CentralNotice uzantısı, Wikimedia vikilerine duyurular (genellikle banner biçiminde) sunar. Fundraising ekibi tarafından bağış toplamak ve Wikimedia toplulukları ile kullanıcılarını ilgilendiren duyurular için yoğun bir şekilde kullanılmaktadır. CentralNotice duyuruları ülke, dil, proje, cihaz ve oturum açma durumuna göre hedefleyebilir.

Bu sayfada, CentralNotice'i kendi sitelerine kurmak isteyen CentralNotice geliştiricileri ve viki hizmetlileri için bilgiler bulunmaktadır. CentralNotice kampanyalarının nasıl oluşturulacağını ve yapılandırılacağını öğrenmek için lütfen Meta-Wiki üzerinde Help:CentralNotice sayfasına bakın. Wikimedia Vakfı'nın kümesindeki CentralNotice kurulumu hakkında bilgi için, Wikitech üzerinde CentralNotice sayfasına bakın.

CentralNotice, duyuruların merkezi bir vikiden (altyapı viki) birçok wikiye (abone olma viki adı verilir) merkezi olarak dağıtılmasına izin verir. Yalnızca tek bir vikiye mesaj göndermeniz gerekiyorsa, bunun yerine Sitenotice kullanmayı düşünün.

Kurulum

CentralNotice geliştirildi, test edildi ve yalnızca tablo öneki kullanmayan vikilerde konuşlandırıldığı bilinmektedir. Kurulumunuz tablo öneki kullanıyorsa, bu uzantının çalışacağına dair bir garanti yoktur. Lütfen hataları Phabricator ile bildirin.

Tüm vikiler için

  1. En son anlık görüntüyü indirin ve uzantı dizininize çıkartın.
  2. LocalSettings.php ile aşağıdakileri ekleyin:
    wfLoadExtension( 'CentralNotice' );
    
  3. Varsayılan olarak, GeoIP araması devre dışı bırakılmıştır. Ancak Geo çerezi önceden doldurulmuşsa, değeri kullanılacaktır. Yerel geliştirme için, https://freegeoip.net kullanan bir istemci tarafı uygulamasını aşağıdaki gibi etkinleştirebilirsiniz. Daha fazla bilgi için #GeoIP araması bölümüne bakın.
$wgCentralNoticeGeoIPBackgroundLookupModule = 'ext.centralNotice.freegeoipLookup';

Altyapı vikisi

  1. Komut satırından viki köküne gidin ve php maintenance/update.php komutunu çalıştırın
  2. $2 düzenleyin ve ayarlayın...
    1. $wgNoticeInfrastructure true
    2. $wgNoticeProjects, merkezi vikiye abone olacak bir dizi proje olacak. Örneğin array( 'wikipedia', 'wiktionary' )
  3. Varsayılan olarak sysop grubu, CentralNotice yönetme yeteneğine sahip tek gruptur. Ek gruplara ihtiyaç duyulursa, bunlara centralnotice-admin ve edit-interface izinlerini atayın.

Vikilere abone olmak

LocalSettings.php düzenleyin ve ayarlayın...

  1. $wgNoticeInfrastructure - false;
  2. $wgNoticeProject, $wgNoticeProjects içinde bir giriş olacak;
  3. $wgCentralHost protokole (potansiyel olarak tarafsız) ve merkezi vikinin etki alanına. Örneğin //meta.wikimedia.org;
  4. Merkezi vikideki Special:BannerLoader URL'sine $wgCentralSelectedBannerDispatcher, örneğin: //meta.wikimedia.org/w/index.php/Special:BannerLoader;
  5. altyapı viki veritabanının adına $wgCentralDBname ya da altyapı vikinin API uç noktasına $wgCentralNoticeApiUrl; ve
  6. Merkezi vikideki Special:RecordImpression URL'sine $wgCentralBannerRecorder. Örneğin: //meta.wikimedia.org/w/index.php/Special:RecordImpression.

Hızlı geliştirici kurulumu

Çoğu geliştirme görevi için hem altyapı hem de abone olma rollerinde tek bir viki kullanabilirsiniz. Aşağıda LocalSetting.php dahil edilecek örnek satırlar verilmiştir. (Yorumlardaki notlara bakın.)

wfLoadExtension( 'CentralNotice' );
$wgNoticeInfrastructure = true;
$wgNoticeProjects = array( 'centralnoticeproject' ); # 'centralnoticeproject' herhangi bir dize olabilir
$wgNoticeProject = 'centralnoticeproject'; # yukarıdakiyle aynı olmalı
$wgCentralHost = 'localhost';
$wgCentralSelectedBannerDispatcher = 'http://localhost/mw/index.php?title=Special:BannerLoader';
$wgCentralDBname = 'databasename'; # $wgDBname ile aynı
$wgCentralNoticeGeoIPBackgroundLookupModule = 'ext.centralNotice.freegeoipLookup';

Sitenin mobil sürümünde çalıştıklarından emin olmak için, viki aboneliklerinde çalışan tüm kodlar MobileFrontend ile duman testine tabi tutulmalıdır.

Bağımlılıklar

Bazı CentralNotice özellikleri, EventLogging ve Translate dahil olmak üzere başka MediaWiki uzantılarını gerektirir.

Yardım almak

WMF Fundraising tech ekibi, CentralNotice'in geliştiricileridir. CentralNotice'in kurulumu, hata raporları veya kullanımıyla ilgili sorular için lütfen wikitech-l@lists.wikimedia.org posta listesine bir e-posta gönderin veya IRC #wikimedia-fundraising bağlan kanalında bize katılın.

İzinler

  • centralnotice-admin — Kampanyaları ve başlıkları değiştirmek için izin gereklidir. Yalnızca altyapı vikileriyle ilgilidir (ayrıca bakınız bugzilla:26377).
    • Banner içeriğini düzenlemek için edit-interface gereklidir.

Tasarım kavramları

Kullanıcıya dönük bir bakış açısından, yüksek seviyeli CentralNotice nesneleri campaigns (bildirimler olarak bilinir) ve banners (şablonlar olarak bilinir). Bunlar, selectors ve allocation arka uç kavramlarından etkilenir.

  • BannerManual:$wgContentNamespaces sayfaların başında görüntülenecek tek bir çevrilebilir html/wikitext/css/javascript bloğu. Kullanıcı durumu, cihaz türü, UI dili selectors başlıklara uygulanır.
    • Banner'lar category olarak gruplandırılabilir. Bir kategorideki tüm başlıklar, kullanıcı bir başlık kapat düğmesini tıkladığında ayarlanan gizleme çerezi gibi kullanıcı tarafı çerezlerini paylaşır.
  • Campaign — banner koleksiyonu. Proje, ülke ve içerik dili seçicileri kampanya düzeyinde geçerlidir. Sistem, aktif bir kampanyadaki her bir banner için dinamik olarak allocation hesaplamak istediğiniz kadar aynı anda birçok aktif kampanyaya izin verir. Merkezi viki zamanı, kampanya başlangıç ​​zamanından büyükse, kampanya bitiş zamanından azsa ve kampanya etkin olarak işaretlenirse, kampanyalar etkin olarak tanımlanır.
    • Bir kampanyadaki banner'lara bucket ve weight atanır. Paketler yine başka bir seçicidir ve ağırlık, bir kampanya içindeki banner'ların göreceli dağılımını etkiler.
    • CentralNotice'de dört adet öncelik seviyesi vardır. Daha yüksek öncelikli kampanyalar, daha fazla sayfa görüntüleme tahsisi alacaktır.
    • Kampanyalar, kampanyanın düzenlenmesini ve silinmesini engelleyecek kilitli olabilir; ancak bir kampanyanın içindeki pankartlar değil.
  • Selector — tahsis amaçları doğrultusunda filtrelenebilecek herhangi bir özellik. Bu, örneğin, Arjantin'de Vikipedi'ye İngilizce göz atan oturum açmış kullanıcılara karşı oturum açmış kullanıcılara farklı banner'ların gösterilmesine olanak tanır.
    • Bir seçim vektörü, bir kullanıcının bir başlık talep ederken merkezi vikiye sunduğu seçiciler kümesinin tamamıdır.
  • Allocation — Bir banner'ın belirli bir seçim vektörü altında bir kullanıcıya gösterilme şansı.

Tasarım belgeleri

GeoIP araması

Varsayılan olarak, CentralNotice'in yapılandırılmış istemci tarafı GeoIP arama hizmeti yoktur. Bu, Varnish'in sunucu tarafından Geo çerezi doldurduğu Wikimedia Vakfı üretim yapılandırması için optimize edilmiştir. (See wikitech:Geolocation.) CentralNotice'i CentralNoticeGeoIPBackgroundLookupModule yapılandırma değişkeni aracılığıyla istemci tarafı özel bir veri kaynağı kullanacak şekilde yapılandırabilirsiniz. Bu değişken, bir işlevi dışa aktaran bir ResourceLoader modülünün adını bekler. İşlev parametresiz çağrılır ve aşağıdaki özellikleri içeren bir nesneyle çözümlenen bir Promise döndürmelidir:

  • country: string - İki harfli ülke kodu.
  • region: string - Uygulamaya özel.
  • city: string - Şehir adı.
  • lat: sayı.
  • lon: sayı.

Kullanım

Tam kullanım talimatları meta:Help:CentralNotice sayfasında bulunabilir.

Yeni Banner

  1. Special:CentralNoticeBanners yükle
  2. Sayfanın altındaki banner ekle bağlantısına tıklayın (hizmetli olarak oturum açmalısınız).
  3. Verilen banner için bir ad ve ham HTML girin.
    1. Bu banner çevrilecekse, çevrilecek herhangi bir metni üç parantez {{{FOO}}} içine alın.
  4. Gönder

(YAPILACAKLAR: bu pasajı taşıyın ve genişletin)

  • Her banner'ın tanımı MediaWiki:Centralnotice-template-<name> olarak saklanır
  • Tüm mesajları MediaWiki:Centralnotice-template-<name>-<message>/<language_code> olarak tanımlanan başlığın altında saklanır

Yeni Kampanya

  1. Special:CentralNotice yükleyin
  2. Sayfanın alt kısmında belirli bir başlangıç ​​zamanı olan bir kampanya ekleyin, bir yorum bırakın ve gönder'i tıklayın.
    1. Bu kampanya yalnızca belirli bir viki veya dilde çalıştırılıyorsa, açılır menülerden onu seçin.
  3. Yeni kampanyaya tıklayın ve bu devam eden kampanyada istediğiniz banner'ları ve bunların ağırlıklarını ekleyin.
  4. Her şey yolunda görünüyorsa, bu kampanyayı etkin olarak ayarlayın ve karşılık gelen zamanda gösterilecektir.

Seçimi geçersiz kılma

Belirli bir başlığı önizlemek, "diyet" düzenlerini bozmak veya sözde rasgele banner seçiminde hata ayıklamak için aşağıdaki URL parametrelerinden herhangi birini ekleyin.

banner
Bir başlığı, URL'nin sonuna ?banner=<bannername> ekleyerek doğrudan herhangi bir viki üzerinde test edebilirsiniz.
randomcampaign
Bir kampanya seçmek için "rastgele" tohum olarak kullanılacak 0 ile 1 arasında bir ondalık sayı.
randombanner
Seçilen kampanyada bulunan banner'lar arasından bir banner seçmek için "rastgele" tohum olarak kullanılacak 0 ile 1 arasında bir ondalık sayı.
country
Coğrafi hedefli kampanyalara filtre uygulamadan önce ülke kodunu geçersiz kılın. İki karakterli ISO 3166-1 kodları kabul eder.
uselang
MediaWiki'deki genel anlamı, bu, hangi başlıkların gösterilebileceğini belirler. İçerik dili ve kullanıcı dili konusunda dikkatli olun.
force
Herhangi bir banner gizleme kodunu geçersiz kılın, başlığı gösterin.
reset
Banner görüntüsünü özelleştirmek için kullanılan çerezleri sıfırlayın (örneğin, sunulan gösterim sayısı).

Örneğin,

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

.

Sınırlamalar

Banner'lar i Special ad alanındaki sayfaların yanı sıra sayfaları gösterilmez ve farklı sayfaları düzenleyin.

API

CentralNotice, centralnoticechoicedata ve centralnoticequerycampaign olmak üzere iki API modülü ekler. (API modülü centralnoticeallocations kullanımdan kaldırıldı ve MediaWiki 1.25'te kaldırıldı.)



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).

Default: (empty)

Ayrıca bakınız