lifehack

software

fswiki

FreeStyleWikiを研究会用総合ポータルに作り替えてしまおう計画

流用できるプラグイン

ユーザ認証

typekeyプラグインが使える。ただし、typekey自体のログアウトが回りくどいのを修正する。

登録フォーム

cardformプラグインが使える。入力内容のチェックもある程度できる。ただし、再編集は直接Wikiページを書換えるしかない。また、実質的に編集を禁止する(フリーズする)方法がない。(標準の凍結機能はあくまでゲストの編集を禁止するのみ)

cardformの良い所は、データベース自体がWikiのページになっているので、認証やアクセス権などがすべてそのまま流用できること。一部の情報を不可視にしたりできない点、フィールド単位で情報をとりだせない点がデメリット。

複数のプロジェクトの運用

wikifarmが使える。ただし、farm作成時のデフォルト設定をもっと緻密にする。テンプレートの種類を増やす(小会議用、英語用、国際会議用など)

コンテンツ開示期間

timelimitプラグインを改造し、開始日、終了日を設定できるようにする。さらに終了日がきたら自動的に見えなくする。デフォルトでは管理者のみが見える。オプションでログインユーザ全員、あるいは特定のユーザだけが見られるようにする。次の参照権限拡張と同様の処理。

CGIとは別の、定期的に動作するプログラムが必要か?あるいはcan_showをhookするか。user_exプラグインのほうを拡張し、can_showに有効期限の判断を加えて、その場でfreezeやset_page_limitを実行すればいい。とりあえずは管理者が管理ページで操作するものとし、ユーザ自身が有効期限を指定する方法は、下のpublish拡張とおなじ要領で作ればいい。

開示期間外での挙動は、参照権限レベルの増加。1増やせば、一般公開用のページがメンバーのみになる。2増やせば、管理者専用になる。いくつ増やすかを指示すればいい。特定ユーザのみに開示されているページはレベル1扱いなので、1増やすと管理者のみのアクセスとなる。

参照権限の拡張

ex_userプラグインではコンテンツ作成者自身が参照権限を指定できないので、publishプラグインを拡張する。コンテンツ作成者自身しか見られないモードを追加する。

問題点

reg2の代替にはなるが、もっと大規模な研究会には向いていない。

  1. サーバ負荷がそれなりに大きい。データベース部分を外部化できればましになるかも。
  2. 会員情報データベースなどをもっていないので、結局ユーザが自分の情報を入力する作業が楽にならない。公開プロフィールだけのデータベース(Wiki?もっと汎用の認証システム?)を作り、それをInterWikiNameの形で引用できるようにする。Wikiはページを作る自由度が高くていいのだけど、データベースとして使用するには、フィールドの抽出が難しい。DBが使えるWikiではなく、Wikiが使えるDBがいいのかも。
  3. プログラム編成補助が不十分。ユーザの入力内容の中から、公開しても構わない項目を取捨選択したい。これもデータベースを外部化したほうがいい。
  4. 情報を使い捨てる感じになってしまう。

Edit