拡張ポイントを使用してアプリケーション機能を拡張する

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む9読むのに数分
  • 拡張ポイントを使用して、元のアプリケーションコードを変更せずにアプリケーションの機能を拡張します。選択した Now Platform アプリケーションで使用可能な既存の拡張ポイントを使用できます。また、自分のインスタンスでカスタムアプリケーションを開発する場合は、拡張ポイントを追加できます。

    拡張ポイントの使用

    拡張ポイントを使用することで、アプリケーションコードのコアコンポーネントを実際に変更することなくカスタマイズを統合できます。拡張ポイントを使用すると、カスタムコードをアプリケーションコードに直接埋め込む場合にアップグレード後に頻繁に発生する、カスタムコードのやり取りの破損を防ぐことができます。

    アプリケーションコードに埋め込まれた拡張ポイントは、データをカスタムコードに渡すアウトポイントとして、そして返される結果を処理するインポイントとして機能します。アプリケーションを作成するときに、返されるデータまたはオブジェクトは、拡張ポイントに対して定義した要件に準拠している必要があります。

    注:
    すぐに使用できる構成済みの CSM クエリールールの中には、ビジネスルール内の定数でも使用されるため、変更または無効化できないものがあります。

    拡張ポイントのタイプ

    次のタイプのアーティファクトを使用するカスタムコードを処理する拡張ポイントを作成できます。
    スクリプト拡張ポイント
    JavaScript 関数とオブジェクトクラスが格納されるサーバー側スクリプトインクルードの拡張ポイント。スクリプトインクルードについてと、アプリケーションとカスタムコードでスクリプト拡張ポイントを実装する方法の詳細については、以下を参照してください。
    UI 拡張ポイント
    HTML 拡張などのサーバー側 UI マクロで使用される拡張ポイント。

    UI マクロは、ユーザーインターフェイスに追加できる個別のスクリプト化されたコンポーネントです。これらを使用すると、ページを直接変更する必要なく、カスタムコンテンツを UI ページに追加できます。たとえば、UI マクロを使用して、KB 記事が表示される標準の ナレッジベース ビュー (kb_view) の UI ページにヘッダーとフッターを追加できます。

    UI マクロについてと、アプリケーションとカスタムコードで UI 拡張ポイントを実装する方法の詳細については、以下を参照してください。
    クライアント拡張ポイント
    クライアント側 UI スクリプトで使用される拡張ポイント。通常はフォームの変更に使用されます。

    UI スクリプトを使用すると、クライアント側 JavaScript を再利用可能な形式にパッケージ化できます。これは、スクリプトインクルードにサーバー側 JavaScript を格納する方法と似ています。UI スクリプトを作成し、それらをクライアントスクリプト、他のクライアント側スクリプトオブジェクト、および HTML コードから実行できます。

    UI スクリプトについてと、アプリケーションとカスタムコードでクライアント拡張ポイントを実装する方法の詳細については、以下を参照してください。

    拡張ポイントを使用してカスタマイズを処理すると、カスタムデータまたは機能をアプリケーションに統合するための定義済みの構造が作成されます。カスタムサーバー側スクリプトインクルード、HTML 拡張などの UI マクロ、クライアント側 UI スクリプトは、すべてアプリケーションコードの外部にあり、指定された拡張ポイントでのみやり取りします。

    アプリケーションコード

    アプリケーションコードという用語は、以下を指します。
    標準アプリケーションコード
    Now Platform を構成する標準、つまり基本アプリケーションコード。
    事前定義済みの拡張ポイントは、カスタマーサービス管理 (CSM)フィールドサービス管理 (FSM) などの特定のアプリケーションにすでに埋め込まれています。事前定義済みの拡張ポイントを含む Now Platform アプリケーションの詳細については、以下を参照してください。
    アプリケーション 拡張ポイントのトピック
    コーチング Coaching のトラブルシューティング
    継続的改善管理 他のアプリケーションとの改善
    カスタマーサービス管理 (CSM) Customer Service Management の拡張ポイント
    カスタムユーザーロールの作成
    Change Management との CSM 統合
    Incident Management との CSM 統合
    Problem Management との CSM 統合
    Request Management との CSM 統合
    フィールドサービス管理 (FSM) Field Service Management の拡張ポイント
    ナレッジ管理 Knowledge Management での拡張ポイントの使用
    オーケストレーション クライアントソフトウェアディストリビューション拡張ネットワーク クライアントソフトウェアディストリビューションと一緒にインストールされるもの
    パスワードリセット Password Reset スクリプトインクルード
    自社用に内部開発されたカスタムアプリケーション
    アプリケーションの機能を変更または拡張するために使用されるカスタムアーティファクトの登録を処理するための拡張ポイントを追加できます。開発者は、カスタムコードを作成する場合に、特定のカスタムアーティファクトを特定の拡張ポイントに登録またはペアリングします。拡張ポイントを追加すると、ベースコードを変更することなく将来のカスタマイズを統合できます。

    アプリケーションコード内での拡張ポイントの作成

    自社用に作成した社内開発のアプリケーションを、必要に応じて適切にカスタマイズ、結合、およびアップグレードできるようにする必要があります。拡張ポイントを使用すると、コアコンポーネントを編集せずにアプリケーションの機能とユーザーインターフェイスを変更できます。拡張ポイントを使用すると、機能拡張のための高度に定義された構造も作成されます。

    拡張ポイントの作成時に、定義されているアプリケーションスコープに使用を制限したり、拡張ポイントがすべてのスコープでグローバルに実行できるように指定したりすることができます。アプリケーションスコープが制限されている場合、拡張ポイントに対して登録されているカスタマイズは、指定されたアプリケーションスコープ内でのみ実行できます。拡張ポイントを含むアプリケーションを設計および構築する前に、次のことを実行する必要があります。
    • カスタムのスクリプトインクルード、UI マクロ、または UI スクリプトに対応するために、アプリケーションコードのどこに拡張ポイントを配置するかを指定します。
    • 決定する 拡張ポイントのコンテンツと構造。この定義では、カスタマイズの構成方法、アプリケーションコードとのやり取りの方法、および拡張ポイントでカスタマイズによって返されるデータを処理する方法について説明します。
    拡張ポイントを作成してアプリケーションコードに埋め込むには、次のタスクを実行します。
    1. 拡張ポイントを作成し、そのカスタムインターフェイスを定義します。これはスクリプトによる拡張ポイントの例です。

      スクリプト拡張ポイントの例

    2. データまたはオブジェクトをカスタマイズに送信でき、データが返されるアプリケーションコード内の特定の場所を指定します。
    3. メソッドを呼び出す GlideScriptedExtensionPoint - スコープ対象 スクリプトインクルード、UI マクロ、UI スクリプトなどのアーティファクトを作成します。このメソッドは、登録されたカスタムアーティファクトがアプリケーションコード内で実行される拡張ポイントを識別します。

      基本アプリケーションコードスクリプトインクルードと getExtensions コマンド

    デバッグとロギングの有効化

    拡張ポイントを作成するときは、デバッグとロギングも有効にする必要があります。デバッグとロギングは、拡張ポイントを持つカスタムアーティファクトの使用に関連する問題を特定して修正するのに役立ちます。デバッガーを有効にすると、スクリプトインクルード、UI マクロ、または UI スクリプトにブレークポイントを設定できます。ログを確認して、次の詳細を確認できます。

    • 拡張ポイントがアクティブな拡張インスタンスを検出した日時 (検出された拡張インスタンスの総数と各拡張インスタンスが検出された時間を含む)。
    • 拡張ポイントが拡張インスタンスを実行した日時 (実行されたカスタムアーティファクトの総数と各実行時間を含む)。実行に失敗した総数と各拡張インスタンスが失敗した時刻も含まれます。
    注:
    デバッグを有効にする方法とその機能の詳細については、以下を参照してください。

    拡張ポイントに対してカスタムアーティファクトを登録する

    アプリケーションをカスタマイズするときは、サーバー側スクリプトインクルード、UI マクロ、クライアント側 UI スクリプトなどのカスタムアーティファクトを使用して基本機能を拡張します。カスタムアーティファクトを設計および構築するには、次のタスクを実行します。

    1. 作成している特定のタイプのカスタムアーティファクトに適した、使用可能な拡張ポイントのリストを確認します。
      • これらのリストには、作成した拡張ポイントと、Now Platform 機能に埋め込まれた事前定義済みの拡張ポイントが含まれます。
      • 各リストには、カスタムアーティファクトを呼び出すアプリケーションコードの拡張ポイントと、返されるデータまたはオブジェクトに関する情報が含まれます。
    2. 拡張ポイントを選択します。
    3. カスタムアーティファクトの構成方法を決定します。構造は拡張ポイントの説明に基づいている必要があります。説明には、カスタムコードでアーティファクトを使用するための要件と、基本アプリケーションコード内のアーティファクトが配置される場所が含まれます。
    4. 選択した拡張ポイントに対して登録するときにカスタムアーティファクトとコードを作成します。登録では、カスタムアーティファクト内の実装に拡張ポイント定義をリンクする拡張インスタンスレコードを作成します。

    登録済みのカスタムアーティファクトの処理方法

    アプリケーションコードが実行され、拡張ポイントを含む埋め込み API コールが見つかると、アプリケーションコードは次の処理を実行します。
    1. API コールで拡張ポイントを使用して、どのカスタムアーティファクトが登録されているかを判断します。
    2. 適切なデータまたはオブジェクトを登録済みのカスタムアーティファクトに送信します。
    3. 各カスタムアーティファクトから返された出力を収集します。
    4. 返された結果を処理して基本アプリケーションに組み込みます。