Extension:DynamicPageList3

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:DynamicPageList3 and the translation is 51% complete.
MediaWiki manüel uzantıları
OOjs UI icon advanced-invert.svg
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) Alexia E. Smith, Universal Omega, Algorithmix, Dangerville, IlyaHaykinson, Theaitetos, Unendlich~dewiki
En son sürüm 3.3.5 (2021-07-01)
MediaWiki 1.35.0+
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
Örnek DPL:Manual - Gamepedia Help Wiki
Translatewiki.net adresinde mevcutsa, DynamicPageList3 uzantısını çevirin

Kullanım ve sürüm matrisini kontrol edin.

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
Source code at GitHub
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

These are DPL's configuration settings along with their default values.

To change them make sure they are defined before including the extension on the wiki.

In release 3.0.4, the configuration variable name was changed from $dplSettings to $wgDplSettings. This was to facilitate compatibility with MediaWiki 1.25's extension registration change.
Ayarlama Varsayılan Açıklama
$wgDplSettings['allowedNamespaces'] null By default all existing namespaces are used when DPL initializes. Customize this setting with an array of namespace constants to restrict DPL to work only in those namespaces.
$wgDplSettings['allowUnlimitedCategories'] false Set this to true to ignore 'maxCategoryCount' and allow unlimited categories. Please note that large amounts of categories in a query can slow down or crash servers.
$wgDplSettings['allowUnlimitedResults'] false Set this to true to ignore 'maxResultCount' and allow unlimited results. Please note that large result sets may result in slow or failed page loads.
$wgDplSettings['behavingLikeIntersection'] false Set DPL to always behave like Extension:Intersection.
$wgDplSettings['categoryStyleListCutoff'] 6 Maximum number of items in a category list before being cut off.
$wgDplSettings['fixedCategories'] [] This does something with preventing DPL from looking at these categories.
$wgDplSettings['functionalRichness'] 3

0 if $dplMigrationTesting is set to true

Set the level of parameters available to end users.
$wgDplSettings['maxCategoryCount'] 4 Maximum number of categories to allow in queries.
$wgDplSettings['minCategoryCount'] 0 Minimum number of categories to allow in queries.
$wgDplSettings['maxResultCount'] 500 Maximum number of results to return from a query.
$wgDplSettings['recursiveTagParse'] false Do recursive tag parsing on ‎<dpl> parser tags converting tags and functions such as magic words like {{PAGENAME}}. This is similar to the {{#dpl}} parser function call, but may not work exactly the same in all cases.
$wgDplSettings['runFromProtectedPagesOnly'] false Set this to true to allow DPL to run from protected pages only. This is recommend if wiki administrators are having issues with malicious users creating computationally intensive queries.
$wgDplSettings['handleSectionTag'] false Set this to true to have DPL handle ‎<section> tags outside of DPL parser tags.

The global variable $wgNonincludableNamespaces is automatically respected by DPL.

It will prevent the contents of the listed namespaces from appearing in DPL's output.

$wgDplSettings['maxResultCount'] is a LIMIT on the SQL query itself. Some DPL query parameters like includematch are applied after the SQL query, however, so results here may easily be misleading.

İşlevsel zenginlik

DynamicPageList has many features which are unlocked based on the maximum functional richness level.

There are some that can cause high CPU or database load and should be used sparingly.

  • $wgDplSettings['functionalRichness'] = 0 - equivalent to Wikimedia's DynamicPageList
  • $wgDplSettings['functionalRichness'] = 1 - adds additional formatting parameters
  • $wgDplSettings['functionalRichness'] = 2 - adds performance equivalent features for templates and pagelinks
  • $wgDplSettings['functionalRichness'] = 3 - allows more-expensive page inclusion features and regular expression queries
  • $wgDplSettings['functionalRichness'] = 4 - permits exotic and potentially dangerous batch update and delete operations; not recommended for public websites. Includes debugging parameters for testing and development.

Kullanım

Genişletilmiş DPL İşlevselliği

Extended DPL is invoked by using the parser function {{#dpl: .... }}, or the parser extension tag ‎<DPL>...‎</DPL>.

See Manual - General Usage and Invocation Syntax and DPL:Parameters: Criteria for Page Selection

Geriye dönük uyumluluk

Functionality compatible with Wikimedia's DPL extension can be invoked with ‎<DynamicPageList>...‎</DynamicPageList>.

Further information can be found on the Compatibility manual page.


Kullanım Felsefesi ve Genel Bakış

With the assumption there are some articles written about countries those articles will typically have three things in common:

  • They will belong to a common category
  • They will have a similar chapter structure, i.e. they will contain paragraphs named 'Religion' or 'History'
  • They will use a template which is used to present highly structured short data items ('Capital', 'Inhabitants', ..) in a nice way (e.g. as a wikitable)

Generate a report based on countries

If there was a need to assemble a report of what countries practice a certain religion this could be easily done with the category and linksto parameters.

{{#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ı

Define contents you want to show

  • Whole article
  • Contents of certain sections (identified by headings)
  • Text portions (defined by special marker tags in the article)
  • Values of template calls
  • Use a custom template to show output

Define the output format

  • Specify header and footer for the default output
  • Use ordered list, unordered list
  • Use tables
  • Format table fields individually by applying templates to their content
  • Use category style listing
  • Truncate title or contents to a certain maximum length
  • Add a link to the article or to one or more of its sections

Dikkat edilmesi gerekenler

Performans

DPL's code execution and database access is typically fast for typical category and article look ups.

However, using loose LIKE and REGEXP match parameters and/or requesting large data sets can result in long database access times.

Parser time should also be kept in consideration.

For example, having the query of image results go into a template that displays them will result in a parser media transform for each one.

This can quickly eat up 2MBs of RAM per media transform.

Ayrıca bakınız

Daha fazla okuma

DPL can do much more than we can explain here.

A complete manual is available with full parameter documentation.