Extension:DynamicPageList3/ja

Category:GPL licensed extensions/ja
MediaWiki 拡張機能マニュアル
DynamicPageList3
リリースの状態: 安定Category:Stable extensions/ja
実装 タグ Category:Tag extensions/ja, パーサー関数 Category:Parser function extensions/ja
説明 カテゴリ、名前空間、タイトル、リファレンス、またはテンプレートの使用法に基づいて他の記事のリストを作成し、それらの記事のテンプレート呼び出しのコンテンツまたは引数をあなたのページにインクルードすることができます。
作者 Universal Omega, Alexia E. Smith, Algorithmix, Dangerville, IlyaHaykinson, Theaitetos, Unendlich~dewiki
最新バージョン 3.6.1 (2025-02-10)
MediaWiki 1.43.0+Category:Extensions with manual MediaWiki version/ja
データベースの変更 はい
Composer universal-omega/dynamic-page-list3Category:Extensions supporting Composer/ja
ライセンス GNU 一般公衆利用許諾書 3.0 以降
ダウンロード Category:Extensions in GitHub version control/ja
DynamicPageList3 Manual
  • $wgDplSettings
  • dpl_param_update_rules
  • dpl_param_delete_rules
DynamicPageList3 拡張機能の翻訳にご協力ください
Category:All extensions/ja
これはExtension:DynamicPageList (third-party) の継続とフォークです。 オブジェクト指向のコードベースを全面的に見直し、コードとデータベースのスピードを大幅に向上させ、前バージョンとの完全な後方互換性を実現しました。 There is a continuation extenstion to this one called Extension:DynamicPageList4 that is also backward compatible.

拡張機能DynamicPageList3はMediaWikiのためのレポートツールで、様々なフォーマットと詳細でカテゴリのメンバーや交差点をリストアップします。 完全なドキュメントは、マニュアルを参照してください。

基本的な選択パラメータのセットで起動すると、DPLは1つまたは複数のカテゴリに分類されたページのリストを表示します。 また、著者、名前空間、日付、名前のパターン、テンプレートの使用、他の記事への参照などの要素に基づいて選択されることもある。 アウトプットの形は様々で、中には厳選された記事の要素を取り入れたものもあります。

この拡張機能は、パーサ関数{{#dpl: .... }}またはパーサタグ<DPL>で呼び出される。 ある機能のウィキメディア互換の実装は、<DynamicPageList> で呼び出すことができます。

複雑なルックアップは、計算コストのかかるデータベースクエリーになる可能性があります。 しかし、既定では、すべての出力は、ページロードのたびにクエリを再実行する必要性を減らすために、1時間の期間、キャッシュされます。 マニュアルページの DPL:Parameters: Other Parameters には、キャッシュを無効にして即時更新を可能にするためのパラメータについての情報が記載されています。

マニュアルと完全なドキュメンテーション
DynamicPageList3 のマニュアル
ソース コード
GitHub のソースコード
バグと機能の要望
問題と要望の追跡


インストール

設定

これらは、DPL の構成設定とその既定値です。

これらを変更するには、拡張機能をwikiに含める前に定義されていることを確認します。

3.0.4リリース以降、構成変数名が$dplSettingsから$wgDplSettingsに変更されています。 これはMediaWiki 1.25での拡張機能の登録方法の変更との互換性を容易にするためです。
設定 既定 説明
$wgDplSettings['allowedNamespaces'] null 既定では、DPLの初期化時にすべての既存の名前空間が使用されます。 名前空間定数の配列を設定すると、DPL3 はそれらの名前空間でのみ動作するように制限されます。
$wgDplSettings['allowUnlimitedCategories'] false true を設定すると、'maxCategoryCount' を無視し、無制限にカテゴリを許可します。 クエリ内のカテゴリが多すぎると、サーバーの速度低下やサーバーダウンに繋がるおそれがあるので注意してください。
$wgDplSettings['allowUnlimitedResults'] false true に設定すると、'maxResultCount' を無視して無制限に結果を取得します。 取得する結果の件数が多すぎると、ページの読み込みが遅くなったり失敗するおそれがあるので注意してください。
$wgDplSettings['alwaysCacheResults'] false Set this to true to ignore 'allowcachedresults' and always enable the parser cache.
$wgDplSettings['categoryStyleListCutoff'] 6 Maximum number of items in a category list before being cut off.
$wgDplSettings['functionalRichness'] 3 利用者が使用できるパラメーターのレベルを設定します。
$wgDplSettings['maxCategoryCount'] 4 クエリで許可されるカテゴリ数の上限。
$wgDplSettings['minCategoryCount'] 0 クエリで許可されるカテゴリ数の下限。
$wgDplSettings['maxResultCount'] 500 クエリから返される結果の上限値。
$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 the same in all cases.
$wgDplSettings['runFromProtectedPagesOnly'] false trueに設定すると、DPL3は保護されたページからのみ実行します。 これはウィキの管理者が悪意のある利用者によって高負荷なクエリが作成される問題を抱えている場合に推奨されます。
$wgDplSettings['handleSectionTag'] false trueに設定すると、DPLパーサータグの外側でDPL3が<section>タグを処理できるようになります。
$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 は、DynamicPageList3 の動作に影響します。

このため、ここで設定された名前空間の内容は DynamicPageList3 で出力されません。

$wgDplSettings['maxResultCount']SQL クエリに対する LIMIT です。 ただし、includematch などの一部の DynamicPageList3 のクエリ引数は SQL クエリの後に適用されるため、ここで得られる結果は誤解を招く可能性があります。

機能の制限

DynamicPageList3 は多くの機能がありますが、functional richness(機能の豊富さを示す) レベルの値に基づいて機能が制限されます。

一部の機能は CPU またはデータベースへの負荷が高くなるおそれがあるため、使用を控えたほうがよいでしょう。

  • $wgDplSettings['functionalRichness'] = 0 - ウィキメディアのDynamicPageList (Intersection)と同等
  • $wgDplSettings['functionalRichness'] = 1 - 書式設定パラメータを追加
  • $wgDplSettings['functionalRichness'] = 2 - テンプレートとページリンクにパフォーマンスと同等の機能を追加
  • $wgDplSettings['functionalRichness'] = 3 - より高価なページインクルード機能や正規表現クエリを使用可能
  • $wgDplSettings['functionalRichness'] = 4 - は、エキゾチックで潜在的に危険な一括更新と削除の操作を許可します。 テスト・開発用のデバッグ・パラメータを含む。

使用法

DPLの機能拡張

拡張動的ページ一覧は、パーサ関数{{#dpl: .... }}、またはパーサ拡張タグ<DPL>...</DPL>を使用することで呼び出されます。

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

後方互換性

ウィキメディアのDPL拡張と互換性のある機能は、<DynamicPageList>...</DynamicPageList>で呼び出すことができます。

詳細は、互換性マニュアル ページを参照してください。


使用理念と概要

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

  • 共通のカテゴリに属することになる
  • 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', ..) nicely (e.g., as a wikitable)

国別のレポート作成

もし、ある宗教を信仰している国があれば、categorylinkstoのパラメータで簡単に報告書を作成することができます。

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

DPLを使えば、可能性があります。

  • すべての記事のリストを作成する(または無作為に抽出する)
  • 記事のメタデータを表示する(人気度、最終更新日、...)。
  • 記事の1章または複数章を表示する('transclude'コンテンツ)
  • 共通テンプレートに渡されるパラメータ値を表示します。
  • 記事を適切に注文する
  • 結果をソート可能な表で提示する (例)
  • 複数列の出力を生成する

どのような手順が必要なのでしょうか?

リストアップしたい記事を探す。

  • Select by a logical combination (AND, OR, NOT) of categories
  • 記事を割り当てるべきカテゴリの数の範囲を指定する
  • Select by a logical combination (AND, OR, NOT) of namespaces
  • Define a pattern which must match the article's name
  • Name a page to which the article must or must not link
  • Name a template which the article must or must not use
  • Name a text pattern that must occur within external links from a page
  • Exclude or include redirections
  • Restrict your search to stable pages or quality pages ("flagged revisions")
  • Use other criteria for selection like the author, date of last change, etc.
  • Define regular expressions to match the contents of pages you want to include

Order the result list of articles according to

  • 記事名
  • 記事のサイズ
  • Date of last change
  • Last user to make an edit

Define attributes you want to see

  • 記事名
  • Article namespace
  • 記事のサイズ
  • Date of last change
  • Date of last access
  • Last user to make an edit

Define contents you want to show

  • 全文
  • 特定のセクションの内容(見出しで識別されます。)
  • テキスト部分(記事中の特殊なマーカータグで定義されているもの)
  • テンプレート呼び出しの値
  • カスタムテンプレートを使って出力を表示する

出力形式を定義します。

  • 既定の出力のヘッダーとフッターを指定する
  • 順序付きリスト、非順序付きリストを使用する
  • テーブルを使用
  • Format table fields individually by applying templates to their content
  • カテゴリ形式のリストを使用する
  • Truncate title or contents to a certain maximum length
  • 記事またはそのセクションの1つ以上へのリンクを追加する

考慮すべき点

パフォーマンス

DPL3's code execution and database access are typically fast for category and article lookups.

しかし、緩いLIKEやREGEXPマッチパラメータを使用したり、大きなデータセットを要求すると、データベースアクセス時間が長くなることがあります。

また、パーサーの時間も考慮する必要があります。

例えば、画像結果のクエリーを表示するテンプレートに入れれば、それぞれにパーサーのメディア変換が行われることになる。

このため、メディア変換1回につき2MBのRAMをすぐに食いつぶしてしまうことがあります。

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

関連項目

参考資料

DPLは、ここで説明しきれないほど多くのことができます。

A complete manual is available with full parameter documentation.

Category:Category extensions/ja Category:List extensions/ja Category:Special page extensions/ja Category:Table extensions/ja Category:Page content extensions/ja Category:Tag cloud extensions/ja Category:Category intersection extensions/ja
Category:All extensions/ja Category:Category extensions/ja Category:Category intersection extensions/ja Category:Extensions in GitHub version control/ja Category:Extensions included in BlueSpice/ja Category:Extensions included in Fandom/ja Category:Extensions included in Miraheze/ja Category:Extensions included in MyWikis/ja Category:Extensions included in WikiForge/ja Category:Extensions included in wiki.gg/ja Category:Extensions supporting Composer/ja Category:Extensions with manual MediaWiki version/ja Category:GPL licensed extensions/ja Category:List extensions/ja Category:LoadExtensionSchemaUpdates extensions/ja Category:Page content extensions/ja Category:ParserAfterTidy extensions/ja Category:ParserFirstCallInit extensions/ja Category:Parser function extensions/ja Category:Special page extensions/ja Category:Stable extensions/ja Category:Table extensions/ja Category:Tag cloud extensions/ja Category:Tag extensions/ja