Extension:SemanticDependencyUpdater
![]() リリースの状態: 安定 |
|
---|---|
実装 | ユーザー インターフェイス |
説明 | Monitors semantic data changes and updates depended pages |
作者 | Simon Heimler, Alexander Gesinn |
メンテナー | gesinn.it |
最新バージョン | 2.0.2 (2020-05-13) |
MediaWiki | 1.31 - 1.36 |
データベースの変更 | いいえ |
ライセンス | MIT ライセンス |
ダウンロード | Releases |
|
|
Compatibility
|
|
The Semantic Dependency Updater (SDU) extension monitors pages for changes in their semantic data. If the "Semantic Dependency" property is found, this extension will update (null-edit) all pages that have been selected through that property. A common use case is change propagation where pages need to update (pull) their semantic data via an ask query from a changed page.
The "Semantic Dependency property" is evaluated as an ASK query. It is therefore possible to define either a list of pages directly or do more complex selections.
インストール
- Downloadして、ファイルを
extensions/
フォルダー内のSemanticDependencyUpdater
という名前のディレクトリ内に配置します。 - 以下のコードを
LocalSettings.php
の末尾に追加します:wfLoadExtension( 'SemanticDependencyUpdater' );
- Configure as required.
- 完了 – ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。
Instead of downloading the zip archive you may also check this extension out via Git:
git clone https://github.com/gesinn-it/SemanticDependencyUpdater.git extensions/SemanticDependencyUpdater
設定
Mandatory
Make sure, a "Semantic Dependency" property exists, e.g. "Property:Semantic_Dependency" needs to exist and MUST be of the datatype Text
:
[[Has type::Text]]
省略可能
// Name of the Semantic Dependency property
$wgSDUProperty = 'Semantic Dependency';
// If enabled, SDU will create a Job for each update
$wgSDUUseJobQueue = false;
使用法
The value of the Semantic Dependency property is evaluated as an ASK query, except that [[
or ]]
must be ommitted.
If there are more conditions, combine them through AND
and OR
例
Update Self
This will save the current page twice. Useful when the page stores semantic properties that are calculated from other properties of the same page.
[[Semantic Dependency::{{FULLPAGENAME}}]]
Update other page(s)
[[Semantic Dependency::Product:Test Product]] [[Semantic Dependency::{{{Target Page|}}}]]
Update pages with relation to current page
This will update all pages that link with Part Of
to the current page.
[[Semantic Dependency::Part Of::{{FULLPAGENAME}}]]
More Advanced Queries
Be careful that the query does not return too many pages, as this will result in a heavy load.
[[Semantic Dependency::Category:Product]] [[Semantic Dependency::Category:Product AND Tag::Demo]] [[Semantic Dependency::Category:Person OR Category:Organization]]
Example test case
- Make sure, a page
Property:Semantic_Dependency
exists with content[[Has type::Text]]
- Make sure,
$wgSDUUseJobQueue = false;
- Create a page
A
with
[[Title::A]]
- Create a page
B
with
* [[Part Of::A| ]][[Title::{{#show:A|?Title}}.B]] * {{#show:{{FULLPAGENAME}}|?Title}}
- Now, change page
A
as follows
[[Title::XXX]]
As a result, you should see
- XXX.B - XXX.B
on page B
デバッグ
- Note, that on some systems logging to /tmp might not work
- Make sure, a log folder, writable by your web server, exists
> mkdir /var/log/mediawiki > chmod -R www-data. /var/log/mediawiki
- In your LocalSettings enable
$wgDebugLogGroups['SemanticDependencyUpdater'] = '/var/log/mediawiki/SDU.log';
- Watch the log file
> tail -f /var/log/mediawiki/SDU.log
- If things work as expected, this will look like:
2020-03-25 13:01:45 vagrant wikidb01-wk: [SDU] --> A 2020-03-25 13:01:45 vagrant wikidb01-wk: [SDU] -----> Data changes detected 2020-03-25 13:01:45 vagrant wikidb01-wk: [SDU] --------> [[Part Of::A]] 2020-03-25 13:01:45 vagrant wikidb01-wk: [SDU] --------> [Edit] B
関連項目
この拡張機能は以下のパッケージ/ウィキファームに含まれています: This is not an authoritative list. Some wiki farms/hosts may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |