2003-02-03(月) [長年日記]
■ Wikiの選択?
Wikiを職場に導入するにはとのこと。「職場に」「Rubyで」というのがポイントなんでしょか。「職場に」ってことはたぶん、メンテが手間じゃなくて、誰でも使えて……というところか。アクセスコントロールなんかも課題? 「Rubyで」というのは、いざとなったら自分でいじれるということかな(笑)。
そんなにいくつも試したわけじゃないけど、いまRubyで書かれたWikiCloneで日本語で実績があるのってこんなもん? RAAで検索すると他にも出てくるけど、日本語で運営されているのは見たことがない(MiniRubyWikiなんて面白そうだけど)。
Tiki
もっとも最初に作られたRuby製WikiClone(か?)。素直な作りで、導入も簡単だし、実績も多いのでプラグインも豊富。Wikiとしての機能は十分。個人的には吐き出すHTMLが3.2なのと、ネストを使った文法がネックだと思っている。
RWiki
Ruby周辺技術のデモとして作成されたということもあり、テクノロジ的には面白い。でもあまりWikiっぽくはない(WikiName使えないし)。RDの文法に慣れたコミュニティに導入するならいいけど、そうでないならもうちょっと簡素な文法のシステムを選んだ方が良いと思う。(→参考)
Wikiもどき
同じくRDで書くWikiClone。プラグインによる機能拡張や、差分表示などがある。
AsWiki
amrita上に構築されているので、カスタマイズがしやすい。そういう意味で、「職場」の要求に答えやすいと思う。いまのところ、一番smartな実装じゃないかしらん? ただ個人的に、Tiki互換の文法ということを敬遠してしまっているので、まだインストールしたことがない。
Hiki
未公開だけど、シンプルだし、文法のスジがいいので個人的に期待をしているシステム(と、またプレッシャーをかける)。パーサ書き換え中らしい。
■ tDiary: PgsqlIO
ついついtDiary-usersのWikiで遊んでしまうという罠。意味ねー。
で、やっとPgsqlIO.rbを見ているわけだ。作者のma2takさんはtDiary-develには入ってないようなのでここに書くけど、見てるかなぁ。
RDBは不得意分野なので実はあんまり理解できないんだけど、気になったこと:
- テーブル構造は単一の日記にしか対応できない気がする。同一サーバ上で複数のtDiaryを動かすときには、別のDBを使うのか? 同じDBで複数の日記を管理できた方がよくないだろうか
- いま配布されているPgsqlIO.rb(これ、全部小文字の方が良いです)は、まだスタイルが分離されていない。分離するとスタイルが選べてさらに幸せになる
- 独自のカテゴリ(アイコン付き!)が実装されているようだけど、いまkitajが作ってるカテゴリ機能の上に乗ると、プラグインを書くだけでアイコン付きにできる(はず)
このあたりを克服すると人柱が出てきそうな気がする:-)
ソース見てないので憶測ですが>PgsqlIO
別ユーザー毎に別DBの方がしっくり来るような。PostgreSQL/MySQL/Oracleなどでも最初に user/pass でデータベースに loginしてから使うので。だってスクリプトいぢると他の人のテーブル触れちゃうんじゃないかしら。
# テーブル毎にも切替えられる方が運用的に楽なケースもあるだろうけど
# 例えば tDiary.Net では現実的にユーザー数だけ dbクライアント上げたくないだろうし
そういう場合はもちろんDBを分けてもいいわけで。私の場合は、当然tDiary.Netのような形態を想定してますから(笑)
そうだよなぁ。#以下を書いてる途中で思ったんだ (^^;
みました。
やっぱ、マルチユーザも対応した方が、よさげみたいですね。
各tableにauthorみたいなカラム入れるだけでいけるような気がします。(パフォーマンスは未考慮です)
たださん、ほそのさん、ありがとうございます。確かにRDというのがひとつネックですね。まずはTikiでやってみます。
と思ったけど、AsWikiのほうが遥かにお勧めなんですね。ちょっとamrita(=さらに別のライブラリが必要)ってところにひっかかってTikiと思ったけど、AsWikiにしてみます。
AsWikiとTikiは文法の互換性が高いので、乗り換えもあまり難しくなさそうです
Squeak(smaltalk)なSwiki駄目ですか?
uploadできますよ。(Rubyでという制約に引っかかりまくりですが...)
Swikiって、マークアップがかなり特殊じゃないですか?
かなり特殊です。Swikiは、Wikiというより、CoWebという
呼称の方が、しっくりくるかもしれません。
(いい加減、SwikiをWiki形式で書き込めるよう検討しないと
いけないかも。あるいは、フィルターを通すとか...)