InstantCommons
InstantCommons, MediaWiki'nin dünya genelindeki herhangi bir MediaWiki kurulumunda Wikimedia Commons'dan yüklenen herhangi bir medya dosyasının kullanılmasına izin veren bir özelliğidir.
Gerekçe
Kasım 2023 itibariyle, Wikimedia Vakfı tarafından barındırılan merkezi medya deposu Wikimedia Commons, 73 milyondan fazla dosya içeriyor. Bu dosyaların her biri bir ücretsiz içerik lisansı altında veya kamu malı olarak mevcuttur; resmi nişanlar veya ticari markaların kullanımı ile ilgili olanların ötesinde başka kullanım kısıtlamaları yoktur. Ticari kullanımı sınırlayan lisanslar ücretsiz değildir. Each of these files is available under a free content license or in the public domain; there are no other restrictions of use beyond those relating to use of official insignia or trademarks. Licenses which limit commercial use are considered non-free.
Commons hakkında farkındalık arttıkça, dış tarafların içerdiği içeriği kullanma ve yeni materyallere katkıda bulunma arzusu da artar. Şu anda teknik olarak, herhangi bir web sayfası bağlamında doğrudan Wikimedia sunucularından görüntü yüklemek mümkündür. Bu tür bir bağlantıya izin verilir, ancak birden çok nedenden dolayı sorunludur: It is currently technically possible to load images directly from Wikimedia's servers in the context of any webpage. Such hotlinking is allowed, but it is problematic for multiple reasons:
- Resmin lisans koşullarına uymaz ve diğer meta verilerin güvenilir bir şekilde taşınmasına izin vermez
- Medya dosyasının yazarına düzgün bir şekilde kredi verememenin yanı sıra, Wikimedia'ya da katkı vermiyor
- Her sayfa görüntülemede Wikimedia bant genişliğini tüketir (resim istemci tarafında veya bir proxy üzerinden önbelleğe alınmadıkça; bu işlevsellik şu anda varsayılan olarak devre dışıdır)
- Küçük resim oluşturma ve resim yazısı gibi yararlı görüntü işlemlerini kolaylaştırmaz ve özellikle standart mizanpaj işlemleri için bir viki bağlamında kullanımı zordur.
- URL'lere, yansıtma işlemini zorlaştıran kaynak tanımlayıcıları olarak bağlıdır
- Wikimedia tarafındaki herhangi bir değişikliğin mutlaka bu harici kullanıcıları etkilediği, izlenemeyen bir harici kullanım ağı oluşturur
- Yalnızca aralıklı ağ erişimine sahip ülkelerde çok önemli olan çevrimdışı görüntülemeye izin vermez.
InstantCommons, Wikimedia sunucularından görüntüleri ve meta verileri önbelleğe yüklemek için kolay bir yöntem sağlayarak tüm bunları ele almaya çalışır. Bu önbelleğe alma işlevi, MediaWiki 1.27.2/1.28.1'den beri devre dışı bırakılmıştır. InstantCommons'ın ilk uygulaması MediaWiki içinde olacak ve tüm MediaWiki görüntü işlemlerinin (küçük resim, altyazı, galeriler, vb.) şeffaf bir şekilde gerçekleştirilmesine izin verecektir. Bununla birlikte, diğer viki motorları aşağıda açıklanan API işlemlerini kullanarak InstantCommons benzeri işlevleri uygulayabilir.
Temel özellik seti
Yükleme sırasında site hizmetlisi InstantCommons'ın etkinleştirilip etkinleştirilmeyeceğini seçebilir. Bununla birlikte, ideal olarak, mümkün olan en fazla sayıda kullanıcının Wikimedia Commons içeriğini kullanmasına izin vermek için özellik varsayılan olarak etkinleştirilmelidir (yazılabilir bir yükleme dizini belirtilmişse).
Özellik etkinleştirilirse, viki bir Wikimedia projesi gibi davranır, yani Commons'ta var olan bir görüntü veya başka bir medya dosyasına kaynaklanırsa, adını belirterek yerel olarak yüklenmiş bir dosya gibi bir viki sayfasına dahil edilebilir. Yerel dosya adları Commons dosya adlarına göre önceliklidir.
Yapılandırma
Varsayılan yöntem: $wgUseInstantCommons
MediaWiki sürüm 1.16 veya sonraki sürümlerde InstantCommons'ı etkinleştirmek için bu satırı LocalSettings.php
dosyasına eklemeniz yeterlidir (ayrıntılar için $wgUseInstantCommons sayfasına bakın):
$wgUseInstantCommons = true;
MediaWiki sürüm 1.13-1.15'te etkinleştirmek için Manual:$wgForeignFileRepos#Wikimedia Commons: ForeignAPIRepo sayfasına bakın.
Bu özellik hemen çalışmalıdır. Değilse, web sunucunuzda curl_exec()
PHP işlevinin devre dışı olup olmadığını kontrol edin.
A HTTP Proxy is configured for cURL with $wgHTTPProxy .
Yerel küçük resim önbelleğe alma özelliğine sahip klasik InstantCommons
$wgUseInstantCommons aracılığıyla etkinleştirilen varsayılan InstantCommons, Wikimedia'dan bağlantı verilen küçük resimleri kullanır.[1]
Bu yavaş olabilir ve dosya önbelleğe almayı da engelleyebilir (bozuk bağlantılar).
Yerel sunucunuzda küçük resim oluşturmak ve kullanmak istiyorsanız, $wgUseInstantCommons
kullanmayın.
Bunun yerine, burada açıklandığı gibi bu kodu LocalSettings.php içine ekleyin: Manual:$wgForeignFileRepos#Kullanım.
$wgForeignFileRepos[] = [
'class' => ForeignAPIRepo::class,
'name' => 'commonswiki', // Ayrı bir isim olmalı
'apibase' => 'https://commons.wikimedia.org/w/api.php',
'hashLevels' => 2,
'fetchDescription' => true, // İsteğe bağlı
'descriptionCacheExpiry' => 43200, // 12 saat, isteğe bağlı (değerler saniyedir)
'apiThumbCacheExpiry' => 86400, // 24 saat, isteğe bağlı, ancak yerel küçük resim önbelleğe alma için gerekli
];
HTTPS
Haziran 2015'ten itibaren, Wikimedia Commons'a yalnızca HTTPS kullanılarak erişilebilir. Bazı yüklemelerde, MediaWiki'nin HTTPS üzerinden Commons ile iletişim kurmasını engelleyen kök sertifika depoları eksik olabilir. InstantCommons çalışmayı durdurduysa şunu deneyin:
- php curl uzantısını yüklemesi. (Genellikle daha güvenilirdir ve zaten uygun sertifikaların yüklü olması daha olasıdır.) Debian/Ubuntu'da:
sudo apt-get install php-curl
- Güncel bir sertifika deponuz olduğunu doğrulayın. Yüklü php curl uzantısına sahipseniz webaware veya Talk:InstantCommons#Çalışmayı durdur talimatlarını uygulayın.
SElinux
Sunucu işletim sisteminiz SElinux kullanıyorsa, lütfen SELinux ayarlar sayfasındaki adanmış bölüme bakın ve HTTPD betiklerini ve modüllerinin ağa başarıyla erişebildiğinden emin olun. SElinux HTTPD komut dosyalarının ve modüllerinin Wikimedia Commons deposuna bağlanmasını önlüyorsa, InstantCommons özelliği çalışmaz.
Bir güvenlik duvarının arkasında
Vikinin çalıştığı sunucu bir güvenlik duvarının arkasındaysa, Instant Commons'ın çalışması için viki sunucusuna commons.wikimedia.org ve upload.wikimedia.org adreslerine giden http/https istekleri verilmelidir. IP adresi aralıkları wikitech:IP addresses sayfasında bulunur.
InstantCommons ile dosyaları kullanma
InstantCommons etkinken, Wikimedia Commons'tan herhangi bir görüntü seçebilirsiniz (örneğin bunlar), "Bu dosyayı kullan" düğmesini (viki simgesi olan düğmesini tıklayın.) işaretleyin ve işaretlemeyi vikinize yapıştırın. Örneğimizde yapıştırma
[[File:Wikipedia-Marker-commons.svg|thumb|Bu vikiye yerleştirilmiş Wikimedia Commons'tan bir resim]]
küçük resmi oluşturur (bu sayfanın sağ tarafında görüldüğü gibi).
Dosyaları bu şekilde kullanırken yine de lisanslama ve diğer dosya kullanımıyla ilgili yasal gerekliliklere uymanız gerektiğini unutmayın - Commons:Wikimedia dışındaki içeriği yeniden kullanma sayfasına bakın.
Ölçeklenebilirlik konuları
InstantCommons özelliği bir viki kullanıcısının Wikimedia sunucularından kaynak indirmesine izin verdiği için, vikiyi veya Wikimedia Commons'ı kullanarak örneğin 30K bağlantıyı yapıştırarak Hizmet Reddi saldırısı olasılığının olmaması çok önemlidir. Wikimedia Commons'daki en büyük dosyaları bir viki sayfasına dönüştürüp "önizleme"'ye basar. Bu nedenle, her başarılı InstantCommons isteğinin, kaynak kullanıcı veya IP adresi ve isteğin saati ile birlikte InstantCommons etkin viki tarafından günlüğe kaydedilmesi gerekir. Tek bir kullanıcı cömert bir iç bant genişliği sınırlamasını geçersiz kılarsa (varsayılan olarak 1 GB kadar yüksek olabilir, ancak kullanıcı tarafından yapılandırılabilir olmalıdır), gelecekteki görüntüler 24 saatlik bir süre içinde indirilmez. Bu sınırlama, viki hizmetlileri için mevcut olmamalıdır (eğer bir viki hizmetlisi kendi vikilerine karşı bir hizmet reddi saldırısı yapmak istiyorsa, bunun durdurulması gerekmez; Wikimedia'ya karşı bir saldırı yapmak istiyorlarsa, Wikimedia'nın sonu dışında bunu yapmayı durdurdu). Kullanıcı başına bant genişliği sınırına ek olarak, şeffaf olarak indirilmesi gereken dosyaların boyutu için bir sınır olabilir. Bunun nedeni, belirli bir boyutun üzerindeki dosyaların sayfa görüntülemeleri önemli ölçüde geciktirmesi ve hatta sayfa isteğinin zaman aşımına neden olabilmesidir. Bu dosyaların indirilmesi için harici bir uygulamanın kullanılması istenebilir, böylece sayfa isteğinin devam etmesine neden olmadan arka planda yapılabilir. Son olarak, InstantCommons önbelleği için toplam maksimum boyut olabilir; bu boyut aşılırsa başka dosya indirilmez.
InstantCommons özelliğini kullanan bireysel vikilerin Wikimedia Foundation için önemli bir maliyet artışına neden olması olası olmasa da (her dosya sadece bir kez indirilmeli ve kullanıcı başına bant genişliği sınırlamaları olduğundan), yine de adil ve makul olacaktır. Çzelliğini kullanarak InstantCommons açıklama sayfalarına bir bildirim eklemek ve kullanılan projeler için: "Bu dosya, Wikimedia Vakfı tarafından barındırılan bir medya arşivi olan Wikimedia Commons'tan geliyor. Wikimedia Vakfı desteklemek istiyorsanız, buraya bağış yapabilirsiniz..."
Gelecekteki potansiyel
Gelecekte, viki-viki kimlik doğrulaması ve vikilere abone olmak için kullanılan bir görüntü veritabanı gerektiren bir yayıncı/abone olma değişiklik modeli sunmak istenebilir. Bu değişikliklerin yürürlüğe girmesi için 24 saat veya daha uzun bir gecikme aşaması kullanılarak ele alınabilecek çapraz wiki vandalizmi tehdidini de açacaktır. İki yönlü işlevsellik başka bir olasılıktır, yani herhangi bir viki kurulumundan doğrudan Commons'a ücretsiz ortam yüklenmesine izin vermek. Ancak bunun için minimum birleşik kimlik doğrulaması gerekir. Diğer vikilerden kullanıcıları LiquidThreads gibi daha büyük bir projenin parçası olabilecek Commons politikaları hakkında bilgilendirmek için çapraz viki iletişim olanaklarını da gerektirebilir.
Ayrıca bakınız
- Manual:$wgForeignFileRepos - InstantCommons ile aynı işlevsellik için ancak diğer vikilerle
- PhotoCommons — Aynı işlevselliği sağlamak için WordPress eklentisi
- InstantCommons kullanan sitelere örnekler
- Extension:QuickInstantCommons