MediaWikiメモ
Last-modified: 2020-04-09 (木) 20:49:06 (1439d)
MediaWiki?の簡易メモ。 †
環境 †
raspberry pi2にDBはSQLiteで導入してみた。
phpにmbstringとxml拡張が必要。他にもいろいろ。
sudo apt-get install php-mbstring php-xml sudo apt-get install php-sqlite3 sudo apt-get install imagemagick sudo apt-get install php-gd sudo apt-get install php-http
日本語検索機能改善 †
そのままでは日本語検索がまともに働かない。かといってelasticsearchは重すぎる。
というわけで、検索して見つけたbruteSearchをもとにBruteSqliteSearchをでっちあげてみた。
単純にLIKE句で全文検索しているだけだけど、小規模ならこれでも充分なはず。
参考 †
カテゴリの更新が働かない †
どうもカテゴリを追加しても反映されないので、解決策を調べていたところ、原始的ながら手動でrebuildall.phpを実行すれば、とりあえず反映されることが分かった。
php maintenance/rebuildall.php
実行にはDBへの書き込み権限が必要なので、DBファイルにグループ書き込み許可して、作業ユーザをwww-dataグループに追加すると楽。
参考 †
Map拡張 †
どうやら地図の埋め込み拡張機能があるらしい。ただその前にcomposerとやらが必要?
Mediawikiディレクトリに移動して、ガイドの通りにインストールしてみた。
それからcomposer.local.jsonを作成(編集して)下のようにrequireセクションにmapsを追加。
{ "require": { "mediawiki/maps": "^5.6" } }
composerをupdateすると、extentionsディレクトリにMapsが追加されてる。
./composer.phar update
地図拡張の読み込み設定をLocalSetings?.phpに追加。
$GLOBALS['egMapsDefaultService'] = 'openlayers'; $GLOBALS['egMapsDefaultGeoService'] = 'google';
あとはwikiのページに下のように書けば、地図が表示される。
{{#display_map:東京都中野区|width=400|height=300}}
参考 †
- https://www.mediawiki.org/wiki/Extension:Maps
- https://www.mediawiki.org/wiki/Composer/For_extensions
- https://www.semantic-mediawiki.org/wiki/Maps/Installation
- https://www.semantic-mediawiki.org/wiki/Extension:Maps/Displaying_maps
- https://www.semantic-mediawiki.org/wiki/Category:Maps_examples
本文取得SQL †
もともとテンプレートにデータを入力して、それを加工して扱いたかったので、最新のテキストを取得するSQLを置いておく。SQLite用だけど、他のDBでも動くかな。
select page_title,old_text from page join revision on page_latest = rev_id join text on rev_text_id = old_id where page_namespace = 0;