MediaWikiメモ の変更点


#author("2018-10-16T18:17:38+09:00","default:fuzuki","fuzuki")
#author("2018-10-16T18:39:58+09:00","default:fuzuki","fuzuki")
* MediaWikiの簡易メモ。 [#k960adf6]
- [[MediaWiki公式サイト:https://www.mediawiki.org/wiki/MediaWiki/ja]]


** 環境 [#tf5514a3]
raspberry pi2にDBはSQLiteで導入してみた。

** 日本語検索機能改善 [#j893f71c]
そのままでは日本語検索がまともに働かない。かといってelasticsearchは重すぎる。~
というわけで、検索して見つけたbruteSearchをもとに[[BruteSqliteSearch:https://github.com/fuzuki/BruteSqliteSearch]]をでっちあげてみた。~
単純にLIKE句で全文検索しているだけだけど、小規模ならこれでも充分なはず。

*** 参考 [#s01219cf]
- http://macwiki.osdn.jp/wiki/index.php/MacWiki:MediaWiki%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB



** カテゴリの更新が働かない [#l435e86f]
どうもカテゴリを追加しても反映されないので、解決策を調べていたところ、原始的ながら手動でrebuildall.phpを実行すれば、とりあえず反映されることが分かった。
 php maintenance/rebuildall.php
実行にはDBへの書き込み権限が必要なので、DBファイルにグループ書き込み許可して、作業ユーザをwww-dataグループに追加すると楽。

*** 参考 [#rff1552e]
- https://www.mediawiki.org/wiki/Topic:T6uzpn51mgb8n5sc

** Map拡張  [#s0fc334c]
どうやら地図の埋め込み拡張機能があるらしい。ただその前にcomposerとやらが必要?~
Mediawikiディレクトリに移動して、[[ガイドの通りに:https://getcomposer.org/download/]]インストールしてみた。
それからcomposer.local.jsonを作成(編集して)下のようにrequireセクションにmapsを追加。
 {
    "require": {
        "mediawiki/maps": "^5.6"
    }
 }
composerをupdateすると、extentionsディレクトリにMapsが追加されてる。
 ./composer.phar update
地図拡張の読み込み設定をLocalSetings.phpに追加。
 wfLoadExtension( 'Maps' );
 $egMapsDefaultService = 'openlayers';
 $egMapsDefaultGeoService = 'google';
 $GLOBALS['egMapsDefaultService'] = 'openlayers';
 $GLOBALS['egMapsDefaultGeoService'] = 'google';

あとはwikiのページに下のように書けば、地図が表示される。
 {{#display_map:東京都中野区|width=400|height=300}}

*** 参考  [#y44963ca]
- 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 [#m7acdc83]
もともとテンプレートにデータを入力して、それを加工して扱いたかったので、最新のテキストを取得する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; 

*** 参考 [#je9c9496]
- https://www.mediawiki.org/wiki/Manual:Page_table