ここでは、外部データベースのSQLServerとOracle Databaseを使用した時に、テーブルに対しロール毎にアクセス許可を指定したり、ワークフロー機能を利用したりするために必要となる設定について記載します。
アクセス許可やワークフローを実現するには、これらを管理するためのForguncy専用のフィールドやテーブルがデータベース側に必要になります。内部データベースの場合、ログインしたユーザーが属するロールの権限に応じて自動的に作成しますが、SQLServerとOracle Databaseの場合は、次の設定を行いその作成を許可させる必要があります。
1 外部DBに接続したリンクテーブルを作成します。
リンクテーブルの作成を参照して、リンクテーブルを作成します。このとき、データベースにログインするユーザーは、たとえばSQL Serverの場合であればデータベースロールがdb_ddladmin以上の権限を持っている必要があります。db_ddladminとは、データベース内のオブジェクト自身の追加/変更/削除(CREATE/ALTER/DROP)を行う権限を持つロールです。外部DB側でログインするユーザーにdb_ddladmin以上の権限を付与し、そのユーザーでログインするようにしてください。
2 構造変更の許可をチェックします。
画面左側のナビゲーションウィンドウから接続したテーブルをダブルクリックして開き、画面右側の「テーブル設定」にて「構造変更の許可」の「データベースや構造変更をForguncyに許可する」にチェックをします。
こうすることで、Forguncyからリンクテーブルに対し、アクセス許可などを管理するためのForguncy専用のフィールドを追加するといったことが行えるようになります。
3 ワークフローを行う場合は、「ワークフローを許可する」をチェックします。
もしワークフローを行う場合は、さらに「構造変更の許可」の下にある「ワークフロー...」をクリックします。次の画面が表示されるので「ワークフローを使用する」にチェックをします。
上記のとおりに「データベースや構造変更をForguncyに許可する」にチェックすると、Forguncyは接続した外部データベースに対して、以下のことを行います。なお、ワークフローを使用する場合は「ワークフローを使用する」にチェックが必要です。
・Forguncy内部で使用する次のテーブルを自動生成します。
テーブル名 |
説明 |
---|---|
FGC_UserInfoTable |
ワークフローとアクセス許可を行うユーザー情報を記録します。このテーブルは削除しないでください。Forguncyは自動的に不要なテーブルを削除し、データ更新時にこのテーブルを再作成します。 |
{テーブル名}_FGC_WHT |
特定のテーブルのワークフローの履歴を記録します。ユーザーがWebサイトで最初にワークフロー機能を使用する時にテーブルを作成します。 |
FGC_DesignerUserInfoTable |
Forguncy開発環境の時に作成します。 |
FGC_UserInfoTable |
Forguncy Server環境の時に作成します。 |
・次のフィールドを自動で追加します。
一度追加したフィールドは、Forguncyから削除することはありません。
これにより、他のForguncyプロジェクトでもこれらのフィールドを使用できます。
フィールド名 |
役割 |
対象テーブルと |
Forguncyの機能 |
---|---|---|---|
FGC_Creator |
作成者 |
接続した任意のテーブルに対し、ユーザーが最初にレコードの挿入や更新を行った時に生成 |
ワークフロー、アクセス許可、データ連結 |
FGC_CreateDate |
作成日時 | ||
FGC_LastModifier |
最終更新者 | ||
FGC_LastModifyDate |
最終更新日 | ||
FGC_UpdateHelp |
Forguncy内部で同時実行の競合を検査するために使用します |
接続した任意のテーブルやForguncyで生成したテーブルに対して、最初にレコードの挿入や更新を行った時に生成 | |
FGC_Rowversion |
Forguncy内部で同時実行の競合を検査するために使用します |
SQL
Serverの場合、接続した任意のテーブルやForguncyで生成したテーブルに対して、最初にレコードの挿入や更新を行った時に生成されます。 | |
FGC_AssignTo |
Forguncy内部でワークフロー機能を使用する時に使用します |
接続した任意のテーブルとワークフロー履歴テーブル({テーブル名}_FGC_WHT)に対して最初にレコードの挿入や更新を行った時に生成 |
ワークフロー |
FGC_State |
Forguncy内部でワークフロー機能を使用する時に使用します | ||
FGC_UserName |
ユーザー名 |
FGC_UserInfoTableテーブル、あるいはFGC_DesignerUserInfoTableテーブルが生成された時に作成。 |
ワークフロー、アクセス許可 |
FGC_FullName |
氏名 | ||
FGC_Email |
メールアドレス | ||
FGC_Role |
ロール | ||
FGC_OrganizationBelongsTo |
| ||
FGC_RootOrganizationCanAccess |
| ||
FGC_OrganizationQueryCache |
| ||
FGC_OrganizationSuperior |
上位組織メンバー |