CGI-Kwiki-0.18 > CGI::Kwiki

名前

CGI::Kwiki - トリッキーすぎないお手軽なWiki。

概要

    > mkdir cgi-bin/my-kwiki
    > cd cgi-bin/my-kwiki
    > kwiki-install

    Kwiki software installed! Point your browser at this location.

KWIKI スタート

Kwikiのオフィシャルホームページは http://www.kwiki.org です。この サイト自身がKwikiです。ここには配布されているドキュメントよりもずっと 多くのKwikiについての情報があります。

詳細

Wikiはユーザーにページの追加と、全ての既存ページの編集を許すWebサイト です。これはWebコラボレーションのもっともポピュラーな形態の一つです。 もしWikiが初めてであれば、最古のWikiであり、Wikiがどのように働くのかに ついての多くの情報をもつ http://c2.com/cgi/wiki?WelcomeVisitors を 訪ねて下さい。

世界には何ダースものWikiの実装があり、その多くがPerlでかかれています。 多くのPerlハックは共通であるのに、モジュールは少なく、CPANにもリリース されて来ませんでした。その有名な例外はCGI::Wikiです。これは拡張性の ある、活発にメンテナンスが行なわれているwikiフレームワークです。

もう一つの例外がこのモジュール、CGI::Kwikiです。CGI::Kwikiはシンプルさ と拡張性にフォーカスしています。新しいkwiki Webサイトの作成は1コマンド でできます。このモジュールはPerlとともにインストールされるもの以外の 前提モジュールはありません。これはバックエンドにデータベースを必要と しませんが、データベースを使うこともできます。デフォルトのkwikiの 動作は、HTMLテーブルのサポートを含むフル機能です。Kwikiの動作は大きな トラブルを起こすことなしに、カスタマイズ可能です。

特殊な機能

CGI::Kwikiには大半のWiki実装には見られない装飾的なaddonが同梱されて います。これらはデフォルトのKwikiのまったくシンプルなインターフェース に干渉しないことを約束します。

どんなホットな機能が追加されたかを、時々 http://www.kwiki.org/index.cgi?KwikiFeatures でチェックしてください。

Kwikiスライドショウ

まるでPowerPointのようなスライドショウを、一つのkwikiページで作成 できます。スライドやその他の改良にはJavaScriptマジックが使われて います。サンプルページであるKwikiSlideShowをご覧下さい。

拡張

CGI::Kwikiは完全にオブジェクト指向です。各クラスモジュールのサブクラス を作り、その一つないし複数のメソッドを上書きすることで、その最終的な 動作を簡単に変更することができます。これらは一般にたった数行のPerl コードで実行されています。

これを説明する最良の方法は例示でしょう。configファイルから始めましょう。 デフォルトのconfigファイルはconfig.yamlと呼ばれます。これは次の ような行を含んでいます:

    config_class:      CGI::Kwiki::Config
    driver_class:      CGI::Kwiki::Driver
    cgi_class:         CGI::Kwiki::CGI
    cookie_class:      CGI::Kwiki::Cookie
    database_class:    CGI::Kwiki::Database
    metadata_class:    CGI::Kwiki::Metadata
    display_class:     CGI::Kwiki::Display
    edit_class:        CGI::Kwiki::Edit
    formatter_class:   CGI::Kwiki::Formatter
    template_class:    CGI::Kwiki::Template
    search_class:      CGI::Kwiki::Search
    changes_class:     CGI::Kwiki::Changes
    prefs_class:       CGI::Kwiki::Prefs
    pages_class:       CGI::Kwiki::Pages
    slides_class:      CGI::Kwiki::Slides
    javascript_class:  CGI::Kwiki::Javascript
    style_class:       CGI::Kwiki::Style
    scripts_class:     CGI::Kwiki::Scripts

これらはkwikiを作り上げる全てのクラスのリストです。このいずれかを、 あなたの独自のクラスに変更することができます。

BOLDの指定方法を*bold*から'''bold'''に変更したいのだと しましょう。その時は、Formatterクラスのbold()メソッドを上書きする だけです。config.yamlの変更から始めましょう。

    formatter_class: MyKwikiFormatter

次に、MyKwikiFormatter.pmと呼ばれるモジュールを書きます。この モジュールを正しいkwikiのインストールディレクトリに置きたいと思えば、 そうして構いません。このモジュールは、このようなものになるでしょう:

    package MyKwikiFormatter;
    use base 'CGI::Kwiki::Formatter';

    sub bold {
        my ($self, $text) = @_;
        $text =~ s!'''(.*?)'''!<b>$1</b>!g;
        return $text;
    }

    1;

どう、たいして難しくないでしょ?データベースストレージから検索エンジン、 メインドライバーコードまでCGI::Kwikiのあらゆる面をこのように変更する ことができます。もしクラスのセットを世界中で共有したくなったら、 ディストリビューションとしてパッケージ化し、CPANに置くだけです。

ところで、設定ファイルのフォーマットをデフォルトのYAMLから変更する こともできます。もしXMLを使いたい、というのであれば、 CGI::Kwiki::Config_xmlというモジュールを書き、config.xmlを 呼ぶだけです。

SEE ALSO

これ以外のCGI::KwikiのドキュメントはKwikiのインストールによって入手 できます。Kwikiをインストールし、リンクを辿るだけです!もし何か トラブルが起きたり、あるいはKwikiの動作を見たいだけであれば、まずは http://www.kwiki.org を訪れてください。

作者

Brian Ingerson <INGY@cpan.org>

コピーライト

Copyright (c) 2003. Brian Ingerson. All rights reserved.

このプラグラムはフリーソフトウェアです; Perl自身と同じ条件下で再配布や 編集を行なうことができます。

http://www.perl.com/perl/misc/Artistic.html 参照