Extension:DynamicPageList3
リリースの状態: 安定 |
|
|---|---|
| 実装 | タグ, パーサー関数 |
| 説明 | カテゴリ、名前空間、タイトル、リファレンス、またはテンプレートの使用法に基づいて他の記事のリストを作成し、それらの記事のテンプレート呼び出しのコンテンツまたは引数をあなたのページにインクルードすることができます。 |
| 作者 | Universal Omega, Alexia E. Smith, Algorithmix, Dangerville, IlyaHaykinson, Theaitetos, Unendlich~dewiki |
| 最新バージョン | 3.6.1 (2025-02-10) |
| MediaWiki | 1.43.0+ |
| データベースの変更 | はい |
| Composer | universal-omega/dynamic-page-list3 |
| ライセンス | GNU 一般公衆利用許諾書 3.0 以降 |
| ダウンロード | GitHub: |
| 例 | DynamicPageList3 Manual |
|
|
|
|
| DynamicPageList3 拡張機能の翻訳にご協力ください | |
拡張機能DynamicPageList3はMediaWikiのためのレポートツールで、様々なフォーマットと詳細でカテゴリのメンバーや交差点をリストアップします。 完全なドキュメントは、マニュアルを参照してください。
基本的な選択パラメータのセットで起動すると、DPLは1つまたは複数のカテゴリに分類されたページのリストを表示します。 また、著者、名前空間、日付、名前のパターン、テンプレートの使用、他の記事への参照などの要素に基づいて選択されることもある。 アウトプットの形は様々で、中には厳選された記事の要素を取り入れたものもあります。
この拡張機能は、パーサ関数{{#dpl: .... }}またはパーサタグ<DPL>で呼び出される。
ある機能のウィキメディア互換の実装は、<DynamicPageList> で呼び出すことができます。
複雑なルックアップは、計算コストのかかるデータベースクエリーになる可能性があります。 しかし、既定では、すべての出力は、ページロードのたびにクエリを再実行する必要性を減らすために、1時間の期間、キャッシュされます。 マニュアルページの DPL:Parameters: Other Parameters には、キャッシュを無効にして即時更新を可能にするためのパラメータについての情報が記載されています。
- マニュアルと完全なドキュメンテーション
- DynamicPageList3 のマニュアル
- ソース コード
- GitHub のソースコード
- バグと機能の要望
- 問題と要望の追跡
インストール
- ダウンロードして、ファイルを
extensions/フォルダー内のDynamicPageList3という名前のディレクトリ内に配置します。 - 以下のコードを LocalSettings.php ファイルの末尾に追加します:
wfLoadExtension( 'DynamicPageList3' );
- 必要に応じて設定してください。
完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
設定
これらは、DPL の構成設定とその既定値です。
これらを変更するには、拡張機能をwikiに含める前に定義されていることを確認します。
$dplSettingsから$wgDplSettingsに変更されています。 これはMediaWiki 1.25での拡張機能の登録方法の変更との互換性を容易にするためです。| 設定 | 既定 | 説明 |
|---|---|---|
$wgDplSettings['allowedNamespaces']
|
null
|
既定では、DPLの初期化時にすべての既存の名前空間が使用されます。 名前空間定数の配列を設定すると、DPL3 はそれらの名前空間でのみ動作するように制限されます。 |
$wgDplSettings['allowUnlimitedCategories']
|
false
|
true を設定すると、maxCategoryCount を無視し、無制限にカテゴリを許可します。 クエリ内のカテゴリが多すぎると、サーバーの速度低下やサーバーダウンに繋がるおそれがあるので注意してください。
|
$wgDplSettings['allowUnlimitedResults']
|
false
|
true に設定すると、maxResultCount を無視して無制限に結果を取得します。 取得する結果の件数が多すぎると、ページの読み込みが遅くなったり失敗するおそれがあるので注意してください。
|
$wgDplSettings['alwaysCacheResults']
|
false
|
allowcachedresults を無視してパーサーキャッシュを常に有効にするには、これを true に設定します。
|
$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- allows more-expensive page inclusion features and regular expression queries$wgDplSettings['functionalRichness'] = 4- は、エキゾチックで潜在的に危険な一括更新と削除の操作を許可します。 テスト・開発用のデバッグ・パラメータを含む。
使用法
DPLの機能拡張
拡張動的ページ一覧は、パーサ関数{{#dpl: .... }}、またはパーサ拡張タグ<DPL>...</DPL>を使用することで呼び出されます。
- 一般的な使用法と呼び出し構文に関するマニュアルとページ選択の基準に関する DPL 引数も参照してください。
後方互換性
ウィキメディアの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)
国別のレポート作成
もし、ある宗教を信仰している国があれば、categoryとlinkstoのパラメータで簡単に報告書を作成することができます。
{{#dpl:
category=countries
|linksto=Pastafarianism
}}
DynamicPageList3 は、次のことを可能にします:
- すべての記事のリストを作成する(または無作為に抽出する)
- 記事のメタデータを表示する(人気度、最終更新日、...)。
- 記事の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.
- Manual:MediaWikiのデータ管理法 – まとめと比較。
| この拡張機能は以下のウィキ ファーム/ウィキ ホスト/パッケージに含まれています: これは正式な一覧ではありません。 一部のウィキ ファーム/ウィキ ホスト/パッケージは、ここに記載されていなくてもこの拡張機能を含んでいる場合があります。 必ずご利用のウィキ ファーム、ウィキ ホスト、バンドルで確認してください。 |
- Stable extensions/ja
- Tag extensions/ja
- Parser function extensions/ja
- Extensions supporting Composer/ja
- GPL licensed extensions/ja
- Extensions in GitHub version control/ja
- ParserFirstCallInit extensions/ja
- LoadExtensionSchemaUpdates extensions/ja
- ParserAfterTidy extensions/ja
- All extensions/ja
- Extensions included in BlueSpice/ja
- Extensions included in Fandom/ja
- Extensions included in MyWikis/ja
- Extensions included in wiki.gg/ja
- Category extensions/ja
- List extensions/ja
- Special page extensions/ja
- Table extensions/ja
- Page content extensions/ja
- Tag cloud extensions/ja
- Category intersection extensions/ja
