拡張ポイントを使用してアプリケーション機能を拡張する
拡張ポイントを使用して、元のアプリケーションコードを変更せずにアプリケーションの機能を拡張します。選択した Now Platform アプリケーションで使用可能な既存の拡張ポイントを使用できます。また、自分のインスタンスでカスタムアプリケーションを開発する場合は、拡張ポイントを追加できます。
拡張ポイントの使用
拡張ポイントを使用することで、アプリケーションコードのコアコンポーネントを実際に変更することなくカスタマイズを統合できます。拡張ポイントを使用すると、カスタムコードをアプリケーションコードに直接埋め込む場合にアップグレード後に頻繁に発生する、カスタムコードのやり取りの破損を防ぐことができます。
アプリケーションコードに埋め込まれた拡張ポイントは、データをカスタムコードに渡すアウトポイントとして、そして返される結果を処理するインポイントとして機能します。アプリケーションを作成するときに、返されるデータまたはオブジェクトは、拡張ポイントに対して定義した要件に準拠している必要があります。
拡張ポイントのタイプ
- スクリプト拡張ポイント
- 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 スクリプトに対応するために、アプリケーションコードのどこに拡張ポイントを配置するかを指定します。
- 決定する 拡張ポイントのコンテンツと構造。この定義では、カスタマイズの構成方法、アプリケーションコードとのやり取りの方法、および拡張ポイントでカスタマイズによって返されるデータを処理する方法について説明します。
- 拡張ポイントを作成し、そのカスタムインターフェイスを定義します。これはスクリプトによる拡張ポイントの例です。
- データまたはオブジェクトをカスタマイズに送信でき、データが返されるアプリケーションコード内の特定の場所を指定します。
- メソッドを呼び出す GlideScriptedExtensionPoint - スコープ対象 スクリプトインクルード、UI マクロ、UI スクリプトなどのアーティファクトを作成します。このメソッドは、登録されたカスタムアーティファクトがアプリケーションコード内で実行される拡張ポイントを識別します。
デバッグとロギングの有効化
拡張ポイントを作成するときは、デバッグとロギングも有効にする必要があります。デバッグとロギングは、拡張ポイントを持つカスタムアーティファクトの使用に関連する問題を特定して修正するのに役立ちます。デバッガーを有効にすると、スクリプトインクルード、UI マクロ、または UI スクリプトにブレークポイントを設定できます。ログを確認して、次の詳細を確認できます。
- 拡張ポイントがアクティブな拡張インスタンスを検出した日時 (検出された拡張インスタンスの総数と各拡張インスタンスが検出された時間を含む)。
- 拡張ポイントが拡張インスタンスを実行した日時 (実行されたカスタムアーティファクトの総数と各実行時間を含む)。実行に失敗した総数と各拡張インスタンスが失敗した時刻も含まれます。
拡張ポイントに対してカスタムアーティファクトを登録する
アプリケーションをカスタマイズするときは、サーバー側スクリプトインクルード、UI マクロ、クライアント側 UI スクリプトなどのカスタムアーティファクトを使用して基本機能を拡張します。カスタムアーティファクトを設計および構築するには、次のタスクを実行します。
- 作成している特定のタイプのカスタムアーティファクトに適した、使用可能な拡張ポイントのリストを確認します。
- これらのリストには、作成した拡張ポイントと、Now Platform 機能に埋め込まれた事前定義済みの拡張ポイントが含まれます。
- 各リストには、カスタムアーティファクトを呼び出すアプリケーションコードの拡張ポイントと、返されるデータまたはオブジェクトに関する情報が含まれます。
- 拡張ポイントを選択します。
- カスタムアーティファクトの構成方法を決定します。構造は拡張ポイントの説明に基づいている必要があります。説明には、カスタムコードでアーティファクトを使用するための要件と、基本アプリケーションコード内のアーティファクトが配置される場所が含まれます。
- 選択した拡張ポイントに対して登録するときにカスタムアーティファクトとコードを作成します。登録では、カスタムアーティファクト内の実装に拡張ポイント定義をリンクする拡張インスタンスレコードを作成します。
登録済みのカスタムアーティファクトの処理方法
- API コールで拡張ポイントを使用して、どのカスタムアーティファクトが登録されているかを判断します。
- 適切なデータまたはオブジェクトを登録済みのカスタムアーティファクトに送信します。
- 各カスタムアーティファクトから返された出力を収集します。
- 返された結果を処理して基本アプリケーションに組み込みます。