SuikaWiki3//SuikaWiki2からの変更点

SuikaWiki3//SuikaWiki2からの変更点

SuikaWiki 2 からの変更点

[7] SuikaWiki 3 は、表面的な (一般の利用者から見える) 部分はそれほど SuikaWiki 2 から変わっていません。しかし、その内部構造はまったく異なっており、 ほとんどすべての code が書き直されています。

SuikaWiki 3 は、 WikiEngine と WikiDriver で構成されます。 一つの WikiEngine を、複数の WikiDriver から操作できます。 WikiEngine は、中核 library と WikiPlugin module 群で構成されています。 Wiki の管理者や利用者から見えるほとんどの機能は、 WikiPlugin module として実装されているので、管理者は必要に応じて WikiPlugin (すなわち機能群) を追加したり削除したりできます。たとえば、 参照子逆リンク機能が要らないなら、 Referer plugin module を削除すればよいだけですし、画像を扱いたいのなら Image plugin module を準備すれば使えるようになります。

SuikaWiki 2 になかった主な機能

[8] SuikaWiki 3.0 は SuikaWiki 2 の機能を新しい枠組・界面の中で再実装することを目標としているので、 大きな新しい機能は追加されていません。

強いて挙げるなら、各種の設定項目を記述するための汎用書式 SuikaWikiConfig/2.0 が導入されました。 SuikaWikiConfig/2.0 は現在 WikiPlugin 原始記述形式や Wiki//InterWikiName の記述形式として使われていますし、 Wiki//Resource の記述にも使用できるようになる予定です。

SuikaWiki 2 から強化された主な機能

[2] >>7 にもあるように、 SuikaWiki の仕組みそのものが全面的に変更されました。 WikiEngine の各機能が部品化されているので、 wiki の管理者はそれらを組合せるだけで customize が可能です。 SuikaWiki 2 とは異なり、 SuikaWiki 3 の WikiPlugin module は WikiEngine の他の部分 (他の WikiPlugin module も含む。) や WikiDriver から完全に独立していますから、欲しい機能を提供する WikiPlugin module だけを組合せることができるのです。 (但し、ある WikiPlugin module を使用するためには別の WikiPlugin module が必要であるという依存関係は存在します。 しかし、そのような関係も明確に記述されています。) 機能を導入・削除するために必要なのは、 WikiPlugin module file の追加・削除だけです。 (WikiDB に接続する plugin module を使用する場合は、そのための設定が別途必要になることがあります。)

[3] WikiDatabase 機能が導入されました。利用者から見える WikiPage の構成と、ファイル・システム等の物理的な構成は完全に独立のものとなりましたので、 たとえば一部の WikiName は local の file に対応し、 別の一部の WikiName は遠隔の database に対応する、 というような使い方が簡単に実現できます。

また、 WikiEngine 起動時に排他 lock するという問題を排しました。 これによって利用者が情報を得るまでの平均的時間が大きく改善されています。

[4] 古い利用者エージェントや蝕んだ利用者エージェントへの対策を包括的に行う Downgrade WikiPlugin module とそれを使用する仕組みが整備されました。 この仕組みにより、 id 属性に対応していない UAname 属性を付けて応答したり (という機能は SuikaWiki 2 でも一部実現していました)CSS をまともに解釈できないブラウザに特別なスタイル・シートを与えたりすることができます。

[5] その他にも細かな改良点は挙げればきりがないと言うか面倒くさいです。 興味のある方は cvs diff してみてください、と言いたいところですが diff は変更点が多すぎて役に立ちません。あしからず。

SuikaWiki 2 から削除された主な機能

[6] SuikaWiki 2 で実装されていた機能の幾つかは SuikaWiki 3 には (まだ) 実装されていません。

  • 将来実装予定の SuikaWiki 3.0 にはない機能
    • WikiPage の凍結
    • 頁間リンク関係の出力 (「地図」)
    • RDF による頁間関係の出力
    • RSS による更新情報の出力
    • application/xhtml+xml による出力
    • 頁内の見出しからの目次の生成
    • favicon.ico
    • SuikaWiki/0.9 形式の実体参照を展開した HTML 出力 (HTML として展開して出力できないだけで、 保存データが破壊されることはありません。)
  • 実装する予定のない SuikaWiki 2 の機能
    • 直前の版との差分

メモ

[1] SuikaWiki 2 による wiki の管理者の方は、..//SuikaWiki2からの移行もお読みください。