WorkWithPlus for Audit の設定は GeneXus の [設定] ビューで変更できます。

次の設定を行うことができます
このプロパティを有効にすると、WorkWithPlus for Audit は生成された SQL 文をテキストファイルに保存します。このテキストファイルは、手動での影響分析に使用でき、後でスクリプトを作成するために使用することもできます。このファイルは Web フォルダ内に作成され、「AuditPlusTriggers.sql」という名前で保存されます。
この機能を有効にするには、WorkWithPlus for Audit 設定で [Save triggers in output file] プロパティを [True] にする必要があります。

モデルの特定の変更のために再編成を実行すると、GeneXus によって、テーブルデータを格納するための一時テーブルが作成されます。これは後で、変更後のテーブルに挿入されます。再編成の実行時に WorkWithPlus for Audit のトリガーが存在している場合は、この一時的な変更が WorkWithPlus for Audit の AuditRecord トランザクションに記録されます。
[Remove triggers before reorganization] プロパティでは、GeneXus で再編成が実行される前に自動的にデータベースからトリガーを削除することができます。これにより、GeneXus の再編成プログラムによる一時的な変更が WorkWithPlus for Audit のトリガーでログ記録されないようになります。
[Update WorkWithPlus for Audit after reorganization] プロパティが [False] に設定されている場合は、再編成の実行後にユーザーが手動で WorkWithPlus for Audit を更新して影響分析を行う必要があります。

この機能では、各トランザクション用に WorkWithPlus for Audit プロシージャーを作成するために使用する名前の構文を定義することができます。
このプロパティは WorkWithPlus for Audit 設定で設定可能です:

既定では、監査プロシージャーは次の構文を使用して命名されます: 「<Table>AuditData」。これは、「Product」という名前のトランザクションの場合、「ProductAuditData」という名前のプロシージャーが作成されることを意味しています。
タグ <Table> は必須ですが、どこでも配置することができます。例: 「Audit<Table>Data」。また、この構文は GeneXus の命名規則と互換性を持つ必要があります。
この機能では、各トランザクション用にデータベースに WorkWithPlus for Audit のトリガーやストアドプロシージャーを作成するために使用する名前の構文を定義することができます。
このプロパティは WorkWithPlus for Audit 設定で設定可能です:

既定では、監査プロシージャーは次の構文を使用して命名されます: 「Audit<Table><Mode>」。これは、「Product」という名前のトランザクションの場合、「AuditProcedureInsert」、「AuditProcedureUpdate」、「AuditProcedureDelete」という名前のトリガーが作成されることを意味しています。
タグ <Table> と <Mode> は必須ですが、どこでも配置することができます。例: 「Audit<Table>On<Mode>」。また、この構文は DBMS の命名要件と互換性を持つ必要があります。
このプロパティでは、WorkWithPlus for Audit で使用する日時の保存形式を変更します。[True] に設定すると、日時は UTC で保存されます。それ以外の場合には、サーバー独自のタイムゾーンが使用されます。
GeneXus における UTC およびタイムゾーンの詳細については、次を参照してください:
https://wiki.genexus.com/commwiki/servlet/wiki?22135,The+TimeZone+problem
この機能では、列挙値に基づく項目属性の保存方法を定義することができます。
このプロパティの既定値は [<Value>:<Name>] です。
次のように、"PersonGender" 項目属性が列挙ドメインに基づいている例を見てみましょう:

WorkWithPlus for Audit では、"0"、"1"、"2" のように値だけが保存されるのではなく、"0:Male"、"1:Female"、"2:NotSpecified" のように保存されます。
このプロパティでは、監査済みレコードで「更新」を完了した後に保存される情報量を選択することができます。

次のいずれかを選択できます:
-
All
-
OnlyChanges
-
ChangesAndDescription
All
これは既定の動作で、旧バージョンの WorkWithPlus for Audit における保存データの管理方法です。
[All] を選択すると、WorkWithPlus for Audit は、項目属性が変更されたかどうかにかかわらず、すべての監査項目属性のステータスを保存します。
このオプションはデータベース領域を多く使用しますが、あらゆる監査レコードについてレコードのステータスを視覚化する方法としては最も簡単で迅速です。
OnlyChanges
このオプションを選択すると、WorkWithPlus for Audit は、実際に変更された項目属性の値のみを保存します。
このオプションでは、保存される情報が少なくなるため、使用領域も少なくなります。一方で、このオプションでは、その時点のレコードのステータスを視覚化することができません。レコードの「履歴」を確認できるようにするには、開発者がバックトラッキングを行い、レコードのステータスを手動で再構築する必要があります。
また、このオプションを選択した場合、WorkWithPlus for Audit では変更したレコードの「ディスクリプション」を表示することはできず、レコードの「ID」のみが表示されます。
ChangesAndDescription
このオプションは、「OnlyChanges」のシナリオに類似していますが、この場合、WorkWithPlus for Audit は変更された項目属性と (項目属性が変更されたかどうかにかかわらず) トランザクションの「名称項目属性」を保存します。
このわずかな違いにより、WorkWithPlus for Audit ではレコードの「ディスクリプション」を表示することができるほか、必要となる領域も少なくなります (生成される各監査レコードに新しい行が 1 つだけ追加されます)。

このプロパティでは、テーブル「AuditRecord」のトリガーによって保存される数値を設定することができます。
このプロパティは、次のシナリオにおいて便利です:
複数の GeneXus ナレッジベースで同じ監査テーブルを共有している場合。
同じ GeneXus ナレッジベースを異なるデプロイメントで使用し、同じ監査テーブルを共有している場合。
既定では、Web インターフェースでインストール ID の使用や表示は行われません。インストール ID の表示や使用が必要な場合は、インストールした Web インターフェースで項目属性を手動で追加/使用する必要があります。
既定のインストール ID は静的な値となるため、トリガーでは常に同じ値が保存され、「実行時」に変更することはできません。
より動的な動作を許可する場合には、[Allow dynamic Installation Id] プロパティを [True] に設定することができます。
これにより、開発者はプロシージャー「AuditPlusSaveUser」を使用して最新のインストール ID を渡すことができます。
これは、異なる企業のユーザーが同じ Web アプリケーションのインストールに対するアクセス権を持っているようなマルチテナントのシナリオで役立つことがあります。

この機能では、次の最も一般的な「Blob」データタイプの一部を監査することができます。Blob、Image、Audio、および File です。
Blob 情報は、Blob 項目属性が変更された場合のみ保存されます。変更された値のみが保存されるため、変更内容を自動的に比較することはできません。
この機能を使用する前に、監査対象の Blob 情報が多くの領域を必要とする可能性があることを考慮する必要があります。つまり、この機能は情報が頻繁に変更されるシナリオでは推奨されません。
データベース
新しい構造
Blob の監査を可能にするために、新しいトランザクションが追加されました。
このトランザクションは、WorkWithPlus for Audit のスタートアップウィザードを使用すると自動的に追加されます。

Web インターフェース
Web バックエンドに新しいタブが追加されました (WorkWithPlus または GeneXus WorkWith を使用した場合)。このタブは、レコードに変更された Blob 項目属性がある場合にのみ表示されます。
このタブから、変更された「Blob」情報をダウンロードすることができます。

このプロパティでは、[Allow runtime disable] プロパティの既定値を定義することができます。
WorkWithPlus for Audit は、すべてのナレッジベースのトランザクションに対してトリガー生成プロセスの既定の動作を設定できる、プロパティのセットを提供します。
次のプロパティが利用可能です:
-
[Audit Tables default]: すべてのトランザクションに対する Audit プロパティの既定値を定義します。[False] に設定すると、各トランザクションで個別に指定しない限り、トリガーは生成されません。
-
[Audit Insert default]: Audit Insert プロパティの既定値を定義します。
-
[Audit Delete default]: Audit Delete プロパティの既定値を定義します。
-
[Audit Update default]: Audit Update プロパティの既定値を定義します。
これらの機能は、GeneXus の [設定] の [WorkWithPlus for Audit] で利用可能です:

既定の動作は、トランザクションの WorkWithPlus for Audit プロパティを使用することでトランザクションごとに個別に上書きすることができます:
[WorkWithPlus] -> [for Audit] -> [WorkWithPlus for Audit を有効にする] メニューオプションを使用して監査を有効にする際に、既定の動作を初期化することができます。
このオプションを選択すると、ナレッジベースのすべてのトランザクションに対して監査が適用されます。このプロセスは、設定ダイアログを閉じるとすぐに開始します。
このセクションには、PostgreSQL でのみ使用可能なプロパティが含まれています。
Use 'Pgcrypto' libraries
WorkWithPlus for Audit は、既定では PostgreSQL の「uuid-ossp」拡張モジュールを使用して GUID を生成します。PostgreSQL のドキュメントによると、新しい配布では「uuid-ossp」拡張モジュールが適切に維持されていないとのことです。PostgreSQL 9.4 バージョンに関しては、「pgcrypto」拡張モジュールを使用して GUID を生成することが推奨されています。このため、この新しいライブラリを使用できるようにする新しいプロパティが設定に追加されました。
詳細については次のリンクを参照してください:
http://www.postgresql.org/docs/current/static/uuid-ossp.htm
このセクションには、Informix でのみ使用可能なプロパティが含まれています。
Grant permission to audit database objects
[True] に設定すると、WorkWithPlus for Audit は、配布環境の WorkWithPlus for Audit のテーブルとオブジェクトを使用できるように、必要なデータベースオブジェクトへのパブリックアクセス権の付与を試行します。[False] に設定した場合は、ユーザーが、データベースユーザーの適切な権限を設定する必要があります。
WorkWithPlus for Audit をローカルで使用する場合は、この権限は不要です。