SqueakでSmallWiki!!


SmallWikiとは

久しぶりに登場した、SmalltalkによるWikiの新しい実装です。今までのSwikiと異なり、Smalltalkらしく「全てがオブジェクト化」されています。ComSwikiに比べるとWikiとしての機能は至らない部分もありますが、その見通しの良さから、ComSwikiを凌駕していく超新星と言えます。

特徴を列挙しておきます。

すべてがオブジェクト
SmallWikiでは、Smalltalkイメージの中に、Wikiのページツリーが形成されます。ルートのツリーから全てのページをオブジェクトとしてインスペクトでき、非常に動作がわかりやすいものになっています。
オンメモリ展開による高速処理
ページをファイルから読み込まないので、動作は非常に軽快です。
マルチSmalltalk、マルチプラットフォーム
複数のSmalltalkへの移植性を考慮して作られています。Squeak、VisualWorksで動作し、結果としてほとんどのプラットフォームに対応しています。
MVCモデル
作りがMVCモデルに従っており、カスタマイズが非常にしやすくなっています。SmallWikiのページ(モデル)に、テンプレート(ビュー)をいくつもつけることができます。例えば検索テンプレート、アクセスカウンターテンプレートを、既存のモデルに付け加えると、全てのWikiページが、検索ボックス、カウンタつきになります。ComSwikiでは大変苦労したページのカスタマイズが、無理なく簡単にできます。
スタイルシート
生成されるHTMLは、すべてスタイルシートを意識したものになっています。スタイルシートを変更するだけで、様々な見かけのWikiを作ることができます。
カスタマイズ可能なフォーマッタ
Wikiシンタックスのパーサは、SmaCCで自動生成されたものです。そのため、新たなWikiシンタックスも、安全かつ容易に追加できます。
堅牢なセキュリティモデル
ユーザとロール、権限による、きめ細かなセキュリティの設定が可能です。
アプリケーション開発可能
SmallWikiは、単なるWikiサーバというよりは、ZopeのようにWebアプリケーション開発が可能なシステムです。はじめはWikiとして使いつつ、慣れるにしたがって、汎用的なWebアプリケーションを作っていくことができます。
ComSwikiインポート
まだ、未完成ですが、既存のComSwikiで構築されたサイトの内容を、SmallWikiに取り込むためのツールが開発されています。完成の暁には、ComSwikiからの移行も楽に行えるようになるでしょう。

などなど。ぜひお試しください。

SmallWikiインストール手順

VWでもインストールは楽に行えますが、ここではSqueak版のインストールについて書きます。

1.SmallWikiをインストール:

日本語パッチ版:

日本語パッチ適用済みイメージを入手します。展開してSqueak VMのあるディレクトリに置いてください。

日本語版はSqueakNihongo 6.1SmallWiki 0.9.23をインストールし、日本語化パッチをあてたものです。通常は日本語版で十分でしょう。

英語版:

Squeakを手にいれてください。最新版は3.7betaです。

PackageLoaderを開き、'Comanche'(Webサーバ)をインストールし、その後で'SmallWiki'をインストールします。
Comancheのインストール時に、いろいろ追加のパッケージを入れるように質問が出ますが、全て'No'でかまいません。
インストール終了後、イメージをセーブします。

2.Swikiのサーバの実行

ワークスペースで以下のように実行します。ポート番号は御自身の環境にあわせて適当に修正します。

server := SWKom startOn: 8080.

停止させるには

server stop.

内容の初期化には

server initialize.

再開させるには

server start.

です。

3.Access、Edit、Add、Search + Upload !!!

あとは、Wikiの機能を満喫するだけです。 URLは、ポートを8080にした場合では、http://localhost:8080/となります。(localhost部は環境に合わせて適当に変えてください)。

ユーザ名'admin'、パスワード'smallwiki'が設定されています。はじめはこれでログインします。

さあ、存分にWebブラウザ上からすべてのコンテンツの編集、追加、検索を行ってください。(ページ上部のeditメニューを選びます。)

その他、いくつかのTips:

1.編集時のフォーマットの書き方

Swikiのフォーマットとほぼ同じです。

以下はかいつまんで主要なものを挙げておきます。

見出し
先頭に! 。!を続けて書くと大きくなります。(H1ならば!!!)。
リスト
-または#。#は番号つきリストです。続けて書くとインデントします。
水平線
_(アンダースコア)です。
テーブル
|で区切って書きます。| apple | orange| など。
リンク
*で囲みます。*http://www.squeak.org*など。
新規ページ作成
URLでなく適当な名前を*で囲むと、新規ページを作ることができます。*myNewPage*など。

2.Squeak起動/終了にあわせて、SmallWkiを開始/終了

SmallWikiをスタートしたうえでイメージを保存して終了すると、次回起動時には自動的にSmallWikiが開始するようになっています。

3.ユーザ、パスワードの変更

admin(管理者)のパスワード変更は

(server userAt: 'admin') password: 'new password'.

anonymous(一般参加者)のパスワード変更は

(server userAt: 'anonymous') password: 'new password'.

4.HeadlessでのSqueakの起動

Headlessとは、画面をださない状態でSmaltalkを立ち上げることを指します。Squeakを開発環境でなく、単なる実行環境、Wikiサーバとして使う場合にはこのほうが便利でしょう。

Squeak.exe -headless squeak.image

また、Windows-XPの場合は、いったん下記のような形で実行することによって、サービスとして登録することが可能です。

Squeak.exe -service: "SmallWiki" squeak.image

最近はタスクスケジューラを使う手もあります。-headlessで起動するバッチファイルを作り、コントロールパネルから"タスク"を選び"スケジュールされたタスクの追加"でそのバッチを指定します。システム起動時にして、かつデフォルトの72時間終了をオフにすることを忘れずに。挙動が不安定なときはたまに自動的に落としてあげる設定にすると良いでしょう。

5.内容のバックアップ

SmallWikiは、Wikiの内容をSqueakイメージ内に保持しています。そのままではイメージを終了した際に内容も消えてしまいますので、バックアップを取るように設定しておくと良いでしょう。

server storage: SWImageStorage new.

これで、10分間隔で定期的にバックアップを取るようになります。間隔を変えるには以下のようにします。

server storage delay: 180.

パラメタとして秒数を指定します。この例の場合は3分に一回、バックアップを取るようになります。

 

おまけ:

Wikiとは直接は関係ないですが、ちまたで話題のContinuationベースのWebアプリケーションサーバ、Seaside日本語パッチ版もあります。こちらもよろしく。


HOME
ご意見は umejava@mars.dti.ne.jp まで