ToraToraWiki を試す

Summary

ToraToraWiki は Pukiwiki 風の Syntax を持つ Wiki ソフトウェア。
Pukiwiki 風といっても似ているだけで互換性はない)

tarball が公開されているほか、レンタル Wiki サービスも提供されている。
License は GPL-3.0。

Repository

公開されていないため、勝手リポジトリを作った。

Requirement

Digest 認証を利用するため、SAPI が CGI/FCGI の場合は HTTP Authorization 変数をセットする必要がある。
.htaccess に次の内容を追記する。

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>

Demo

ToraToraWiki on XREA

Comment

インストーラーや管理画面、ユーザー管理機能などを備えている。
また、編集機能に重きを置いていて、ページをダブルクリックするとインライン編集ができたり、編集画面では補完機能などが使える。
ページ名やプラグイン名の補完はかなり便利。

一方、コードは phpdoc どころかコメントがほとんどなく読みづらい。
プラグインやテーマのドキュメントもないため、拡張するためにはコードリーディングが必要。

機能的には優れているので頑張ってほしい。

DokuWiki を読む - Overview

DokuWiki とは

DokuWiki は「データベースを前提としない Wiki ソフトウェア」だそうです。
認証バックエンドに DB を利用することもできるようですが、コンテンツは PlainText として保存されます。

特徴

  • Responsive Design に対応した標準テーマ
  • プラグインやスキン (Template) の管理画面
  • 名前空間やページに対して ACL を設定できる
  • MediaWiki 風の Syntax
    • Syntax は任意に拡張可能
  • 多言語対応、履歴管理、セクション編集、etc...

欠点

特徴の一つとして「システム要件が低い」が挙げられているのですが、レンタルサーバーと相性が悪いです。

例としては

  • cURL Extension を使わず fsockopen を利用している
  • WordPress は fsockopen/cURL のどちらも利用することができ、cURL を優先的に利用する
    • ウェブクロウも XREAWordPress しか考慮していない

などがあります。

厳密に言えば DokuWiki が悪いわけではない(レンタルサーバー会社が悪い)のですが、レンタルサーバーに手軽にインストールするにはあまり向きません。

目的

Pukiwiki の問題点として以下のようなものがあります。

  • ページ数が増加すると検索がタイムアウトするなどスケーラビリティに問題がある
    • 数千はともかく、万単位のページ数に耐えられない
  • 履歴が多いとメモリ上限に引っかかることがある(らしい)

ファイルベースの Wiki においてスケーラビリティは普遍的な問題ですね。

一方で DokuWiki の特徴として次のものが挙げられています。

  • インデックスを使用した高速な全文検索
  • より早い描画のためにページをキャッシュ

DokuWiki がスケーラビリティ問題をどう解決しているのか興味があるので、DokuWiki のコードリーディングをします。

目次