モデルに関する仕様を説明します。

WagbyDesignerを使ったモデルの登録、削除方法を説明します。

モデルを作成する

WagbyDesignerのメニューから「モデル」を選択します。「ユーザ」と「システム」の二つのタブがありますが、新規開発するモデルは「ユーザ」タブに格納します。

図1に示すように、ギアアイコンから「新規モデル」を選択します。図2のように新規モデルの定義画面が開きます。

図1 新規モデルを定義する
図2 新規モデルの定義画面

モデル名の変更

「モデル名」は、画面(およびメニュー)に表示される名称です。
「モデルID」は、データベースのテーブル名および生成されるソースコード内の識別子として用いられます。
モデルIDに日本語(ひらがな、カタカナ、漢数字)を使うことはできません。英数字を使ってください。

図3 モデル名とモデルIDの設定

モデル名やモデルIDの変更は即座にリポジトリに反映されます。ビルドを行うタイミングで、変更された名称を使ってソースコードが再生成されます。

モデルの削除

「モデル」メニューからモデル一覧を表示します。削除したいモデルをチェックします。

図4 削除したいモデルをチェックする

ギアアイコンから「削除」を選びます。

図5 削除処理を選択する

確認ダイアログが表示されますので「OK」ボタンを押下します。

図6 削除の確認ダイアログ

モデルが削除されました。

図7 モデルが削除された
リポジトリのリストア」機能を使うことで、モデルを削除する前のリポジトリに戻すこともできます。

ビルド対象モデルを個別に指定することができます。「ビルド」列のチェックボックスを指定してください。標準はすべてのモデルがビルド対象となっています。

図8 ビルド対象モデルを指定する
開発者はモデルの依存関係を考慮して指定してください。ビルド対象となっていないモデルを参照している場合、ビルドエラーになります。
この指定は設計書出力ツールにも反映されます。チェックされたモデルだけが設計書として出力されます。

モデルに対応した(リレーショナルデータベース用の)テーブルが生成されます。

より正確には、モデル定義に対してデータベース用のDDL (create table, drop table) が自動生成されます。このDDLを使って、データベース上にテーブルを作成・削除することができます。[詳細...]

  • 1 文字のモデルIDを用いることはできません。モデルIDは 2 文字以上として下さい。
  • 先頭は英文字または「_(アンダースコア)」を指定して下さい。
  • 二文字目以降は英文字または「_(アンダースコア)」、半角数字を指定して下さい。
  • 「_(アンダースコア)」と半角数字のみで構成することはできません。
  • XMLの名前として使用できない文字は指定できません。よって、半角カタカナや全角数字、全角英字、記号は使用できません。(XMLの名前として使用できる文字についてはAppendix 使用できる文字をお読み下さい。)
  • 予約語を指定することはできません。(予約語についてはAppendix 予約語をお読み下さい。)
  • すべての定義されているモデルIDはアルファベット大文字小文字を区別せず、アンダースコアを無視した状態で重複しないように指定して下さい。
    例えば「ab」「Ab」「aB」「AB」「a_b」「A_b」「a_B」「A_B」を指定した場合、これらはすべて重複しているとみなされ、エラーになります。
  • モデルIDの末尾に「P」「C」「CP」「L」「LP」「ULP」を付加したモデルIDを別に作成することはできません。
    例えば「ab」というモデルIDを用意した場合、別モデルIDとして「abp」「abc」「abcp」「abl」「ablp」「abulp」を定義することはできません。
  • 「システム」タブで用意されているモデルIDを指定することはできません。
  • 接頭語が "jfc" ではじまるモデルIDはシステムが将来、利用するために予約されています。指定することはできません。
  • Wagby が内部で使用している以下のモデルIDを指定することはできません。
    • hour_m
    • minute_m
    • movestep_m
    • jpermission_m
    • jprincipal
    • 末尾が「_p」「_c」「_cp」「_l」「_lp」「_ulp」で終わるモデル名

モデルIDの変更

このモデルを参照している他のモデルがあった場合、変更の前に警告ダイアログが表示されます。OKを押下すると、参照しているすべてのモデルに対して、変更後のモデルIDに置換されます。(計算式内の項目も同様です。)

モデルの削除

このモデルを参照している他のモデルがあった場合、削除の前に警告ダイアログが表示されます。このモデル(内の項目)を計算式内で参照している場合も警告対象に含まれます。

OKを押下するとモデルは削除されますが、影響があると示された他のモデルについては、開発者が手動で適切に修正してください。

「システム」タブに含まれているモデルは、Wagbyの管理機能で用いるものです。これを「システムモデル」と呼びます。これに対して、開発者が作成したものを「ユーザモデル」と呼びます。

システムモデルの制約

システムモデルには次の制約があります。

  • モデルIDを変更してはいけません。
  • モデルを削除してはいけません。
  • モデルに含まれるモデル項目はID、型を含めすべて変更してはいけません。

以下のモデルは、モデル項目の拡張ができます。

定義済み項目の変更は行えません。具体的には項目名の変更や、型の変更を行うことはできません。
モデル名モデルID用途
グループ jgroup グループ権限管理で用いる。アカウント(juser)と連携している。
アカウント juser ログオンアカウント。
休日 jholiday (*1) 祝祭日の情報。カレンダビューに反映される。
お知らせ jnews 利用者へのお知らせを行うことができるモデル。

ここに記載している以外のモデルはそのままの状態で(変更せずに)お使いください。 Wagbyのバージョンアップでは、移行ツール適用時に(上記モデル以外の「システム」に属するモデルは)最新版のモデルが適用されます。

1 jholiday の変更は現在、未対応です。

理論上の制限はありません。
WagbyDesignerが利用するメモリを増やすことで、多くのモデルを含むアプリケーションをビルドすることができます。
またWagbyでビルドしたアプリケーションが利用するメモリを増やすことで、大規模なアプリケーションを運用することができます。