<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <title>Pageプラグイン（org.seasar.kvasir.page）</title>
    <link rel="stylesheet" href="/css/style.css" type="text/css" media="all" />
    
    
  </head>
  <body>
    <div class="header">
      <div id="pane.left-header" class="pane left">
        <div id="org.seasar.kvasir.cms.toolbox.customPop-8" class="pop org.seasar.kvasir.cms.toolbox.customPop">
          <div class="body"><div class="wiki">
<ul>
<li><a href="/" class="pageNotFound">（サイトトップ）</a></li>
<li><a href="/download">ダウンロード</a></li>
<li><a href="/news/" class="pageNotFound">新着情報</a></li>
<li><a href="/doc/" class="pageNotFound">ドキュメント</a></li>
</ul>
</div>
</div>
        </div>
      </div>
      <div id="pane.right-header" class="pane right">
        <div id="org.seasar.kvasir.cms.toolbox.loginPop-1" class="pop org.seasar.kvasir.cms.toolbox.loginPop">
          <div class="body">
<form method="post" action="/plugins/toolbox/login.do/doc/ref/plugins/org.seasar.kvasir.page">
    <div class="row">
      <span class="label">Name</span>
      <span class="textinput"><input type="text" name="name" size="12" value="" /></span>
    </div>
    <div class="row">
      <span class="label">Password</span>
      <span class="textinput"><input type="password" name="password" size="12" value="" /></span>
    </div>
    <div class="row">
      <span class="submit"><input type="submit" value="Login" /></span>
    </div>
</form>
</div>
        </div><div id="org.seasar.kvasir.cms.pop.loginUserPop-1" class="pop org.seasar.kvasir.cms.pop.loginUserPop">
          <div class="body"></div>
        </div>
      </div>
    </div>
    <div class="page-frame">
      <div id="pane.left-sidebar" class="pane sidebar-frame sidebar subcontent">
        <div id="org.seasar.kvasir.cms.toolbox.searchPop-1" class="pop org.seasar.kvasir.cms.toolbox.searchPop">
          <h2 class="title">Search</h2>
          <div class="body"><form class="simple" method="get" action="/plugins/toolbox/search.do">
  <input type="text" name="query" size="12" />
  <input type="submit" value="Go!" />
</form>
</div>
        </div><div id="org.seasar.kvasir.cms.toolbox.customPop-6" class="pop org.seasar.kvasir.cms.toolbox.customPop">
          <h2 class="title">リンク</h2>
          <div class="body"><div class="wiki">
<ul>
<li><a href="http://www.seasar.org/">The Seasar Project</a></li>
<li>関連プロダクト</li>
<ul>
<li><a href="http://www.skirnir.net/product/freyja/">Freyja</a></li>
<li><a href="http://www.skirnir.net/product/rst/">RST</a></li>
<li><a href="http://www.skirnir.net/product/xom/">xom</a></li>
<li><a href="http://ymir.sandbox.seasar.org/">Ymir</a></li>
<li><a href="http://cms.sandbox.seasar.org/">CMS Project</a></li>
</ul>
</ul>
</div>
</div>
        </div><div id="org.seasar.kvasir.cms.toolbox.customPop-5" class="pop org.seasar.kvasir.cms.toolbox.customPop">
          <h2 class="title">メニュー</h2>
          <div class="body"><div class="wiki">
<ul>
<li><a href="/" class="pageNotFound">（サイトトップ）</a></li>
<li><a href="/download">ダウンロード</a></li>
<li><a href="/news/" class="pageNotFound">新着情報</a></li>
<li><a href="/doc/user">サイト管理者マニュアル</a></li>
<ul>
<li><a href="/doc/user/install">はじめの一歩</a></li>
<li><a href="/doc/user/database">データベースの設定</a></li>
<li><a href="/doc/user/faq">FAQ</a></li>
</ul>
<li><a href="/doc/plugin-dev">プラグイン開発者マニュアル</a></li>
<ul>
<li><a href="/doc/plugin-dev/faq">FAQ</a></li>
</ul>
<li><a href="/doc/kvasir-dev">Kvasir/Sora開発者マニュアル</a></li>
<li><a href="/doc/ref">リファレンスマニュアル</a></li>
<li><a href="https://ml.seasar.org/mailman/listinfo/kvasir-user">メーリングリストに参加するには</a></li>
<li><a href="https://www.seasar.org/issues/browse/KVASIR">既知の不具合を閲覧する・不具合を報告する</a></li>
<li><a href="https://www.seasar.org/svn/sandbox/kvasir/">SVNリポジトリ</a></li>
<li><a href="http://svn.seasar.org/browse/?root=sandbox.kvasir">SVNリポジトリを閲覧</a></li>
<li><a href="/doc/environments">動作確認状況</a></li>
</ul>
</div>
</div>
        </div><div id="org.seasar.kvasir.cms.toolbox.customPop-3" class="pop org.seasar.kvasir.cms.toolbox.customPop">
          <h2 class="title">協力者募集！</h2>
          <div class="body"><div class="wiki">
<p>プラグイン作成、サイトテンプレート（HTML、CSS）作成、ドキュメント作成など、開発に協力して頂ける方を募集しています！</p>
<p>協力して下さる方は<a href="https://ml.seasar.org/mailman/listinfo/kvasir-user">kvasir-userメーリングリスト</a>にご連絡下さい。大勢の方のご協力をお待ちしています。</p>
</div>
</div>
        </div>
      </div>
      <div id="pane.main" class="main pane">
      
        <div id="org.seasar.kvasir.cms.toolbox.breadcrumbsPop-1" class="pop org.seasar.kvasir.cms.toolbox.breadcrumbsPop">
          
          <div class="body"><ul>
  <li class="first"><a href="/">(TOP)</a></li><li><a href="/doc">ドキュメント</a></li><li><a href="/doc/ref">リファレンスマニュアル</a></li><li><a href="/doc/ref/plugins">プラグインリファレンス</a></li><li>Pageプラグイン（org.seasar.kvasir.page）</li>
</ul>
</div>
        </div><div id="org.seasar.kvasir.cms.pop.contentPop-1" class="pop org.seasar.kvasir.cms.pop.contentPop">
          <h2 class="title">Pageプラグイン（org.seasar.kvasir.page）</h2>
          <div class="body">
<ul class="information">
  
  <li>2010-04-20 18:23 更新</li>
</ul>
<div class="content"><div class="wiki">
<h3>概要</h3>
<dl>
<dt>名称</dt><dd>Pageプラグイン</dd>
<dt>プラグインID</dt><dd>org.seasar.kvasir.page</dd>
<dt>説明</dt><dd>コンテンツを表すオブジェクトである「Page」を扱う機能を提供するプラグインです。</dd>
</dl>
<h3>提供する拡張ポイント</h3>
<dl>
<dt>org.seasar.kvasir.page.pageListeners</dt><dd>Pageの状態が変化した際に実行する処理を追加する</dd>
<dt>org.seasar.kvasir.page.pageTypes</dt><dd>Pageの種別を追加する</dd>
<dt>org.seasar.kvasir.page.pageAbilityAlfrs</dt><dd>Pageに関係する機能を追加する</dd>
<dt>org.seasar.kvasir.page.pageGards</dt><dd>Gard（Pageの領域）を定義する</dd>
<dt>org.seasar.kvasir.page.pageGardInstalls</dt><dd>Gardをサイトにインストールする</dd>
<dt>org.seasar.kvasir.page.nameRestrictions</dt><dd>Pageの名前の制約を追加する</dd>
</dl>
<h3>org.seasar.kvasir.page.pageListeners拡張ポイント</h3>
<p>Pageの状態が変化した際に実行する処理を追加するための拡張ポイントです。</p>
<p>この拡張ポイントに拡張をプラグインすることで、例えばPageが作成された時とPageが変更された時に検索インデックスを更新するといった機能を実現することができます。</p>
<dl>
<dt>拡張を表す要素</dt><dd>page-listener</dd>
</dl>
<h4>page-listener要素</h4>
<p>追加するイベントリスナを表します。</p>
<dl>
<dt>属性</dt><dd>id</dd>
<dt>子要素</dt><dd>なし</dd>
</dl>
<h5>id属性 [必須]</h5>
<p>イベントリスナのIDです。</p>
<p>IDと同じ名前のイベントリスナコンポーネントがplugin.diconから探索されてイベントリスナとして登録されますので、IDと同じ名前のコンポーネントを登録しておいて下さい。</p>
<p>イベントリスナコンポーネントはorg.seasar.kvasir.page.PageListenerインタフェースを実装している必要があります。</p>
<h3>org.seasar.kvasir.page.pageTypes拡張ポイント</h3>
<p>Pageの種別を追加するための拡張ポイントです。</p>
<dl>
<dt>拡張を表す要素</dt><dd>page-type</dd>
</dl>
<h4>page-type要素</h4>
<dl>
<dt>属性</dt><dd>icon-resource-path, id</dd>
<dt>子要素</dt><dd>なし</dd>
</dl>
<h5>icon-resource-path属性 [必須]</h5>
<p>ページの種別を表すアイコンリソースのプラグインディレクトリ相対パスです。</p>
<p>アイコンとしては16x16のサイズの画像ファイルを指定して下さい。また、非表示状態を表すアイコンも用意して下さい。非表示状態を表すアイコン名は、icon-resource-pathで指定したアイコンの名前を例えば「icon.gif」とした場合、「icon_concealed.gif」という名前で同じディレクトリに置いて下さい。</p>
<h5>id属性 [必須]</h5>
<p>ページ種別のIDです。</p>
<p>IDと同じ名前のコンポーネントがplugin.diconから探索されて使用されますので、IDと同じ名前のコンポーネントを登録しておいて下さい。</p>
<p>コンポーネントはorg.seasar.kvasir.page.type.PageTypeインタフェースを実装している必要があります。</p>
<h3>org.seasar.kvasir.page.pageAbilityAlfrs拡張ポイント</h3>
<p>AbilityAlfr（アビリティーアールヴ）と呼ばれる、Pageに関係する機能を追加するための拡張ポイントです。</p>
<p>標準のKvasir/Soraディストリビューションに含まれる追加機能としては以下のものがあります：</p>
<dl>
<dt>propertyAbilityAlfr</dt><dd>Pageにキーバリュータイプのプロパティを関連付けるための機能です。</dd>
<dt>groupAbilityAlfr</dt><dd>ユーザの集まりであるグループを定義・操作するための機能です。</dd>
<dt>roleAbilityAlfr</dt><dd>ユーザの役割を表すロールを定義・操作するための機能です。</dd>
<dt>permissionAbilityAlfr</dt><dd>ページに対するユーザの権限を定義・操作するための機能です。</dd>
<dt>contentAbilityAlfr</dt><dd>ページにコンテンツの本文を持たせるための機能です。</dd>
<dt>templateAbilityAlfr</dt><dd>ページに表示のためのテンプレートを持たせるための機能です。</dd>
<dt>tableAbilityAlfr</dt><dd>ページに関連したデータベーステーブルを定義するための機能です。</dd>
</dl>
<dl>
<dt>拡張を表す要素</dt><dd>page-ability-alfr</dd>
</dl>
<h4>page-ability-alfr要素</h4>
<dl>
<dt>属性</dt><dd>id</dd>
<dt>子要素</dt><dd>なし</dd>
</dl>
<h5>id属性 [必須]</h5>
<p>AbilityAlfrのIDです。</p>
<p>IDと同じ名前のコンポーネントがplugin.diconから探索されて使用されますので、IDと同じ名前のコンポーネントを登録しておいて下さい。</p>
<p>コンポーネントはorg.seasar.kvasir.page.ability.PageAbilityAlfrインタフェースを実装している必要があります。</p>
<h3>org.seasar.kvasir.page.pageGards拡張ポイント</h3>
<p>Gard（Pageの領域）を定義するための拡張ポイントです。</p>
<dl>
<dt>拡張を表す要素</dt><dd>page-gard</dd>
</dl>
<h4>page-gard要素</h4>
<dl>
<dt>属性</dt><dd>default-pathname, description, display-name, id, reset, singleton, source, version</dd>
<dt>子要素</dt><dd>なし</dd>
</dl>
<h5>default-pathname属性</h5>
<p>サイトにインストールされる場合のデフォルトのパス名です。</p>
<p>この値はGardをインストールする際にユーザによってインストールパスが指定されなかった場合などに使用されます。</p>
<h5>description属性</h5>
<p>このGardの説明です。</p>
<p>国際化しやすいよう、「%」＋キーという文字列を指定すると、キーに対応するエントリがplugin.xpropertiesから取り出されて使用されるようになっています。</p>
<h5>display-name属性</h5>
<p>このGardの表示名です。</p>
<p>国際化しやすいよう、「%」＋キーという文字列を指定すると、キーに対応するエントリがplugin.xpropertiesから取り出されて使用されるようになっています。</p>
<h5>id属性</h5>
<p>このGardのIDです。</p>
<p>Gardのインストール時に特別な処理を行なわせたい場合、特別な処理を書いたorg.seasar.kvasir.page.gard.PageGardコンポーネントをIDと同じ名前でplugin.diconに登録しておくことでそのコンポーネントが持つ処理が呼び出されるようになります。</p>
<h5>reset属性</h5>
<p>この属性は基本的にはデバッグ用途に用いられます。</p>
<p>GardはKvasir/Soraにインポートすることでインストール可能になります。通常はKvasir/Soraによって自動的にインポートされます。古いバージョンのものが存在する場合は新しいものがインポートされますが、同一のバージョンのものについては一度だけしかインポートされません。この属性の値をtrueにすると、同一バージョンのものがインポート済みであってもKvasir/Soraの起動のたびに再インポートされるようになります。</p>
<p>デフォルト値はfalseです。</p>
<h5>singleton属性</h5>
<p>同一Heim内にたかだか1つのインスタンスだけが存在するかどうかです。</p>
<p>このGardのインスタンスを同一Heimに1つだけしか作成したくない場合はtrueを指定して下さい。</p>
<p>デフォルト値はfalseです。</p>
<h5>source属性</h5>
<p>Gardを構成するリソースのトップディレクトリのプラグインディレクトリ相対パスです。</p>
<p>リソースはKvasir/Soraのエクスポート機能でエクスポートされたページツリーを展開した形式である必要があります。</p>
<p>デフォルト値は「gards/[GARD_ID]/dynamic」です。</p>
<h5>version属性</h5>
<p>このGardのバージョンです。</p>
<p>デフォルト値は1.0.0です。</p>
<h3>org.seasar.kvasir.page.pageGardInstalls拡張ポイント</h3>
<p>Gardをサイトにインストールするための拡張ポイントです。</p>
<p>Gardは通常ユーザによって明示的に任意のディレクトリにインストールされますが、この拡張ポイントを使えば自動的にGardをインストールすることができます。</p>
<p>例えば管理ツールを自動的にインストールしたい場合などに使われます。</p>
<dl>
<dt>拡張を表す要素</dt><dd>page-gard-install</dd>
</dl>
<h4>page-gard-install要素</h4>
<dl>
<dt>属性</dt><dd>gard-id, pathname, reset</dd>
<dt>子要素</dt><dd>なし</dd>
</dl>
<h5>gard-id属性 [必須]</h5>
<p>インストールしたいGardのフルIDです。</p>
<p>フルIDは、Gardを提供しているプラグインIDとGardのIDを「.」で連結したものです。</p>
<h5>pathname属性</h5>
<p>インストールするパスです。</p>
<p>Gardをインストールするパスは、次の順序で決定されます。</p>
<ol>
<li>Gardがsingletonである場合、Gardのdefault-pathname属性で指定されているパス</li>
<li>Gardがsingletonでない場合やdefault-pathname属性が指定されていない場合、この属性で指定されているパス</li>
<li>この属性が指定されていない場合、「/plugins/[GARD_ID]」</li>
</ol>
<h5>reset属性</h5>
<p>既にインストール済みである場合に再インストールするかです。</p>
<p>trueの場合、Kvasir/Soraの起動時に既にインストール済みであるGardはアンインストールされて再度インストールされます。</p>
<p>デフォルト値はfalseです。</p>
<h3>org.seasar.kvasir.page.nameRestrictions拡張ポイント</h3>
<p>Pageの名前の制約を追加するための拡張ポイントです。</p>
<p>組み込みの制約としては以下のものがあります：</p>
<ul>
<li>空文字列、「.」、「..」は名前として使用できません。</li>
<li>「\」「/」「:」「*」「?」「&quot;」「&lt;」「&gt;」「|」「;」は名前に含めることができません。</li>
</ul>
<dl>
<dt>拡張を表す要素</dt><dd>name-restriction</dd>
</dl>
<h4>name-restriction要素</h4>
<dl>
<dt>属性</dt><dd>なし</dd>
<dt>子要素</dt><dd>invalid-char, invalid-name</dd>
</dl>
<h4>invalid-char要素</h4>
<dl>
<dt>属性</dt><dd>なし</dd>
<dt>ボディ</dt><dd>Pageの名前に含めることのできない文字</dd>
</dl>
<h4>invalid-name素</h4>
<dl>
<dt>属性</dt><dd>なし</dd>
<dt>ボディ</dt><dd>Pageの名前として使用できない文字列</dd>
</dl>
</div>
</div>
</div>
        </div><div id="org.seasar.kvasir.cms.toolbox.menuPop-2" class="pop org.seasar.kvasir.cms.toolbox.menuPop">
          
          <div class="body">
<div class="document-list" style="margin-top:4ex">
  
</div>
</div>
        </div>
      
    </div>
    </div>
    <div class="footer-delimiter"></div>
    <div id="pane.footer" class="pane footer">
      <div id="org.seasar.kvasir.cms.pop.poweredByPop-1" class="pop org.seasar.kvasir.cms.pop.poweredByPop">
        <div class="body">Powered by Kvasir/Sora</div>
      </div>
    </div>
  </body>
</html>
