Jump to content

Extension:WikiLove

From mediawiki.org
This page is a translated version of the page Extension:WikiLove and the translation is 99% complete.
Outdated translations are marked like this.
MediaWiki manüel uzantıları
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

  • $wgWikiLoveGlobal
  • $wgWikiLoveTabIcon
  • $wgWikiLoveLogging
Quarterly downloads 22 (Ranked 103rd)
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üzdeki WikiLove 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.
  • Yes 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


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:

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 mesajın başlığı, yani == ... == arasında olacak kısı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', // 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

İ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