TenForward

技術ブログ。はてなダイアリーから移転しました

プロファイリングルール

以前にプロファイラ について書きました.このプロファイラがコンテンツを決定するのに使われるのが,プロファイリングルールというもののようです.

先に紹介している "j2" ルールだと,設定内容と公式ドキュメントから,以下のようなルールであることがわかります.

名前 デフォルト値 ゾルバのタイプ 失敗したときの動作 順番
name default-page path.session FALLBACK_STOP 0
user group.role.user FALLBACK_STOP 1
mediatype mediatype FALLBACK_CONTINUE 2

「リゾルバ」がコンテンツを決定するときの方法を指定するものです.例えば,"path.session" だと,リクエスト中のパスやセッション中のパス文字列を元にコンテンツを見つけます.

各判断の評価に失敗したときの動作を「失敗したときの動作 (fallback type) で決定します.

じゃあ,各判断の評価に成功したらどうなるのか?というのは,ちょっとドキュメントに書いてないっぽいですが,「順番」に従って,次の判断を行うようです.つまり上記だと "name" という判断規準でページが見つかっても,次の "user" に進むようです.

試しに,pages 以下に

  • kato.psml
  • _user/kato/kato.psml
  • _user/kato/_mediatype/kato.psml

とファイルを準備すると,"/jetspeed/portal/kato.psml" というパスを指定してコンテンツを取得すると,

  • ユーザ "kato" 以外では,"kato.psml" が表示
  • ユーザ "kato" では "_user/kato/_mediatype/kato.psml" が表示

となりました."_user/kato/_mediatype/kato.psml" を消去すると,ユーザ "kato" では "_user/kato/kato.psml" が表示されます.

なので,そういう動きなのかなー,と.