8.2 Webクライアント

Webクライアントでは、オブジェクトプロパティ、フォームのワークフロー自動化のフォーム、およびユーザインタフェースのブランディングをカスタマイズすることができます。正しく実装された場合、プロパティおよびワークフローのカスタマイズは、自動ワークフローの送信を伴うアシスタント管理者タスクの自動化に役立ちます。

8.2.1 プロパティページのカスタマイズ

オブジェクトタイプごとにActive Directory管理役割でアシスタント管理者が使用するオブジェクトプロパティフォームをカスタマイズできます。これには、DRA内に組み込まれたオブジェクトタイプに基づいた新しいオブジェクトページの作成とカスタマイズが含まれます。組み込みのオブジェクトタイプのプロパティを変更することもできます。

プロパティオブジェクトは、Webコンソールにてプロパティページのリストに明確に定義されているため、どのオブジェクトページが組み込みであり、どの組み込みページがカスタマイズされ、どのページが組み込みではなく管理者によって作成されたかが簡単に識別できます。

オブジェクトプロパティページのカスタマイズ

オブジェクトプロパティフォームは、ページを追加または削除する、既存のページとフィールドを変更する、プロパティ属性のカスタムハンドラを作成するなどの方法でカスタマイズすることができます。作成されたカスタムハンドラは、その設定方法によって、プロパティフィールドが変化したときか、クエリ実行のためのプロンプトに管理者が応答したときに、自動的に実行されます。

プロパティページのオブジェクトリストには、オブジェクトタイプごとに2つの操作タイプ(オブジェクトの作成とプロパティの編集)があります。これらは、アシスタント管理者がWebクライアントで実行する主要な操作です。また、カスタマイズすることで、DRAでActive Directoryオブジェクトを管理するときの管理者の効率と操作性が向上する可能性があります。

Webコンソールでオブジェクトプロパティページをカスタマイズするには:

  1. DRA管理者としてWebコンソールにログインします。

  2. [カスタマイズ]>[プロパティページ]の順に選択します。

  3. [プロパティページ]のリストからオブジェクトと操作タイプ(作成または編集)を選択します。

  4. [編集]ボタン()をクリックします。

  5. 次のうち1つまたは複数の方法でオブジェクトプロパティのフォームをカスタマイズし、変更を適用します。

    • 新しいプロパティページを追加する: [ページの追加]

    • プロパティページを選択し、ページをカスタマイズする:

      • ページ内の設定フィールドの順序を変更する:

      • フィールドまたはサブフィールドを編集する:

      • 1つまたは複数のフィールドを追加する: または[フィールドの追加]

      • 1つまたは複数のフィールドを削除する:

    • スクリプト、メッセージボックス、クエリ(LDAP、DRA、REST)のいずれかを使用してプロパティのカスタムハンドラを作成する

      カスタムハンドラの使用の詳細については、「カスタムハンドラの追加」を参照してください。

新しいオブジェクトプロパティページの作成

新しいオブジェクトプロパティページを作成するには:

  1. DRA管理者としてWebコンソールにログインします。

  2. [カスタマイズ]>[プロパティページ]の順に選択します。

  3. [タスク]の下の[新しいアクションの作成]をクリックします。

  4. 名前、アイコン、オブジェクトタイプ、操作設定を定義して、最初のオブジェクトプロパティフォームを作成します。

  5. 必要に応じて、新しいフォームをカスタマイズします。詳細については、「オブジェクトプロパティページのカスタマイズ」を参照してください。

8.2.2 ワークフローフォームのカスタマイズ

ワークフローフォームは、作成または変更時にWebサーバに保存され、Webコンソール内でアクセスします([カスタマイズ]>[ワークフロー]ページ)。これらのフォームは、ワークフロー自動化サーバで作成された自動ワークフローの送信に使用されます。フォームをカスタマイズすると、一歩進んだ自動化が可能になり、アシスタント管理者がフォームを使ってオブジェクト管理タスクを遂行するときに使い勝手が良いと感じられるフォームにすることができます。

既存のフォームプロパティおよびカスタムハンドラを追加および変更することができます。プロパティの追加とカスタマイズに対するインタフェースの振る舞いは、ワークフロー自動化フォームの中では、オブジェクトプロパティのカスタマイズと同じです。プロパティの追加と変更、カスタムハンドラの追加、およびワークフロー自動化の説明について詳細は、以下のトピックを参照してください。

カスタムハンドラの追加

DRAでは、プロパティ属性を相互作用させてワークフロータスクを完了するためや、ワークフロー、プロパティ、フォーム作成でのロードと送信をカスタマイズするために、カスタムハンドラを使用します。

たとえば、他のフィールド値のクエリ、値の更新、フィールドの読み込み専用状態の切り替え、および設定済み変数に基づいてフィールドを表示または非表示にするときなどにプロパティのカスタムハンドラが使用されます。

フォームのロードハンドラにより、ユーザがフォームをカスタマイズできます(コントロールの初期化が一般的)。フォーム送信ハンドラでは、ユーザが検証を行ったり、場合によって異常の発生時に送信をキャンセルすることができます。

また、DRAではカスタムハンドラの作成が簡単です。選択可能なJavaScript (JS)マクロがいくつか用意されており、そのうちの1つをカスタムハンドラ作成検証プロセスで選ぶことができます。

カスタムハンドラ作成の基本手順:

次の手順は、事前に選択済みのカスタムハンドラのページからの操作です。そこまで進むには、プロパティフィールドにある編集ボタン( )からオブジェクトプロパティのカスタムハンドラにアクセスします。ワークフローフォームまたはオブジェクト作成ページの[フォームプロパティ]からフォームロードハンドラおよびフォーム送信ハンドラにアクセスします。

  1. 該当するタカスタムハンドラのタブをクリックし、ページ( )を有効にします。

    • カスタムハンドラ

    • フォームロードハンドラ

    • フォーム送信ハンドラ

  2. ドロップダウンメニューからカスタムハンドラを選択して、実行時間を選択します。通常、実行時間には2番目か3番目のオプションを使用します。

    メモ:一般的にカスタムハンドラは1つで十分ですが、ハンドラ同士がリンクするようにスクリプト内のフロー制御を設定すれば複数のハンドラを使用することもできます。

  3. その場合、このページに追加するカスタムハンドラごとに設定( )する必要があります。設定オプションがハンドラの種類によって異なりますが、すべてのハンドラがJavaScriptから実行されます。

    独自のVanilla JavaScriptエントリを作成したり、組み込みマクロを使用することもできます。

    • LDAPまたはRESTのクエリハンドラ:

      1. 静的な値をベースにしたクエリを実行する場合は、[接続情報]および[クエリパラメータ]を定義してください。

        動的なクエリが必要な場合は、必須フィールドにプレースホルダのテキストを入力してください。スクリプトの実行にはこれが必須です。スクリプトが仮の値を上書きします。

        メモ:また、RESTクエリのヘッダとクッキーも設定できます。

      2. クエリ前のアクションで、Global、Query、Form Fieldのうちマクロを1つ選択します。

      3. ドロップダウンリストからマクロを選択し、マクロを挿入します(</>マクロの挿入)。

      4. 必要に応じて他のマクロを挿入し、必要な値を指定してスクリプトを完成させます。

        例として、ユーザが入力したグループ名がActive Directoryにすでに存在しないことを、フォームが送信されたときに[クエリ前アクション]のスクリプトで検証します。

        ユーザが入力した名前を使用してLDAPクエリを作成する必要があります。Field()というマクロを使用して名前フィールドの値にアクセスしてクエリ文字列を構築します。それを今度はFilter()マクロを使用するクエリフィルタとして設定します。

        Filter() = '(&(objectCategory=group)(objectClass=group)(name=' + Field(name) + '))';
      5. 前の例を実行して、[クエリ後アクション]でクエリの返す結果をチェックします。結果はクエリに一致したオブジェクトの配列として返されます。そこで、配列の長さが0より大きいかどうかを調べる必要があります。

        一致するグループが見つかると、Cancel()というマクロを使用してフォーム送信をキャンセルし、そのマクロにユーザに表示するオプションメッセージを渡します。

        if (QueryResults().length > 0) { Cancel('A group with that name already exists, please enter a unique name.');}

    • スクリプト: JavaScriptのカスタムコードを挿入するか、マクロを使用してスクリプトを作成します。

    • DRAクエリ: クエリパラメータについては、JSON形式でペイロードを定義します。そして、前に説明したLDAPクエリとRESTクエリの場合と同様の方法でマクロを使用します。

    • メッセージボックスハンドラ: メッセージボックス自体のプロパティを定義したら、LDAPクエリとRESTクエリについて前に説明したように、同じような方法でマクロを使用します。ただし、クエリ前アクションとクエリ後アクションの代わりに、表示前のアクションと閉じた後のアクションのためのマクロスクリプトを作成します。

  4. フォームを保存する前に[ハンドラのテスト]をクリックしてスクリプトを検証します。

    これによりテストの結果の概要が生成され、実行結果が表示されます。

メモ:そのハンドラがフォームの現在の状態に依存している場合(たとえばフィールドに値がある)、フォームを編集するときにデータがまったくロードされないため、正常に実行されません。そのようなケースではフォームエディタの外でハンドラをテストする必要があります。方法は、カスタマイズの内容を保存してから、適切なフォームを表示し、必要なデータを記入します。

8.2.3 ユーザインタフェースのブランディングのカスタマイズする

DRAのWebコンソールのタイトルバーを独自のタイトルやロゴイメージを使ってカスタマイズすることができます。その位置はDRAの製品名のすぐ右です。この位置は最上位のナビゲーションにも使用されるため、ログインするとDRAの最上位のナビゲーションリンクに隠れます。ただし、ブラウザのタブにはカスタマイズされたタイトルが引き続き表示されます。

DRAでタイトルのブランディングをカスタマイズするには:

  1. DRA管理者としてWebコンソールにログインします。

  2. [カスタマイズ]>[ブランディング]の順に選択します。

  3. 会社のロゴを追加するには、ロゴイメージをWebサーバのcomponents\lib\imgに保存します。

  4. ブランディングのカスタマイズのページの3つのフィールドに該当する情報があれば、必要な情報を追加して変更内容を保存します。