会社の部門内の情報共有にWikiとMantisを導入している。
しかし、サイトが別々に分かれており、ログインIDの共有ができなかったり、Wikiのページ毎に細かくアクセス権が設定できなかったので、使ってはいるものの利便性が悪く悩んでいた。
色々調べていると、「XOOPS」というCMS(コンテンツ管理システム)を見つけ、そのモジュールとしてPukiWiki互換の「PukiWikiMod」というものを見つけた。
- keyword:CMS:title
- PukiWikiModについて-PukiWikiMod-Wiki [自由帳] - XOOPSマニア
さらに、mantisのモジュールも見つけた。
これらを同じ「XOOPS」のモジュールとして組み込む事で、アカウントIDの共有、PukiWikiのページ毎に細かくアクセス権を設定、同じページからメニューで行き来できる、などが可能となる。
これで簡素化できた、と思ったが、ある程度移行作業が必要。
まず、PukiWikiの「Wiki」フォルダ内のファイル名を、多少変更してから、PukiWikiModの「Wiki」フォルダにコピーする。具体的には、
- 「AAAA.txt」
というファイルがあったら、
- 「5B5BAAAA5D5D.txt」
と、頭に「5B5B」、拡張子手前に「5D5D」を追加する。
同様に、「Attach」フォルダ内の添付ファイルのファイル名も変更する。例えば
- 「AAAA_BBBBB」(拡張子なし)
というファイル名だったら、
- 「5B5BAAAA5D5D_BBBBB」
と、頭に「5B5B」、アンダーバー手前に「5D5D」を追加する。「*.log」ファイルは消しても問題ない。
ちなみに、これらファイル名の一括置換には「Change!」というソフトを使用。
- DH-APPLI-お手軽名前変更ツール Change!
- 株式会社ドリームハイブ :http://www.dreamhive.co.jp/dhappli/change.html
これでWikiページは移行前と同じく、問題なく見れるようになった。しかし、添付ファイルがダウンロードできないという問題に遭遇。具体的には、日本語名の添付ファイルに関して、そのファイルが添付されたページを開いても、ちゃんとしたファイル名が表示されず、例えばファイル名が「日本語.txt」だったら「.txt」と表示されてしまう。さらに、クリックしたら「ファイルが見つからない」のエラー。
これの原因が分からず、色々調べたがお手上げ。これさえ解決したら、完全移行して今後はXOOPSで楽に管理できるようになるのに・・・
(ちなみに、環境はFedora5+Apache2+PHP5)
追記
ソースレベルで調べていくと、原因と思われる箇所が判明。
PukiWikiModの「plugin」フォルダ内にある「attachi.inc.php」というファイル。
このファイルの727行目付近にある
$this->file = basename(str_replace("\\","/",$file));
という箇所を、オリジナPukiWikiの「attachi.inc.php」に合わせて
$this->file = preg_replace('#^.*/#','',$file);
と変更したら、添付ファイルも正常に表示されるようになりました。とりあえず問題も解決し、移行を進めることができた。
丸2日原因究明し、見つかったのが火曜日。久々にプログラムソース追って疲れた・・・
(この質問および自己解決レスはPukiWikiModのフォーラムにも書かせていただきました)