概要
- 名称
- 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をインストールするパスは、次の順序で決定されます。
- Gardがsingletonである場合、Gardのdefault-pathname属性で指定されているパス
- Gardがsingletonでない場合やdefault-pathname属性が指定されていない場合、この属性で指定されているパス
- この属性が指定されていない場合、「/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の名前として使用できない文字列