Extension: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.43 |
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) |
|
|
Quarterly downloads | 25 (Ranked 115th) |
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
Tüm vikiler için
- En son anlık görüntüyü indirin ve uzantı dizininize çıkartın.
- LocalSettings.php ile aşağıdakileri ekleyin:
wfLoadExtension( 'CentralNotice' );
- 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
- Komut satırından viki köküne gidin ve
php maintenance/update.php
komutunu çalıştırın - $2 düzenleyin ve ayarlayın...
$wgNoticeInfrastructure
true$wgNoticeProjects
, merkezi vikiye abone olacak bir dizi proje olacak. Örneğinarray( 'wikipedia', 'wiktionary' )
- Varsayılan olarak
sysop
grubu, CentralNotice yönetme yeteneğine sahip tek gruptur. Ek gruplara ihtiyaç duyulursa, bunlaracentralnotice-admin
veedit-interface
izinlerini atayın.
Vikilere abone olmak
LocalSettings.php
düzenleyin ve ayarlayın...
$wgNoticeInfrastructure
-false
;$wgNoticeProject
,$wgNoticeProjects
içinde bir giriş olacak;$wgCentralHost
protokole (potansiyel olarak tarafsız) ve merkezi vikinin etki alanına. Örneğin//meta.wikimedia.org
;- Merkezi vikideki Special:BannerLoader URL'sine
$wgCentralSelectedBannerDispatcher
, örneğin://meta.wikimedia.org/w/index.php/Special:BannerLoader
; - altyapı viki veritabanının adına
$wgCentralDBname
ya da altyapı vikinin API uç noktasına$wgCentralNoticeApiUrl
; ve - 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.
- Banner içeriğini düzenlemek için
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.
- Banner — Manual:$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
- Special:CentralNoticeBanners yükle
- Sayfanın altındaki banner ekle bağlantısına tıklayın (hizmetli olarak oturum açmalısınız).
- Verilen banner için bir ad ve ham HTML girin.
- Bu banner çevrilecekse, çevrilecek herhangi bir metni üç parantez {{{FOO}}} içine alın.
- 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
- Special:CentralNotice yükleyin
- 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.
- Bu kampanya yalnızca belirli bir viki veya dilde çalıştırılıyorsa, açılır menülerden onu seçin.
- Yeni kampanyaya tıklayın ve bu devam eden kampanyada istediğiniz banner'ları ve bunların ağırlıklarını ekleyin.
- 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ı.)
Aşağıdaki belgelendirme, bu sitede (MediaWiki.org) çalışan MediaWiki'nin sürüm öncesi sürümü tarafından otomatik olarak oluşturulan Special: |
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]
Aşağıdaki belgelendirme, bu sitede (MediaWiki.org) çalışan MediaWiki'nin sürüm öncesi sürümü tarafından otomatik olarak oluşturulan Special: |
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]
Ayrıca bakınız
- Help:CentralNotice ve meta'da Yeniden düzenleme sonrası değişiklikler (2015-09)
- 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
- Bu sayfanın diğer alt sayfaları (uyarı: çoğu güncel değil)
Bu uzantı bir veya daha fazla Wikimedia projelerinde kullanılıyor. Bu, muhtemelen uzantının kararlı olduğu ve bu tür yüksek trafikli web siteleri tarafından kullanılacak kadar iyi çalıştığı anlamına gelir. Nerede kurulduğunu görmek için bu uzantının adını Wikimedia'nın CommonSettings.php ve InitialiseSettings.php yapılandırma dosyalarında arayın. Belirli bir vikide yüklü olan uzantılar listesinin tamamı vikinin Special:Version sayfasında görülebilir. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |