Extension:WikiLove

This page is a translated version of the page Extension:WikiLove and the translation is 100% complete.
Other languages:
Afrikaans • ‎Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎polski • ‎română • ‎svenska • ‎русский • ‎עברית • ‎فارسی • ‎বাংলা • ‎සිංහල • ‎中文 • ‎日本語 • ‎한국어
MediaWiki manüel uzantıları
OOjs UI icon advanced.svg
WikiLove
Sürüm durumu: kararlı
WikiLove-screenshot-2014.png
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ı sürüm dalları
MediaWiki 1.27+
Veritabanı değişiklikleri Evet
Tablolar wikilove_log
Lisans MIT Lisansı
İndir
$wgWikiLoveGlobal
$wgWikiLoveTabIcon
$wgWikiLoveLogging
Translatewiki.net adresinde mevcutsa, WikiLove uzantısını çevirin
Kullanım ve sürüm matrisini kontrol edin.
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.

İndir

Uzantı doğrudan Git'ten alınabilir [?]:

  • Kodu göz at
  • Bazı uzantıların kararlı sürümler için etiketleri vardır.
  • Her dal geçmiş bir MediaWiki sürümüyle ilişkilendirilmiştir. Ayrıca en son alfa sürümünü içeren bir "ana" dalı da vardır (MediaWiki'nin alfa sürümünü gerektirebilir).

Anlık görüntüyü ayıklayın ve MediaWiki kurulumunuzun extensions/WikiLove/ dizinine yerleştirin.

Git'e aşina iseniz ve sunucunuza kabuk erişiminiz varsa, uzantıyı aşağıdaki gibi elde edebilirsiniz:

cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLove.git

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki WikiLove adlı dizine yerleştirin.
  • 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 bir wikilove_log veritabanı tablosu oluşturur
WikiLove 1.0 supported MW 1.17+

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

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:

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 ad
  • descr - Alt türün tanımı
  • header - Eklenmekte olan iletinin başlığı, yani aradaki bölüm == ... ==
  • title - Mesaj kutusunun başlığı
  • text - Mesaj kutusunun metni (ayrıntılar için aşağıya bakın)
  • image - Mesaj kutusunun resmi
  • gallery - 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 veya yellow)
  • 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çin 145 önerilir
  • height - 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.

MediaWiki:WikiLove.js sayfanızı //<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', // name of the type (appears in the types menu)
	fields: [ 'header', 'message' ], // fields to ask for in form
	header: 'You get a puppy!', // header that appears at the top of the talk page post (optional)
	text: '[[File:2009-08-16 Puppy at Duke East 1.jpg|left|150px]]\n$1\n\n~~'+'~~<br style="clear: both;"/>', // $1 is the custom message
	icon: 'http://www.mysite.com/images/wikilove-icon-puppy.png' // appears in the types menu
};

Aralarından seçim yapabileceğiniz resim galerisine sahip yeni bir kirpi türü eklemeye bir örnek:

$.wikiLoveOptions.types.hedgehog = {
	name: 'Hedgehogs', // name of the type (appears in the types menu)
	fields: [ 'header', 'message' ], // fields to ask for in form
	header: 'A hedgehog for you!', // header that appears at the top of the talk page post (optional)
	text: '[[$3|left|150px]]\n$1\n\n~~'+'~~\n<br style="clear: both"/>', // $3 is the image filename, $1 is the message
	gallery: {
		imageList: [ 'Hedgehog1.jpg', 'Orizo5.jpg', 'Erinaceus europaeus LC0119.jpg' ],
		width: 145, // maximum width of the images in the gallery
		height: 150, // maximum height of the images in the gallery
		number: 3 // number of random images to show (optional)
	},
	icon: 'http://www.mysite.com/images/wikilove-icon-hedgehog.png' // appears in the types menu

Mevcut gıda türü altında yeni bir falafel alt türü ekleme örneği:

$.wikiLoveOptions.types.food.subtypes.falafel = {
    fields: [ 'header', 'message' ], // fields to ask for in form
    option: 'Falafel', // option listed in the select list
    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!', // header that appears at the top of the talk page post (optional)
    image: 'Falafel award.png', // image for the item
    imageSize: '120px' // size to display image (optional)
};

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

 
İlk yükleme sonrasında VikiSevgi iletişim kutusu
 
Bir ödül kategorisi seçildikten sonra VikiSevgi iletişim kutusu
 
Ödül için ayrıntıları doldurduktan sonra VikiSevgi iletişim kutusu
 
Önizleme modunda VikiSevgi iletişim kutusu
 
Ödül seçim bölmesi için fareyle üzerine gelme durumu

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