Extension:DynamicPageList3

From mediawiki.org
This page is a translated version of the page Extension:DynamicPageList3 and the translation is 100% complete.
MediaWiki manüel uzantıları
DynamicPageList3
Sürüm durumu: kararlı
Uygulama Etiket , Ayrıştırıcı işlevi
Açıklama Diğer maddelerin kategorisine, ad alanına, başlığına, referanslarına veya şablon kullanımına ve içeriklerine veya bu maddelerin şablon çağrılarının bağımsız değişkenlerine göre sayfanızla listeleri oluşturun.
Yazar(lar) Universal Omega, Alexia E. Smith, Algorithmix, Dangerville, IlyaHaykinson, Theaitetos, Unendlich~dewiki
En son sürüm 3.5.2 (2023-01-14)
MediaWiki 1.39.0+
Veritabanı değişiklikleri Evet
Composer universal-omega/dynamic-page-list3
Lisans GNU Genel Kamu Lisansı 3.0 veya üstü
İndir
Örnek DPL:Manual - Gamepedia Help Wiki
  • $wgDplSettings
  • dpl_param_update_rules
  • dpl_param_delete_rules
DynamicPageList3 uzantısını çevirin
Bu Extension:DynamicPageList (third-party) uzantının bir devamı ve çataldır. Tamamen yeniden işlenmiş, nesne yönelimli bir kod tabanı, önemli kod ve veritabanı hızı iyileştirmeleridir ve önceki sürümlerle tamamen geriye dönük uyumludur.

DynamicPageList3 uzantısı, MediaWiki için bir raporlama aracıdır ve kategori üyelerini ve çeşitli biçimler ve ayrıntılarla kesişimleri listelemektedir. Tam belgelendirme için kılavuzuna bakın.

Temel bir seçim parametreleri setiyle çağrıldığında, DPL bir veya daha fazla kategorideki sayfaların bir listesini görüntüler. Seçimler ayrıca yazar, ad alanı, tarih, ad kalıbı, şablonların kullanımı veya diğer maddelere kaynakça gibi faktörlere dayalı olabilir. Çıkış, bazıları seçilmiş maddelerin unsurlarını içeren çeşitli biçimler alır.

Bu uzantı, {{#dpl: .... }} ayrıştırıcı işlevi veya ‎<DPL> ayrıştırıcı etiketi ile çağrılır. Bir Wikimedia-belirli özelliklerin uyumlu uygulaması ‎<DynamicPageList> ile başlatılabilir.

Karmaşık aramalar, hesaplama açısından pahalı veritabanı sorgularına neden olabilir. Ancak, her sayfa yüklemede sorguyu yeniden çalıştırma ihtiyacını azaltmak için varsayılan olarak tüm çıkış bir saatlik bir süre için önbelleğe alınır. DPL:Parametreler: Diğer Parametreler kılavuz sayfası, önbelleği devre dışı bırakmak ve anlık güncellemelere izin vermek için kullanılabilecek parametreler hakkında bilgi içerir.

Kılavuz ve Eksiksiz Belgelendirme
Gamepedia Yardım Viki'de belgelendirme
Kaynak Kodu
GitHub'da kaynak kodu
GitHub'da Hatalar ve Özellik İstekleri
[1]
Lisanslama
DynamicPageList3 GNU Genel Kamu Lisansı, sürüm 2 altında yayımlandı.

Kurulum

Yapılandırma

Bunlar, varsayılan değerleriyle birlikte DPL'nin yapılandırma ayarlarıdır.

Bunları değiştirmek için, uzantıyı vikiye eklemeden önce tanımlandıklarından emin olun.

3.0.4 sürümünde, yapılandırma değişkeni adı $dplSettings olarak $wgDplSettings ile değiştirildi. Bu, MediaWiki 1.25'in uzantı kaydı değişikliğiyle uyumluluğu kolaylaştırmak içindi.
Ayarlama Varsayılan Açıklama
$wgDplSettings['allowedNamespaces'] null Varsayılan olarak, DPL başlatıldığında mevcut tüm ad alanları kullanılır. DPL'yi yalnızca bu ad alanlarında çalışacak şekilde kısıtlamak için bir dizi ad alanı sabitiyle bu ayarı özelleştirin.
$wgDplSettings['allowUnlimitedCategories'] false 'maxCategoryCount' yok saymak ve sınırsız kategoriye izin vermek için bunu true olarak ayarlayın. Bir sorgudaki çok sayıda kategorinin sunucuları yavaşlatabileceğini veya çökebileceğini lütfen unutmayın.
$wgDplSettings['allowUnlimitedResults'] false 'maxResultCount' yok saymak ve sınırsız sonuçlara izin vermek için bunu true olarak ayarlayın. Büyük sonuç kümelerinin yavaş veya başarısız sayfa yüklemeleriyle sonuçlanabileceğini lütfen unutmayın.
$wgDplSettings['alwaysCacheResults'] false Set this to true to ignore 'allowcachedresults' and always enable the parser cache.
$wgDplSettings['categoryStyleListCutoff'] 6 Kesilmeden önce bir kategori listesindeki maksimum öğe sayısı.
$wgDplSettings['functionalRichness'] 3 Son kullanıcıların kullanabileceği parametre düzeyini ayarlayın.
$wgDplSettings['maxCategoryCount'] 4 Sorgularda izin verilecek maksimum kategori sayısı.
$wgDplSettings['minCategoryCount'] 0 Sorgularda izin verilecek minimum kategori sayısı.
$wgDplSettings['maxResultCount'] 500 Bir sorgudan döndürülecek maksimum sonuç sayısı.
$wgDplSettings['recursiveTagParse'] false Etiketleri ve {{PAGENAME}} gibi sihirli kelimeler gibi işlevleri dönüştüren ‎<dpl> ayrıştırıcı etiketlerinde özyinelemeli etiket ayrıştırma yapın. Bu, {{#dpl}} ayrıştırıcı işlev çağrısına benzer, ancak her durumda tam olarak aynı şekilde çalışmayabilir.
$wgDplSettings['runFromProtectedPagesOnly'] false DPL'nin yalnızca korunan sayfalardan çalışmasına izin vermek için bunu true olarak ayarlayın. Bu, viki hizmetlilerin hesaplama açısından yoğun sorgular oluşturan kötü niyetli kullanıcılarla ilgili sorunları varsa önerilir.
$wgDplSettings['handleSectionTag'] false DPL'nin DPL ayrıştırıcı etiketleri dışında ‎<section> etiketlerini işlemesi için bunu true olarak ayarlayın.
$wgDplSettings['maxQueryTime'] 10000 Maximum allowed time for database queries in milliseconds.
$wgDplSettings['queryCacheTime'] 0 Configure query cache time. The query cache cannot be purged. Suggested value between 30 to 600.

$wgNonincludableNamespaces küresel değişkeni, DPL tarafından otomatik olarak dikkate alınır.

Listelenen ad alanlarının içeriğinin DPL'nin çıktısında görünmesini engeller.

$wgDplSettings['maxResultCount'], SQL sorgusunun kendisinde bir LIMIT'dir. includematch gibi bazı DPL sorgu parametreleri SQL sorgusundan sonra olarak uygulanır, bu nedenle buradaki sonuçlar kolayca yanıltıcı olabilir.

İşlevsel zenginlik

DynamicPageList, maksimum işlevsel zenginlik düzeyine göre kilidi açılan birçok özelliğe sahiptir.

Bazıları yüksek CPU veya veritabanı yüküne neden olabilir ve dikkatli kullanılmalıdır.

  • $wgDplSettings['functionalRichness'] = 0 - Wikimedia'nın DynamicPageList (Intersection) ile eşdeğer
  • $wgDplSettings['functionalRichness'] = 1 - ek biçimlendirme parametreleri ekler
  • $wgDplSettings['functionalRichness'] = 2 - şablonlar ve sayfa bağlantıları için performansa eşdeğer özellikler ekler
  • $wgDplSettings['functionalRichness'] = 3 - daha pahalı sayfa ekleme özelliklerine ve düzenli ifade sorgularına izin verir
  • $wgDplSettings['functionalRichness'] = 4 - egzotik ve potansiyel olarak tehlikeli toplu güncelleme ve silme işlemlerine izin verir; herkese açık web siteleri için önerilmez. Test ve geliştirme için hata ayıklama parametrelerini içerir.

Kullanım

Genişletilmiş DPL İşlevselliği

Genişletilmiş DPL, {{#dpl: .... }} ayrıştırıcı işlevi veya ‎<DPL>...‎</DPL> ayrıştırıcı uzantı etiketi kullanılarak çağrılır.

Kılavuz - Genel Kullanım ve Çağırma Sözdizimi ve DPL:Parametreler: Sayfa Seçimi Kriterleri sayfasına bakın

Geriye dönük uyumluluk

Wikimedia'nın DPL uzantısıyla uyumlu işlevsellik ‎<DynamicPageList>...‎</DynamicPageList> ile çağrılabilir.

Daha fazla bilgi Uyumluluk kılavuzu sayfasında bulunabilir.


Kullanım Felsefesi ve Genel Bakış

"Ülkeler" hakkında yazılmış bazı maddeler olduğu varsayımıyla, bu maddeleri tipik olarak üç ortak noktası olacaktır:

  • Ortak bir kategoriye ait olacaklar
  • Benzer bir bölüm yapısına sahip olacaklar, yani 'Din' veya 'Tarih' adlı paragrafları içerecekler.
  • Yüksek düzeyde yapılandırılmış kısa veri öğelerini ('Sermaye', 'Yerleşikler', ..) güzel bir şekilde (ör. viki tablo olarak) sunmak için kullanılan bir şablon kullanacaklardır.

Ülkelere göre bir rapor oluşturun

Hangi ülkelerin belirli bir dini uyguladığına dair bir rapor hazırlamaya ihtiyaç duyulsaydı, bu category ve linksto parametreleriyle kolayca yapılabilirdi.

{{#dpl:
category=countries
|linksto=Pastafarianism
}}

DPL ile şunlar yapılabilir:

  • Tüm bu maddelerin (veya rastgele bir numunenin) bir listesini oluşturun
  • Maddelerin meta verilerini gösterin (popülerlik, son güncelleme tarihi, ..)
  • Maddelerin bir veya daha fazla bölümünü göster (içeriği 'yansıtma')
  • Genel şablona geçirilen parametre değerlerini gösterin
  • Maddeleri uygun şekilde sıralayın
  • Sonucu sıralanabilir bir tabloda sunun (örn.)
  • Birden çok sütun çıkışını oluşturun

Hangi adımlar gereklidir?

Listelemek istediğiniz maddeleri bulun:

  • Kategorilerin mantıksal bir kombinasyonunu (AND,OR,NOT) seçin
  • Maddenin atanması gereken kategori sayısı için bir aralık belirtin
  • Ad alanlarının mantıksal birleşimiyle (AND,OR,NOT) seçin
  • Maddenin adıyla eşleşmesi gereken bir kalıp tanımlayın
  • Maddenin bağlanması veya bağlanmaması gereken bir sayfa adlandırın
  • Maddenin kullanması veya kullanmaması gereken bir şablon adlandırın
  • Bir sayfadaki harici bağlantılarda bulunması gereken bir metin kalıbını adlandırın
  • Yönlendirmeleri hariç tutun veya dahil edin
  • Aramanızı kararlı sayfalarla veya kaliteli sayfalarla ("işaretli revizyonlar") sınırlandırın
  • Yazar, son değişiklik tarihi vb. gibi seçim için diğer kriterleri kullanın.
  • Dahil etmek istediğiniz sayfaların içeriğiyle eşleşmesi için düzenli ifadeler tanımlayın

Maddelerin sonuç listesini buna göre sıralayın

  • Madde adı
  • Madde boyutu
  • Son değişiklik tarihi
  • Düzenleme yapacak son kullanıcı

Görmek istediğiniz öznitelikleri tanımlayın

  • Madde adı
  • Madde ad alanı
  • Madde boyutu
  • Son değişiklik tarihi
  • Son erişim tarihi
  • Düzenleme yapacak son kullanıcı

Göstermek istediğiniz içerikleri tanımlayın

  • Tüm madde
  • Belirli bölümlerin içerikleri (başlıklarla tanımlanır)
  • Metin bölümleri (maddede özel işaretleyici etiketlerle tanımlanır)
  • Şablon çağrılarının değerleri
  • Çıkışı göstermek için özel bir şablon kullanın

Çıkış biçimini tanımlayın

  • Varsayılan çıkış için üstbilgi ve altbilgi belirtin
  • Sıralı liste, sırasız liste kullanın
  • Tabloları kullanın
  • İçeriklerine şablonlar uygulayarak tablo alanlarını ayrı ayrı biçimlendirin
  • Kategori stili listesini kullan
  • Truncate title or contents to a certain maximum length
  • Maddeye veya bir veya daha fazla bölümüne bağlantı ekleyin

Dikkat edilmesi gerekenler

Performans

DPL'nin kod yürütme ve veritabanı erişimi, tipik kategori ve madde aramaları için genellikle hızlıdır.

Ancak, gevşek LIKE ve REGEXP eşleşme parametrelerinin kullanılması ve/veya büyük veri kümelerinin talep edilmesi, uzun veritabanı erişim sürelerine neden olabilir.

Ayrıştırıcı süresi de dikkate alınmalıdır.

Örneğin, resim sonuçları sorgusunun bunları görüntüleyen bir şablona girmesi, her biri için bir ayrıştırıcı medya dönüşümü ile sonuçlanacaktır.

Bu, medya dönüşümü başına hızlı bir şekilde 2 MB RAM tüketebilir.

Version 3.4.0 introduces two new configuration options, $wgDplSettings['maxQueryTime'], which allows configuration the max execution length for queries, in milliseconds, and $wgDplSettings['queryCacheTime'], which allows configuration of query cache. It also adds support for PoolCounter to limit query concurrency.

Ayrıca bakınız

Daha fazla okuma

DPL burada açıklayabileceğimizden çok daha fazlasını yapabilir.

Eksiksiz bir kılavuz, tam parametre belgelendirmesi ile birlikte mevcuttur.