Name
Password

Pageプラグイン(org.seasar.kvasir.page)

  • 2010-04-20 18:23 更新

概要

名称
Pageプラグイン
プラグインID
org.seasar.kvasir.page
説明
コンテンツを表すオブジェクトである「Page」を扱う機能を提供するプラグインです。

提供する拡張ポイント

org.seasar.kvasir.page.pageListeners
Pageの状態が変化した際に実行する処理を追加する
org.seasar.kvasir.page.pageTypes
Pageの種別を追加する
org.seasar.kvasir.page.pageAbilityAlfrs
Pageに関係する機能を追加する
org.seasar.kvasir.page.pageGards
Gard(Pageの領域)を定義する
org.seasar.kvasir.page.pageGardInstalls
Gardをサイトにインストールする
org.seasar.kvasir.page.nameRestrictions
Pageの名前の制約を追加する

org.seasar.kvasir.page.pageListeners拡張ポイント

Pageの状態が変化した際に実行する処理を追加するための拡張ポイントです。

この拡張ポイントに拡張をプラグインすることで、例えばPageが作成された時とPageが変更された時に検索インデックスを更新するといった機能を実現することができます。

拡張を表す要素
page-listener

page-listener要素

追加するイベントリスナを表します。

属性
id
子要素
なし
id属性 [必須]

イベントリスナのIDです。

IDと同じ名前のイベントリスナコンポーネントがplugin.diconから探索されてイベントリスナとして登録されますので、IDと同じ名前のコンポーネントを登録しておいて下さい。

イベントリスナコンポーネントはorg.seasar.kvasir.page.PageListenerインタフェースを実装している必要があります。

org.seasar.kvasir.page.pageTypes拡張ポイント

Pageの種別を追加するための拡張ポイントです。

拡張を表す要素
page-type

page-type要素

属性
icon-resource-path, id
子要素
なし
icon-resource-path属性 [必須]

ページの種別を表すアイコンリソースのプラグインディレクトリ相対パスです。

アイコンとしては16x16のサイズの画像ファイルを指定して下さい。また、非表示状態を表すアイコンも用意して下さい。非表示状態を表すアイコン名は、icon-resource-pathで指定したアイコンの名前を例えば「icon.gif」とした場合、「icon_concealed.gif」という名前で同じディレクトリに置いて下さい。

id属性 [必須]

ページ種別のIDです。

IDと同じ名前のコンポーネントがplugin.diconから探索されて使用されますので、IDと同じ名前のコンポーネントを登録しておいて下さい。

コンポーネントはorg.seasar.kvasir.page.type.PageTypeインタフェースを実装している必要があります。

org.seasar.kvasir.page.pageAbilityAlfrs拡張ポイント

AbilityAlfr(アビリティーアールヴ)と呼ばれる、Pageに関係する機能を追加するための拡張ポイントです。

標準のKvasir/Soraディストリビューションに含まれる追加機能としては以下のものがあります:

propertyAbilityAlfr
Pageにキーバリュータイプのプロパティを関連付けるための機能です。
groupAbilityAlfr
ユーザの集まりであるグループを定義・操作するための機能です。
roleAbilityAlfr
ユーザの役割を表すロールを定義・操作するための機能です。
permissionAbilityAlfr
ページに対するユーザの権限を定義・操作するための機能です。
contentAbilityAlfr
ページにコンテンツの本文を持たせるための機能です。
templateAbilityAlfr
ページに表示のためのテンプレートを持たせるための機能です。
tableAbilityAlfr
ページに関連したデータベーステーブルを定義するための機能です。
拡張を表す要素
page-ability-alfr

page-ability-alfr要素

属性
id
子要素
なし
id属性 [必須]

AbilityAlfrのIDです。

IDと同じ名前のコンポーネントがplugin.diconから探索されて使用されますので、IDと同じ名前のコンポーネントを登録しておいて下さい。

コンポーネントはorg.seasar.kvasir.page.ability.PageAbilityAlfrインタフェースを実装している必要があります。

org.seasar.kvasir.page.pageGards拡張ポイント

Gard(Pageの領域)を定義するための拡張ポイントです。

拡張を表す要素
page-gard

page-gard要素

属性
default-pathname, description, display-name, id, reset, singleton, source, version
子要素
なし
default-pathname属性

サイトにインストールされる場合のデフォルトのパス名です。

この値はGardをインストールする際にユーザによってインストールパスが指定されなかった場合などに使用されます。

description属性

このGardの説明です。

国際化しやすいよう、「%」+キーという文字列を指定すると、キーに対応するエントリがplugin.xpropertiesから取り出されて使用されるようになっています。

display-name属性

このGardの表示名です。

国際化しやすいよう、「%」+キーという文字列を指定すると、キーに対応するエントリがplugin.xpropertiesから取り出されて使用されるようになっています。

id属性

このGardのIDです。

Gardのインストール時に特別な処理を行なわせたい場合、特別な処理を書いたorg.seasar.kvasir.page.gard.PageGardコンポーネントをIDと同じ名前でplugin.diconに登録しておくことでそのコンポーネントが持つ処理が呼び出されるようになります。

reset属性

この属性は基本的にはデバッグ用途に用いられます。

GardはKvasir/Soraにインポートすることでインストール可能になります。通常はKvasir/Soraによって自動的にインポートされます。古いバージョンのものが存在する場合は新しいものがインポートされますが、同一のバージョンのものについては一度だけしかインポートされません。この属性の値をtrueにすると、同一バージョンのものがインポート済みであってもKvasir/Soraの起動のたびに再インポートされるようになります。

デフォルト値はfalseです。

singleton属性

同一Heim内にたかだか1つのインスタンスだけが存在するかどうかです。

このGardのインスタンスを同一Heimに1つだけしか作成したくない場合はtrueを指定して下さい。

デフォルト値はfalseです。

source属性

Gardを構成するリソースのトップディレクトリのプラグインディレクトリ相対パスです。

リソースはKvasir/Soraのエクスポート機能でエクスポートされたページツリーを展開した形式である必要があります。

デフォルト値は「gards/[GARD_ID]/dynamic」です。

version属性

このGardのバージョンです。

デフォルト値は1.0.0です。

org.seasar.kvasir.page.pageGardInstalls拡張ポイント

Gardをサイトにインストールするための拡張ポイントです。

Gardは通常ユーザによって明示的に任意のディレクトリにインストールされますが、この拡張ポイントを使えば自動的にGardをインストールすることができます。

例えば管理ツールを自動的にインストールしたい場合などに使われます。

拡張を表す要素
page-gard-install

page-gard-install要素

属性
gard-id, pathname, reset
子要素
なし
gard-id属性 [必須]

インストールしたいGardのフルIDです。

フルIDは、Gardを提供しているプラグインIDとGardのIDを「.」で連結したものです。

pathname属性

インストールするパスです。

Gardをインストールするパスは、次の順序で決定されます。

  1. Gardがsingletonである場合、Gardのdefault-pathname属性で指定されているパス
  2. Gardがsingletonでない場合やdefault-pathname属性が指定されていない場合、この属性で指定されているパス
  3. この属性が指定されていない場合、「/plugins/[GARD_ID]」
reset属性

既にインストール済みである場合に再インストールするかです。

trueの場合、Kvasir/Soraの起動時に既にインストール済みであるGardはアンインストールされて再度インストールされます。

デフォルト値はfalseです。

org.seasar.kvasir.page.nameRestrictions拡張ポイント

Pageの名前の制約を追加するための拡張ポイントです。

組み込みの制約としては以下のものがあります:

  • 空文字列、「.」、「..」は名前として使用できません。
  • 「\」「/」「:」「*」「?」「"」「<」「>」「|」「;」は名前に含めることができません。
拡張を表す要素
name-restriction

name-restriction要素

属性
なし
子要素
invalid-char, invalid-name

invalid-char要素

属性
なし
ボディ
Pageの名前に含めることのできない文字

invalid-name素

属性
なし
ボディ
Pageの名前として使用できない文字列