FrontPage
FOAF認証 with Typekey プラグイン
ようこそ FOAF Support Wiki(FSWiki)へ
FreeStyleWiki(FSWiki)をベースに、プラグインと最小限のパッチ(変更点2行)でユーザアカウントをFOAFを使って管理できるようにします。
TypeKeyサービスを使ってユーザログインできます。
右上のTypeKeyをクリックしてください。ログインすると、新規ページ作成および既存のページに書き込みができます。
FOAFによる分散的なユーザ管理
「プロジェクト」という属性のついたページに対する編集・閲覧には一部制約があります。これはFOAFリストにあるFOAFリソースによってユーザアカウントが管理されています。
- ログインするとみえるページ ← Typekeyなどでログインするとみえます。
- ここに閲覧ページ ← 誰でも閲覧できますが、書き込みはFOAF認証が必要です。
- 閲覧編集実験 ← FOAF認証しないと閲覧編集できません(管理人ですら)。
- ログインすると見えて、編集はFOAF ←ログインすると閲覧可。編集はFOAF要認証。
このWikiはWikiRPC(XML-RPC for Wiki)に対応しています。
http://www.donzoko.net/cgi-bin/wiki3_5_7/wiki_xmlrpc.cgi
system.listMethodsで利用可能なメソッドを確認してみてください。
FOAF認証の実験
FOAFを利用することで、ページの編集・閲覧権の設定を分散的に管理できます。
- FOAF Listのページに、各プロジェクトと、そのルートFOAFリソースが設定されています。FOAFに記載されているPersonは当該のプロジェクトに属するページに対して認証されます。また深度(0〜)に応じてknows先のPersonも認証されます。
- FOAFファイルの所有者と、(深度の許す限り)knows先のFOAFファイルの所有者は、自由に認証可能なPersonを設定できます。
- FOAFファイルの信頼性は検証していません。管理人の設定したFOAF及び、そのknows先を信じるということで。
書式
ページにプロジェクトという属性をつけます。
{{project プロジェクト名}}
FOAF認証していない人でも閲覧可能にする場合:
{{project プロジェクト名,view}}
inlineプラグインとしてはカテゴリと同等の機能なので
{{project プロジェクト名,view,nolink}}
なども可能です。
FOAF List
FOAFファイルの位置を指定するページ。デフォルトでFoafListです。config.datのfoaf_listで変更可能。このWikiではFOAFリストに設定されています。ルートのFOAFファイルを決めるものですので、このページは必ず「凍結」状態にしておかなければなりません。書式は
,プロジェクト名,FOAFファイルURL,knowsを辿る深さ
となるテーブル書式です。ただし最初の一行は無視されます。
ファイル
まだ不十分です。いくつかのメソッドはファイルを移動させる必要があり、無駄なコードを無くさなければなりません……
- typekeyプラグイン → FreeStyleWiki公式サイトのプラグイン投稿で
- WikiForFOAF
- projectプラグイン
キャッシュ処理でcategoryプラグインを流用しています。
- XML::FOAF::Lite XML::FOAFに似せてつくったモジュール
- XML::Parser::LiteHeavy
- その他いくつかのモジュール
うーん、もうちょい……
Link: