Extension:WikiLove
![]() Sürüm durumu: kararlı |
|
---|---|
![]() |
|
Uygulama | Kullanıcı arayüzü |
Açıklama | Kullanıcı mesaj sayfalarına olumlu geri bildirimler eklemeyi kolaylaştırır |
Yazar(lar) | Ryan Kaldari, Jan Paul Posma, Brandon Harris (tasarım) |
En son sürüm | 1.3.1 |
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.27+ |
Veritabanı değişiklikleri | Evet |
Tablolar | wikilove_log |
Lisans | MIT Lisansı |
İndir | |
|
|
Quarterly downloads | 23 (Ranked 117th) |
Translatewiki.net adresinde mevcutsa, WikiLove uzantısını çevirin | |
Sorunlar | Açık görevler · Hata bildir |
WikiLove uzantısı, VikiSevgi'nin Vikipedi ve muhtemelen diğer vikilerde yayılmasını desteklemek için tasarlanmış bir uzantıdır. Özellikle, kullanıcı mesaj sayfalarına birkaç düğmeyi tıklamak kadar ödül, hediye ve davet eklemeyi kolaylaştırır.
Kurulum
- Dosyaları indirin ve
extensions/
klasörünüzdekiWikiLove
adlı dizine yerleştirin.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLove - LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
wfLoadExtension( 'WikiLove' );
- Bu uzantının ihtiyaç duyduğu gerekli veritabanı tablolarını otomatik olarak oluşturacak betik güncelleme komutunu çalıştırın.
- Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
Yerleşik ödülleri kullanmak istiyorsanız, InstantCommons etkinleştirilmiş olmalıdır. Bunu yapmak için bunu LocalSettings.php
dosyasına ekleyin:
$wgUseInstantCommons = true;
Uzantı şimdi etkin olmalıdır. Arayüzü açmak için tercihlerinizdeki düzenleme sekmesine gidin.
Bu yapılandırma seçeneklerini LocalSettings.php
dosyanızda da kullanabilirsiniz:
$wgWikiLoveGlobal
- kullanıcı tercihini kaldırarak uzantıyı tüm kullanıcılar için etkinleştirin (varsayılan: false)- Not: Ayrıca ayarı varsayılan olarak etkinleştirebilirsiniz, ancak yine de kullanıcılara aşağıdakileri kullanarak seçeneği kapatma (opt-out) seçeneği sunabilirsiniz:
$wgDefaultUserOptions['wikilove-enabled'] = 1;
$wgWikiLoveTabIcon
- bunları destekleyen kaplamalar için bir simge kullanın (yani Vector) (varsayılan: true)$wgWikiLoveLogging
- WikiLove uygulamasının günlüğe kaydedilmesini etkinleştir (varsayılan: false); bu otomatik olarak istatistiksel sorgular için kullanabileceğiniz birwikilove_log
veritabanı tablosu oluşturur
Kullanım
Hesabınızın WikiLove uygulamasını kullanmasını sağlamak için, tercihlerinizdeki düzenleme sekmesine gidin ve "Laburatuvar özellikleri" altında WikiLove'u açın (veya bazı sürümlerde "Genel seçenekler" altında). In September 2022 this displays as "Enable showing appreciation for other users with the WikiLove tab".
WikiLove'u kullanmak için kullanıcının konuşma sayfasına gidin ve kalp simgesini tıklayın. Oradan talimatları izleyin.
Özel yapılandırma
WikiLove ürününü tek bir düzenleyici için (tüm viki yerine) nasıl özelleştireceğinizi öğrenmek için kullanım belgeleri konusuna bakın.
MediaWiki:WikiLove.js sayfasını düzenleyerek kendi vikiniz için seçenekleri özelleştirebilirsiniz. Burada yapılandırmayı yerleşik seçeneklerle yapıldığı gibi değiştirebilirsiniz: defaultOptions.js. Özel WikiLove yapılandırmalarına bazı örnekler:
- Wikipedia
- Arnavutça (tüm WikiLove yapılandırmasının yerini alır)
- Portekizce (tüm WikiLove yapılandırmasının yerini alır)
- Malayalam dili
- İngilizce
- Wikimedia Commons
defaultOptions.js öğesinin üst kısmındaki seçenekler, size kolaylık sağlamak için bazı varsayılan ayarlardır.
Türlerden veya alt türlerden belirli özellikleri atlarsanız, bu varsayılanlar kullanılır (defaultText, defaultBackgroundColor, defaultBorderColor, defaultImageSize, defaultImage
).
Sonra türlerin listesi var.
Her tür name
(gerekli) ve icon
(isteğe bağlı) özelliklerine sahip olabilir.
Ayrıca, bir türün alt türlerin bir listesi olabilir veya olmayabilir, bu durumda ek özellikler türün kendisine atanır.
Türün alt türleri varsa, bunlar subtypes
nesne listesinde listelenir.
İsteğe bağlı olarak, tür ayrıca açılır menünün üzerindeki etiketi belirten select
özelliğine de sahip olabilir.
Her alt tip aşağıdaki özelliklere sahip olabilir:
option
- açılır menüdeki addescr
- Alt türün tanımıheader
- Eklenmekte olan mesajın başlığı, yani== ... ==
arasında olacak kısımtitle
- Mesaj kutusunun başlığıtext
- Mesaj kutusunun metni (ayrıntılar için aşağıya bakın)image
- Mesaj kutusunun resmigallery
- Resim seçme galerisi (ayrıntılar için aşağıya bakın)fields
- Kullanıcının düzenleyebileceği alanlar dizisi; bu değerleri içerebilir:header, title, image, message
imageSize
- Resim boyutu (ör.100px
)backgroundColor
- Arka plan rengi (geçerli CSS renkleri, ör.#fdffe7
veyayellow
)borderColor
- Kenar rengi (aynı)
Alt türler kullanılmadığında, bu seçenekler (ilk ikisi hariç) türün kendisine eklenmelidir.
text
ve email
alanlarında (ve daha önce bahsedilen defaultText
içinde), otomatik olarak değiştirilecek birkaç kod kullanabilirsiniz:
- $1 - Kullanıcı mesaj
- $2 - Başlık
- $3 - Resim adı
- $4 - Resim boyutu
- $5 - Arka plan rengi
- $6 - Kenar rengi
- $7 - Alıcının kullanıcı adı
Kullanıcının resimleri seçmesini kolaylaştırmak için önceden tanımlanmış görüntülerle bir galeri oluşturabilirsiniz. Bunun için aşağıdaki özelliklere sahip bir gallery
özelliği oluşturun:
imageList
- Bir dizi resim adıwidth
- Galerideki resimlerin maksimum genişliği (piksel olarak); 3 resim için145
önerilirheight
- Galerideki görüntülerin maksimum yüksekliği (piksel olarak)number
- Gösterilecek rastgele resim sayısı (isteğe bağlı); atlanırsa tüm görüntüler gösterilir
Varsayılan ödüllerde olduğu gibi, Wikimedia Commons'taki resimleri kullanabilirsiniz. Daha önce de belirtildiği gibi, bunun için InstantCommons etkinleştirmeniz gerekir.
//<nowiki>
ile başlattığınızdan ve //</nowiki>
ile bitirdiğinizden emin olun, böylece herhangi bir vikimetin kodu (imza veya {{subst:foo}}
gibi) JavaScript içinde genişletilmez.
VikiSevgi türlerini kaldırma
Varsayılan VikiSevgi türlerinden bazılarını kaldırmak isterseniz, bunları $.wikiLoveOptions nesnesinden silebilirsiniz. Vikinizin MediaWiki:WikiLove.js sayfasında kullanabileceğiniz bazı örnekler:
// Yıldız listesinden Rastgele İyilik Yıldızı sil
delete $.wikiLoveOptions.types.barnstar.subtypes.kindness;
// Çizburger yiyecek ve içecek listesinden silin
delete $.wikiLoveOptions.types.food.subtypes.cheeseburger;
// Yavru kedi arayüzünü tamamen sil
delete $.wikiLoveOptions.types.kitten;
Yeni VikiSevgi türleri ekleme
İşte yeni bir köpek yavrusu türü ekleme örneği:
$.wikiLoveOptions.types.puppy = {
name: 'Puppy', // türün adı (türler menüsünde görünür)
fields: [ 'header', 'message' ], // formda sorulacak alanlar
header: 'You get a puppy!', // tartışma sayfası gönderisinin en üstünde görünen başlık (isteğe bağlı)
text: '[[File:2009-08-16 Puppy at Duke East 1.jpg|left|150px]]\n$1\n\n~~'+'~~<br style="clear: both;"/>', // $1, özel mesajdır
icon: 'http://www.mysite.com/images/wikilove-icon-puppy.png' // türler menüsünde görünür
};
Aralarından seçim yapabileceğiniz resim galerisine sahip yeni bir kirpi türü eklemeye bir örnek:
$.wikiLoveOptions.types.hedgehog = {
name: 'Hedgehogs', // türün adı (türler menüsünde görünür)
fields: [ 'header', 'message' ], // formda sorulacak alanlar
header: 'A hedgehog for you!', // tartışma sayfası gönderisinin en üstünde görünen başlık (isteğe bağlı)
text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 resim dosya adıdır, $1 mesajdır
gallery: {
imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
width: 145, // galerideki resimlerin maksimum genişliği
height: 150, // galerideki resimlerin maksimum yüksekliği
number: 3 // gösterilecek rastgele resim sayısı (isteğe bağlı)
},
icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // türler menüsünde görünür
Mevcut gıda türü altında yeni bir falafel alt türü ekleme örneği:
$.wikiLoveOptions.types.food.subtypes.falafel = {
fields: [ 'header', 'message' ], // formda sorulacak alanlar
option: 'Falafel', // seçim listesinde listelenen seçenek
descr: 'Falafel is a popular Middle Eastern street food made from ground chickpeas or fava beans and topped with salads, vegetables, and sauces. It is typically served in a pocket of pita bread.',
header: 'Some falafel for you!', // tartışma sayfası gönderisinin en üstünde görünen başlık (isteğe bağlı)
image: 'Falafel award.png', // öğe için resim
imageSize: '120px' // resmi görüntülemek için boyut (isteğe bağlı)
};
Aksaklıklar ve sorunlar
Düzenlemeye çalıştığınız tartışma sayfası daha sonra Special:SpamRegex içine eklenmiş bir kelime içeriyorsa, bir yıldız veya başka bir ödül eklemek için arayüzü kullanma denemeleri başarısız olur. Bunun nedeni, sayfanın yasaklanmış bir kelime içerdiği için düzenlenememesidir. Kelimeyi sayfadan veya filtreden kaldırmak sorunu çözecektir.
API belgesi
VikiSevgi, kullanıcıların konuşma sayfalarına mesaj göndermek için özel bir wikilove API'si kullanır. API temel olarak mevcut bazı API'lerin etrafındaki ince bir pakettir. Kullanıcının mesaj sayfası bir Vikimetin sayfasıysa, edit API'sini kullanır. Bir Flow sayfasıysa, flow API'sini kullanır. Ve bu bir LiquidThreads sayfasıysa, threadaction API'sini kullanır.
API'yi çağırmak için action=wikilove
parametresini kullanın.
Parametreler:
title
- VikiSevgi gönderilecek kullanıcı veya kullanıcı mesaj sayfasının başlığı (gerekli)
text
- Yeni bölüme eklemek için ham vikimetin (gerekli)
message
- Kayıt amacıyla kullanıcının girdiği gerçek mesaj (resim ve HTML biçimlendirmesini içermez)
token
- Düzenleme anahtarı. Bunlardan birini prop=info (gerekli) aracılığıyla alabilirsiniz
subject
- Yeni sayfa bölümünün konu başlığı (gerekli)
type
- VikiSevgi türü (istatistikler için); bu, sol menüde seçilen bir türe ve isteğe bağlı olarak bundan sonra bir alt türe (örneğin, "barnstar-normal" veya "kitten") (isteğe bağlı) karşılık gelir.
email
- Kullanıcıya gönderilecek isteğe bağlı e-posta iletisinin içeriği
Örnek:
api.php?action=wikilove&title=User:Dummy&text=Love&subject=Hi&token=%2B\
Sürüm 1.0 için tasarım
Bu belge, Vikipedi için olumlu geri bildirim sisteminin VikiSevgi tasarımını ve davranışını açıklamaktadır. Bu araç, VikiSevgi'nin Vikipedi içinde yayılmasını teşvik etmek için tasarlanmıştır. Özellikle, kullanıcı mesaj sayfalarına birkaç düğme tıklamak kadar ödül ve hediye eklemeyi kolaylaştırır.
Gerekçe
Bir topluluk olarak Vikipedi, kullanıcılarına memnuniyetsizlik belirtmek veya olumsuz geri bildirim sağlamak için çeşitli mekanizmalara sahiptir. Twinkle gibi bazı küçük araçlar uyarı, engelleme ve geri dönme yönünde yoğun bir şekilde tasarlanmıştır.
Vikipedi, özellikle yeni kullanıcılar için olumlu bir takviye ihtiyacı olduğundan, özel olarak ve sadece olumlu geri bildirimlere yönelik olarak tasarlanmış bir sistem istenmektedir.
Tuhaf Tarz Kullanımı
Sistemin tasarımında ağır bir "tuhaf" tarzı vardır. Bu kasıtlıdır ve modern web sitelerinin kullanıcılarının beklentilerine daha fazla uyum sağlamayı amaçlamaktadır. Ayrıca, tüm "ödüller" ilkesi kendi içinde tuhaftır (örneğin, kurabiye ve yavru kedi).
Bu stil kullanıcı geri bildirimlerine dayanarak terk edilebilir.
İsimlendirme Hakkında Not
Karşılama şablonları gibi bazı şablon türleri teknik olarak "ödül" değildir.
Bu belge, şablon ile dönüşümlü olarak ödül terimini kullanmaktadır. Sistem kullanıcı odaklı olduğundan ve doğrudan güç kullanıcıları için tasarlanmadığından, kullanıcıya dönük adlandırma kullanılmıştır.
Süreç
İletişim Kutusu Davranışı
VikiGezgin iletişim kutusu kalıcıdır. Başlamak (herhangi bir yerden) sayfanın metni üzerinde görünmesine neden olur. Basit bir tıklama ile kapatılabilir.
VikiSevgi sistemi için JavaScript gereklidir.
Kullanıcıya başlangıçta kısa bir dizi anlaşılması kolay talimatlar ve mevcut ödül kategorileri listesi sunulacaktır.
Bir ödül türü seçtikten sonra kullanıcıya ödüle ayrıntı ekleyebilecekleri bir bölüm (kısa mesaj gibi) sunulur.
Bazı ödül kategorilerinin (ör. "kurabiye") ikincil bir ödül oluşturma adımı olmayacağını ve doğrudan "Önizleme"'ye gideceğini unutmayın.
Kullanıcı daha sonra ödülün önizlemesini yükleyecek "önizleme" düğmesini tıklar, böylece kullanıcının konuşma sayfasında nasıl görüneceğini görebilir.
Kullanıcı tatmin olduktan sonra, "VikiSevgi Gönder" düğmesini tıklayabilir. Şu anda, sunucu API'sine AJAX çağrıları tetiklenecek ve şablon kullanıcının konuşma sayfasına eklenecektir.
E-posta Bildirimi
Çoğu yeni kullanıcının konuşma sayfalarının bile bulunduğunun farkında olma olasılığı düşük olduğundan, söz konusu VikiSevgi'yi aldıklarının farkında olmayabilirler.
Buna göre, sunucu alıcıya e-posta adresi verdiyse (e-posta adresi verdiyse) VikiSevgi'yi ve tartışma sayfalarına nasıl erişileceğine ilişkin kısa talimatları bildirir.
Site Yapılandırması
Başlangıçta verilebilecek ödüller, aracın kendisinde tanımlanmalıdır. Bu sistem bir uzantıya yükseltilirse, ödüllerin ve şablonların adları sitenin LocalSettings.php dosyasında tanımlanmalıdır.
Alternatif olarak, bu tür bilgiler veritabanında saklanabilir. Mevcut ödül ve ödül kategorilerini eklemek veya çıkarmak için bir yönetim konsolu gerekir.
Veri Depolama
İstatistik toplama amacıyla, her ödül verildiğinde veriler izlenir ve veritabanında saklanır. Gerekli olan tek şey API aracılığıyla yazılmış:
- Kullanıcıdan - Ödülü veren kişinin kullanıcı adı
- Kullanıcıya - Ödülü alan kişinin kullanıcı adı
- Şablon - verilen şablonun adı
- Zaman Damgası - ödül verildiğinde
- Ödül Metni - İsteğe bağlı; bu ödülün metni olurdu
Özel:WikiLoveStatistics
Gelecekte, sistemin ne sıklıkta kullanıldığını görmek ve en çok sevgiyi kimin verdiğini, hangi ödüllerin en popüler ve en çok ödül alan kim olduğunu anlamak için kullanılabilecek bir sayfa olan Özel:WikiLoveStatistics oluşturmak mümkün olmalıdır.
Bu, toplum sağlığı hakkında küresel bir genel bakış sunmaya yardımcı olacaktır. Ne kadar çok ödül verilirse, topluluk o kadar sağlıklı olur.
Gelecek Düşüncesi
Bu projenin ikinci aşaması, konuşma sayfalarındaki imzalara dinamik olarak "VikiSevgi Gönder" bağlantılarının eklenmesine neden olabilir. Bu, VikiSevgi'nin doğrudan diğer mesaj sayfalarından çok daha kolay bir şekilde gönderilmesine izin verecektir.
Ayrıca bakınız
- VikiSevgi - Orijinal tasarım belgesi
- Extension:Thanks - Echo kullanarak yapılan düzenlemeler için daha hafif teşekkür
- GiveCredit - MeatBall Viki
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. |