Extension:DynamicPageList3
DynamicPageList3 リリースの状態: 安定 |
|
---|---|
実装 | タグ , パーサー関数 |
説明 | カテゴリ、名前空間、タイトル、リファレンス、またはテンプレートの使用法に基づいて他の記事のリストを作成し、それらの記事のテンプレート呼び出しのコンテンツまたは引数をあなたのページにインクルードすることができます。 |
作者 | Universal Omega, Alexia E. Smith, Algorithmix, Dangerville, IlyaHaykinson, Theaitetos, Unendlich~dewiki |
最新バージョン | 3.5.2 (2023-01-14) |
MediaWiki | 1.39.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 manual
- ソース コード
- GitHub のソースコード
- GitHubでのバグと機能要求
- Issue and request tracker
インストール
- ダウンロードして、ファイルを
extensions/
フォルダー内のDynamicPageList3
という名前のディレクトリ内に配置します。 - 以下のコードを LocalSettings.php ファイルの末尾に追加します:
wfLoadExtension( 'DynamicPageList3' );
- 必要な場合は、必要に応じて設定してください。
- 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
設定
これらは、DPL の構成設定とその既定値です。
これらを変更するには、拡張機能をwikiに含める前に定義されていることを確認します。
$dplSettings
から$wgDplSettings
に変更されています。 これはMediaWiki 1.25での拡張機能の登録方法の変更との互換性を容易にするためです。設定 | 既定 | 説明 |
---|---|---|
$wgDplSettings['allowedNamespaces']
|
null
|
既定では、DPLの初期化時にすべての既存の名前空間が使用されます。 Customize this setting with an array of namespace constants to restrict DPL3 to work only in those namespaces. |
$wgDplSettings['allowUnlimitedCategories']
|
false
|
true を設定すると、'maxCategoryCount' を無視し、無制限にカテゴリを許可します。 クエリ内のカテゴリが多すぎると、サーバーの速度低下やサーバーダウンに繋がるおそれがあるので注意してください。
|
$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['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
|
Set the level of parameters available to end users. |
$wgDplSettings['maxCategoryCount']
|
4
|
クエリで許可されるカテゴリ数の上限。 |
$wgDplSettings['minCategoryCount']
|
0
|
クエリで許可されるカテゴリ数の下限。 |
$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 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. |
The global variable $wgNonincludableNamespaces is automatically respected by DynamicPageList3.
It will prevent the contents of the listed namespaces from appearing in DynamicPageList3's output.
$wgDplSettings['maxResultCount']
is a LIMIT on the SQL query itself. Some DynamicPageList3 query parameters like includematch
are applied after the SQL query, however, so results here may easily be misleading.Functional Richness
DynamicPageList3 has many features unlocked based on the maximum functional richness level.
Some can cause high CPU or database load and should be used sparingly.
$wgDplSettings['functionalRichness'] = 0
- ウィキメディアのDynamicPageList (Intersection)と同等$wgDplSettings['functionalRichness'] = 1
- 書式設定パラメータを追加$wgDplSettings['functionalRichness'] = 2
- テンプレートとページリンクにパフォーマンスと同等の機能を追加$wgDplSettings['functionalRichness'] = 3
- より高価なページインクルード機能や正規表現クエリを使用可能$wgDplSettings['functionalRichness'] = 4
- は、エキゾチックで潜在的に危険な一括更新と削除の操作を許可します。 テスト・開発用のデバッグ・パラメータを含む。
使用法
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
}}
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.
- Manual:MediaWikiのデータ管理法 – まとめと比較。
この拡張機能は以下のウィキ ファーム/ウィキ ホスト/パッケージに含まれています: これは正式な一覧ではありません。 一部のウィキ ファーム/ウィキ ホスト/パッケージは、ここに記載されていなくてもこの拡張機能を含んでいる場合があります。 必ずご利用のウィキ ファーム、ウィキ ホスト、バンドルで確認してください。 |