FrontPage 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS TypeKey ログイン

メモ

TypeKeyとFOAFによる認証

準備

  • Wiki#can_showにパッチを当てる必要
  • プラグイン名はとりあえずproject

FOAF指定ページを用意し、管理者編集・閲覧権限にしておく

  • 記述方法
*プロジェクト名,[FOAFのURI],深さ

この指定ページ名自体はconfigか何かに書いておく。プロジェクト名に対応するfoafファイルを管理者は指定する。深さはFOAFのknowsを辿る深度。0ならそのURIに記載されているknowsまでということ。

FOAFのPersonはTypeKeyを利用してプロジェクト名に属するページを閲覧・編集できる(下記参照)。

これで(深さが許される限り)URI及びknowsのseeAlso先のfoafファイルを編集できる人は、そのファイルにknowsに加えることで、新たにプロジェクト名に対応する編集権者を設定できる。

新規ページ作成、編集時

新規ページの先頭に

{{project プロジェクト名}}

としておく。

ページをsaveする際に、projectプラグインが機能し、typekeyによってセッションログに記されたmbox_sha1sumがFOAF指定ページのprojectに対応するuri(及びそのknowsなPersonのseeAlso先)に存在するかチェック。存在すればsave完了。また、管理者編集・閲覧のみで設定される。

  • {{project}}を外すと普通のページになる。
  • {{project}}はcategoryプラグインと同等の機能を有する。

閲覧時

typekeyによってセッションログに記されたmbox_sha1sumがFOAF指定ページのprojectに対応するuri(及びそのknowsなPersonのseeAlso先)に存在するかチェック。存在すれば閲覧可能。

その他

  • 実用のためには認証された人物のデータを一定時間キャッシュしておく。その間はuriをチェックしないでキャッシュをみる。
  • save_beforeフックを利用して、projectカテゴリを外すさいには、一度意思確認するようにしたい。