Extension:DynamicPageList3
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 | GitHub: |
Örnek | DPL:Manual - Gamepedia Help Wiki |
|
|
|
|
DynamicPageList3 uzantısını çevirin | |
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
- Dosyaları İndir ve
extensions/
klasörünüzdekiDynamicPageList3
adlı dizine yerleştirin. - LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
wfLoadExtension( 'DynamicPageList3' );
- Gerekirse, gerektiği gibi yapılandırın.
- Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
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.
$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.
- Manual:Managing data in MediaWiki – Bir genel bakış ve karşılaştırma.
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. |
- Stable extensions/tr
- Tag extensions/tr
- Parser function extensions/tr
- Extensions supporting Composer/tr
- GPL licensed extensions/tr
- Extensions in GitHub version control/tr
- ParserFirstCallInit extensions/tr
- LoadExtensionSchemaUpdates extensions/tr
- ParserAfterTidy extensions/tr
- All extensions/tr
- Extensions included in BlueSpice/tr
- Extensions included in Fandom/tr
- Extensions included in Miraheze/tr
- Extensions included in MyWikis/tr
- Extensions included in wiki.gg/tr
- Extensions included in WikiForge/tr
- Category extensions/tr
- List extensions/tr
- Namespace extensions/tr
- Special page extensions/tr
- Table extensions/tr
- Page content extensions/tr
- Tag cloud extensions/tr
- Category intersection extensions/tr