Name
Password

テーブルスキーマ

  • 2011-05-31 12:21 更新

Kvasir/Sora CMSディストリビューションのテーブルスキーマです。

version 3.0.0-SNAPSHOT

Table List

Name Type Plugin ID Comment
CASTO TABLE org.seasar.kvasir.page ユーザ/グループとロールの関連を保持するテーブル。  
COMMENT TABLE org.seasar.kvasir.cms.kdiary 日記の記事につけられたコメントを保持するテーブル。
CONTENT TABLE org.seasar.kvasir.page.ability.content ページの本文(コンテント)に関する情報を保持するテーブル。
CONTENTS TABLE org.seasar.kvasir.page.ability.content ページの本文(コンテント)をバリアント・リビジョン毎に保持するテーブル。
MEMBER TABLE org.seasar.kvasir.page ユーザとグループの関連を保持するテーブル。
PAGE TABLE org.seasar.kvasir.page ページの情報を保持するテーブル。
PERMISSION TABLE org.seasar.kvasir.page ページに付与されている権限情報を保持するテーブル。
PROPERTIES TABLE org.seasar.kvasir.page ページのデフォルトバリアント以外のプロパティを保持するテーブル。
PROPERTY TABLE org.seasar.kvasir.page ページのデフォルトバリアントのプロパティを保持するテーブル。
SCHEDULE TABLE org.seasar.kvasir.page.ability.timer スケジュールされたジョブの情報を保持するテーブル。
TEMPLATE TABLE org.seasar.kvasir.page.ability.template ページのテンプレートに関する情報を保持するテーブル。
TEMPLATES TABLE org.seasar.kvasir.page.ability.template ページのテンプレートをバリアント毎に保持するテーブル。

CASTO

ユーザ/グループとロールの関連を保持するテーブルです。

1レコードにユーザIDとグループIDを持ちますが、通常片方だけが有効です。無効なカラムには値として0が入っています。


PK ID UQ IX Not
Null
Name Type Size Comment
o+       * ROLEID INTEGER 10 ロールのID。値としてはページタイプが「role」であるページのIDが入ります。
o+     o * GROUPID INTEGER 10 グループのID。値としてはページタイプが「group」であるページのIDが入ります。
o+     o * USERID INTEGER 10 ユーザのID。値としてはページタイプが「user」であるページのIDが入ります。

COMMENT

日記の記事につけられたコメントを保持するテーブルです。


PK ID UQ IX Not
Null
Name Type Size Comment
          BODY VARCHAR 255 コメントの本文。
          COMMENTATOR VARCHAR 255 コメントの投稿者。
          COMMENTTIME TIMESTAMP 23, 10 コメントを投稿した時刻。
o o     * ID INTEGER 10 コメントの一意なID。
          MAIL VARCHAR 255 コメント投稿者のメールアドレス。
          PAGEID INTEGER 10 コメントが投稿された記事のページID。

CONTENT

ページの本文(コンテント)に関する情報を保持するテーブルです。

このテーブルのレコードはコンテントを持つページ毎に1つ存在します。


PK ID UQ IX Not
Null
Name Type Size Comment
      o * PAGEID INTEGER 10 ページのID。
        * MODIFYDATE TIMESTAMP 23, 10 コンテントの更新日時。いずれかのバリアントのいずれかのリビジョンのコンテントを追加・更新した日時です。

CONTENTS

ページの本文(コンテント)をバリアント・リビジョン毎に保持するテーブルです。

1レコードが「あるページのあるバリアントのコンテントのあるリビジョンのもの」を表します。本文自体はファイルシステム上に保存されています。このテーブルに本文を保持するカラムはありません。

コンテントは履歴を保持できます。履歴はバリアント毎に持っています。リビジョン番号は履歴を管理するための通し番号です。リビジョン番号は1から始まりますが、過去の履歴を削除することができるため、保持している最小のリビジョン番号が1であるとは限りません。


PK ID UQ IX Not
Null
Name Type Size Comment
o o     * ID INTEGER 10 コンテントの一意なID。
    o+   * PAGEID INTEGER 10 コンテントを持つページのID。
    o+   * VARIANT VARCHAR_IGNORECASE 255 バリアント。
    o+   * REVISIONNUMBER INTEGER 10 リビジョン番号。
        * CREATEDATE TIMESTAMP 23, 10 作成日時。
        * MODIFYDATE TIMESTAMP 23, 10 更新日時。
        * LATEST BOOLEAN 1 最新リビジョンのコンテントかどうか。
        * VERSION INTEGER 10 楽観的排他をするためのバージョン番号。
        * MEDIATYPE VARCHAR_IGNORECASE 255 メディアタイプ。
        * ENCODING VARCHAR_IGNORECASE 255 文字エンコーディング。

MEMBER

ユーザとグループの関連を保持するテーブルです。


PK ID UQ IX Not
Null
Name Type Size Comment
o+       * GROUPID INTEGER 10 グループのID。値としてはページタイプが「group」であるページのIDが入ります。
o+     o * USERID INTEGER 10 ユーザのID。値としてはページタイプが「user」であるページのIDが入ります。

PAGE

ページの情報を保持するテーブルです。


PK ID UQ IX Not
Null
Name Type Size Comment
o o     * ID INTEGER 10 ページの一意なID。
      o * TYPE VARCHAR_IGNORECASE 255 ページのタイプ。標準のタイプとしてはpage、directory、user、group、roleがありますが、タイプはプラグインによって拡張可能であるためそれ以外のタイプも存在することがあります。
    o+ o+ * HEIMID INTEGER 10 ページが所属するheimのID。
      o * LORDID INTEGER 10 ページが所属するlordのID。
    o+ o+ * PARENTPATHNAME VARCHAR_IGNORECASE 255 親ページのパス名。
    o+ o * NAME VARCHAR_IGNORECASE 255 名前。
        * ORDERNUMBER INTEGER 10 兄弟ページにおける並び順。数字が小さい方が先に並びます。番号は連番とは限りません。同じ番号の複数のページの並び順は不定です。
        * CREATEDATE TIMESTAMP 23, 10 作成日時。
        * MODIFYDATE TIMESTAMP 23, 10 更新日時。
        * REVEALDATE TIMESTAMP 23, 10 公開開始日時。
        * CONCEALDATE TIMESTAMP 23, 10 公開停止日時。
        * OWNERUSERID INTEGER 10 所有者ユーザのID。値としてはページタイプが「user」であるページのIDが入ります。
        * NODE BOOLEAN 1 ノードかどうか。
        * ASFILE BOOLEAN 1 ページを表示する際に生のファイルとして扱うかどうか。
        * LISTING BOOLEAN 1 ページを一覧表示に含めるかどうか。
      o * VERSION INTEGER 10 バージョン番号。楽観的排他のために利用されます。

PERMISSION

ページに付与されている権限情報を保持するテーブルです。

権限の詳細についてはorg.seasar.kvasir.page.ability.PermissionクラスのJavadocを参照して下さい。


PK ID UQ IX Not
Null
Name Type Size Comment
o+       * PAGEID INTEGER 10 ページのID。
o+     o * ROLEID INTEGER 10 ロールのID。値としてはページタイプが「role」であるページのIDが入ります。
o+       * TYPE INTEGER 10 権限タイプ。
        * LEVEL INTEGER 10 権限レベル。

PROPERTIES

ページのデフォルトバリアント以外のプロパティを保持するテーブルです。


PK ID UQ IX Not
Null
Name Type Size Comment
    o+ o+ * PAGEID INTEGER 10 ページのID。
    o+ o+ * VARIANT VARCHAR_IGNORECASE 255 バリアント。
          BODY VARCHAR 2147483647 プロパティ。xproperties形式で保存されています。

PROPERTY

ページのデフォルトバリアントのプロパティを保持するテーブルです。


PK ID UQ IX Not
Null
Name Type Size Comment
    o+ o+ * PAGEID INTEGER 10 ページのID。
    o+ o+ * NAME VARCHAR_IGNORECASE 255 プロパティ名。
          VALUE VARCHAR 2147483647 プロパティの値。

SCHEDULE

スケジュールされたジョブの情報を保持するテーブルです。

設定された日時パターンに合致した日時になると、スケジュールのオーナであるプラグインが持つコンポーネントコンテナから指定されたコンポーネント名を持つコンポーネントが取り出され、指定されたPageとパラメータを引数としてメソッドが呼び出されます。


PK ID UQ IX Not
Null
Name Type Size Comment
o o     * ID INTEGER 10 スケジュールの一意なID。
        * PAGEID INTEGER 10 ページのID。
        * DAYOFWEEK VARCHAR 128 スケジュールされている曜日。0~6がそれぞれ日~土に対応します。「*」は指定なしを意味します。
        * YEAR VARCHAR 128 スケジュールされている年。「*」は指定なしを意味します。
        * MONTH VARCHAR 128 スケジュールされている月。1~12の値を取ります。「*」は指定なしを意味します。
        * DAY VARCHAR 128 スケジュールされている日。「*」は指定なしを意味します。
        * HOUR VARCHAR 128 スケジュールされている時刻。0~23の値を取ります。「*」は指定なしを意味します。
        * MINUTE VARCHAR 128 スケジュールされている分。「*」は指定なしを意味します。
        * PLUGINID VARCHAR 255 スケジュールのオーナであるプラグインのID。
        * COMPONENT VARCHAR 255 実行されるコンポーネントの名前。
          PARAMETER VARCHAR 255 実行時のパラメータ。
        * ENABLED INTEGER 10 有効かどうか。

TEMPLATE

ページのテンプレートに関する情報を保持するテーブルです。


PK ID UQ IX Not
Null
Name Type Size Comment
o       * PAGEID INTEGER 10 ページのID。
        * TYPE VARCHAR 255 テンプレートのタイプ。
        * RESPONSECONTENTTYPE VARCHAR 255 テンプレートの評価結果をレスポンスとして返す際のコンテントタイプ。

TEMPLATES

ページのテンプレートをバリアント毎に保持するテーブルです。


PK ID UQ IX Not
Null
Name Type Size Comment
    o+ o+ * PAGEID INTEGER 10 ページのID。
    o+ o+ * VARIANT VARCHAR_IGNORECASE 255 バリアント。
        * MODIFYDATE TIMESTAMP 23, 10 更新日時。
          BODY VARCHAR 2147483647 テンプレートの本文。