カスタム監査カテゴリ
監査サブシステムには、既定の監査カテゴリのセットが用意されています。ThingWorx Platform でイベントによってトリガーされた監査メッセージは、これらのカテゴリに割り当てられています。これらの割当を変更することはできません。ただし、このセットにないカテゴリが必要な場合、カスタムカテゴリを作成し、カスタムイベントやカスタム監査メッセージをそのカテゴリに割り当てることができます。
ローカライズテーブルからカスタム監査カテゴリを追加する方法
どちらの実装の監査サブシステムでも、以下の方法によってカスタム監査カテゴリを追加できます。
ThingWorx Composer を使用して ThingWorx のローカライズテーブルから修正。
ThingWorx Platform 用に新規のバックエンド Java 拡張機能を作成。ThingWorx Java SDK を使用してこの目的の拡張機能を作成することでカスタム監査カテゴリを作成するには、拡張機能を使用したカスタム監査カテゴリの作成を参照してください。この方法でもローカライズテーブルが使用されますが、ここで説明するように、トークンの作成は、プログラムによって、または Composer ユーザーインタフェースを介して対話的に行うことができます。
このセクションでは、ThingWorx Platform 側でローカライズテーブルのユーザーインタフェースを介してカスタムカテゴリを追加する方法について説明します。ThingWorx ローカライズテーブルで作業したことがない場合、このヘルプセンターのローカライズテーブルのトピックに目を通しておいてください。
準備が整ったら、以下の手順に従って、カスタム監査カテゴリをローカライズテーブルに追加します。
1. ThingWorx Composer にログインし、 (「ブラウズ」) をクリックします。
2. 以下の図に示すように、「ブラウズ」ナビゲーションパネルの「システム」の下で、「ローカライズテーブル」を選択します。
ローカライズテーブルのリストが表示されます。
3. 以下に示すように、「デフォルト」ローカライズテーブルのチェックボックスをオンにし、アクティブになった後、「編集」ボタンをクリックしてそのテーブルを編集モードで表示します。
「デフォルト」ローカライズテーブルの「ローカライズトークン」ページが編集モードで表示されます。
4. 以下の図に示すように、「+追加」をクリックして、カスタム監査カテゴリのローカライズトークンを追加します。
画面の右側に「新規ローカライズトークン」ページが表示されます。
5. 「名前」フィールドに、まず監査カテゴリのローカライズトークンのプレフィックス audit.AuditCategory. を入力してから、一意の名前を入力する必要があります。カスタムカテゴリに使用する名前は一意でなければなりません。たとえば、audit.AuditCategory.CustomAlertCategory と入力します。
* 
トークンが有効であるかぎり、QueryAuditHistory および QueryAuditHistoryWithQueryCriteria サービスは、プレフィックスの有無にかかわらず、カスタム監査メッセージを返します。ただし、プレフィックスが付いていない場合、サブシステムは監査カテゴリトークンと "その他" のトークンを区別できません。さらに、監査ログのユーザーインタフェースでカテゴリのリストにカスタム監査カテゴリが表示されるためには、すべてのカスタム監査カテゴリにプレフィックス audit.AuditCategory. が使用されていなければなりません。
6. 「トークン値」フィールドでは、カテゴリに適していると思うものを何でも使用できます。たとえば、プレフィックスの後ろに入力した名前の一部を使用します。任意の英数字、スペース、アンダースコアも使用できます。
ほかの言語のローカライズテーブルでは、「トークン値」がこのトークンの「参照値」になります。
7. このローカライズトークンを保存してから、監査メッセージのローカライズトークンを作成するには、 をクリックして次の手順に進みます。ここで終了する場合、 をクリックすることでページを保存して閉じます。
* 
ほかのローカライズテーブルでこのローカライズトークンを定義せずにクエリーを実行した場合、自分が作成したものだけがクエリーサービスによって返されます。ほかのローカライズテーブルにトークンを追加すると、その他の言語が結果に含まれます。カスタム監査メッセージのトークンを定義していない場合、クエリーでそれを見つけることはできません。
次に、カスタム監査メッセージのローカライズトークンを「デフォルト」ローカライズテーブルに追加します。
8. 閉じている場合、「+追加」をクリックして「新規ローカライズトークン」ページを再び表示します。それ以外の場合は、次の手順に進みます。
9. 「トークン名」フィールドに、カスタム監査メッセージトークンの一意のプレフィックスと一意の名前を入力します。プレフィックスとして audit.AuditCategory を使用しないでください。カスタム監査メッセージの名前は一意でなければなりません。たとえば、myCustomAlertMessages.AlertEvent と入力します。
* 
プレフィックス audit.AuditCategory はカテゴリ用に予約済みです。このプレフィックスをメッセージに使用した場合、メッセージはカテゴリとして解釈され、監査ログのユーザーインタフェースにメッセージではなくカテゴリとして表示される可能性があります。
カスタム監査メッセージには、ThingWorx ユーザーインタフェースには表示されない追加の情報が必要です。その情報とは、カスタム監査メッセージの引数です。たとえば、引数 thingName (値の例: mixer123) や alertEventMsg (値の例: overflow) などがあります。このような引数はメッセージの「トークン値」で指定できます。カスタム監査メッセージが生成されて監査クエリーによって返されるときにこの値が代入されます。"エンティティファイルのインポートが正常に完了しました" などの単純なメッセージには、指定する引数がありません。
* 
カスタムイベントの作成については、イベント、アラート、および購読の操作およびThingWorx API ドキュメンテーションを参照してください。
10. 「トークン値」フィールドに、監査メッセージの引数を追加します。各引数の先頭に 2 つのアンダースコアを付け、末尾に 2 つのアンダースコアを付ける必要があります。たとえば、User の除去に関するカスタム監査メッセージに以下の引数があるとします
username
entityType
entityName
「トークン値」フィールドに以下のように入力します。
User __username__ removed __entityType__ named '__entityName__'
カスタム監査メッセージの引数に対応する値があるかぎり、ランタイムで 3 つの引数が置き換えられます。
* 
一部のメッセージでは引数を使用する必要がありません。たとえば、"エンティティファイルのインポートが正常に完了しました" などの単純なメッセージでは、置換を使用しません。
11. をクリックすることで、ページを保存して閉じます。
12. カスタム監査カテゴリとカスタム監査メッセージの追加をテストするため、メッセージを生成するイベントをトリガーしてから、返すロケールを指定して QueryAuditHistory または QueryAuditHistoryWithQueryCriteria サービスを実行します。QueryAuditHistoryWithQueryCriteria サービスではそのカテゴリのローカライズトークンを使用する必要があることに注意してください。
次に、カスタム監査カテゴリとカスタム監査メッセージのローカライズトークンを、必要な各ロケールのローカライズテーブルに追加する必要があります。たとえば、日本語の場合は ja 、ドイツ語の場合は de です。
以下の手順に従います。
1. 「ブラウズ」タブをクリックしてローカライズテーブルのリストに戻り、別のロケールを選択します。たとえば、以下に示すように、ja (日本語) を選択して「編集」をクリックします。
2. ja ロケールの「ローカライズトークン」ページで、カスタム監査カテゴリ用に作成したローカライズトークンを見つけます。
* 
トークンを簡単に見つけるには、リストの上部にある「フィルタ」を使用します。トークンの名前の単語を入力していきます。たとえば、名前に "MyCustom" を使用した場合、以下に示すようにフィルタフィールドに入力していきます。その単語を含むすべてのローカライズトークンが表示されます。
3. 上の図に示すように、カスタム監査カテゴリのトークン名をクリックして、タブの右側にその編集ページを表示します。
4. 「トークン値」フィールドに、「デフォルト」ロケールでこのカテゴリに使用したトークン値の翻訳された値を入力します。
5. をクリックすることで、編集ページを保存して閉じます。
6. ローカライズトークンのリストで、「フィルタ」を使用して、「デフォルト」ロケールでカスタム監査メッセージ用に作成したトークンの名前を見つけ、それをクリックしてタブの右側にその編集ページを表示します。
7. 「トークン値」フィールドに、メッセージの翻訳された部分と、該当する場合は、監査メッセージの翻訳された引数名を追加します。「デフォルト」ロケールのトークン値と同様に、各引数の先頭に 2 つのアンダースコアを付け、末尾に 2 つのアンダースコアを付ける必要があります。
8. をクリックすることで、編集ページを保存して閉じます。
9. カスタム監査カテゴリとカスタム監査メッセージの追加をテストするため、メッセージを生成するイベントをトリガーしてから、返すロケールを指定して QueryAuditHistory または QueryAuditHistoryWithQueryCriteria サービスを実行します。名前ではなく、そのカテゴリのローカライズトークンを指定する必要があることに注意してください。
* 
ThingWorx Java API を使用して、このすべてを拡張機能で実行できます。監査するイベントを作成してから、カスタム監査カテゴリとカスタム監査メッセージを英語全般用の「デフォルト」ローカライズテーブルと必要なその他のロケール用のテーブルに追加します。拡張機能のインポートの一環としてローカライズテーブルをインポートすることもできます。
プログラムによってイベントを追加する方法については、このヘルプセンターの「アプリケーション開発の最良事例」のセクションのイベント、アラート、および購読の操作を参照してください。ThingWorx API の Javadoc API ドキュメントも参照してください。
拡張機能とローカライズテーブルのパッケージ化については、拡張機能とローカライズテーブルのパッケージ化を参照してください。
これは役に立ちましたか?