# ウェブアプリケーションの設定

[アプリケーション設定](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications/..#managingapplications-configuringapplications)ページで**Web**アプリケーションタイプを選択すると、**Web設定**セクションが表示され、そこに様々な設定オプションを含む複数のタブがあります。

<figure><img src="https://3549141153-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeLm8O7QKZDn6z806e7Sv%2Fuploads%2Fgit-blob-489fce2c6fb509c9f5db5ee20dd7e6436057df2f%2Fimage%20(538).png?alt=media" alt=""><figcaption></figcaption></figure>

## Webアプリケーションの一般設定の構成

選択したWebアプリケーションの[アプリケーション設定](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications)ページの**アプリケーション設定** > **一般**タブから：

{% stepper %}
{% step %}
必要に応じて[マッチングするアプリケーションのデフォルト設定をインポート](#configuringwebapplications-understandingurlpatterns-1)して、テンプレートとして使用します。 この機能を利用するにはNexthink Adoptが必要です。
{% endstep %}

{% step %}
[URL パターン](#configuringwebapplications-understandingurlpatterns-2)を定義します。
{% endstep %}

{% step %}
必要に応じて、[デジタル採用](https://docs.nexthink.com/platform/ja/adopt/getting-started-with-adopt/deploying-a-guide-end-to-end-procedure#step-1-create-and-set-up-a-guide-in-nexthink)のトグルボタンを有効にして、アプリ内ガイドを構成およびデプロイします。 この機能にはNexthink Adoptが必要です。
{% endstep %}

{% step %}
[URLを収集する](#configuringwebapplications-collectingurls)オプションを確認または無効にします。
{% endstep %}

{% step %}
[ソフトナビゲーション](#configuringwebapplications-activatingsoftnavigations)を確認または無効にします。
{% endstep %}

{% step %}
[既存のキャンペーン](#configuringwebapplications-connectingwithexistingcampaigns)に接続します。
{% endstep %}
{% endstepper %}

以下の各ステップを詳しく掘り下げてください。

{% hint style="info" %}
このページで説明されている**一般**タブのフィールドを設定した後、特定のウェブアプリケーションの残りの設定タブを設定することができます。

* [キーページ](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications/configuring-web-applications/key-pages)
* [トランザクション](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications/configuring-web-applications/transactions)
* [ライセンス](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications/configuring-web-applications/application-licenses)
* [閾値](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications/configuring-web-applications/thresholds)
  {% endhint %}

***

### ビルトインのデフォルト設定をテンプレートとしてインポート——オプション

{% hint style="info" %}
Webアプリケーションの組み込みのデフォルト設定をインポートするには、[Nexthink Adopt](https://docs.nexthink.com/platform/ja/user-guide/adopt)が必要です。

この機能は、Nexthink ライブラリからインストールされたアプリケーションとは異なります。
{% endhint %}

<details>

<summary>組み込みアプリケーションテンプレートとNexthink Libraryからインストールされたアプリケーションの比較</summary>

デフォルトのアプリケーションテンプレートを使用する場合と、Nexthink Libraryからインストールされたアプリケーションを使用する場合の主な違い:

* 選択した設定テンプレートをインポートして実装した後は、これらのデフォルト設定を編集したり削除したりすることはできません。
* Nexthink による組み込みデフォルト設定の変更は、ウェブアプリケーションの構成を保存した後でも、これらのインポートされた設定を使用するすべてのアプリケーションに影響を与えます。

</details>

Nexthink では、デフォルトの Web アプリケーション設定をインポートし、事前定義されたキー ページおよび **CSS セレクタ**を使用して、Adopt アプリ内ガイドを正しく表示できます。 詳細については、[#using-selectors-from-application-templates](https://docs.nexthink.com/platform/ja/adopt/guide-creation-and-management-from-nexthink-applications/configuring-adoption-settings#using-selectors-from-application-templates) を参照してください。

Web アプリケーション設定は、アプリケーション テンプレートからのキーページを表示しません。 とはいえ、これらのアプリケーションテンプレートのキー ページは、ガイド関連の条件や Adopt エディタ設定を構成するときに利用可能です。

デフォルトのアプリケーションテンプレートをインポートするには、選択した Web アプリケーションの **アプリケーション設定** ページから:

1. **アプリケーション設定** > **一般**タブを開きます。
2. **設定モード**のドロップダウンから、組み込みのアプリケーション設定テンプレートを選択します。

{% hint style="warning" %}
組み込みテンプレート設定を選択する前に、現在のアプリケーション設定をエクスポートしてください。組み込みのデフォルトを選択すると、元に戻すことはできません。

組み込みのデフォルト設定は、特定のアプリケーションのセットにのみ利用可能です。 事前定義されたセレクタは、一部のアプリケーションでのみ使用可能です。 サポートされているアプリケーションの一覧については、[#supported-templates](https://docs.nexthink.com/platform/ja/adopt/guide-creation-and-management-from-nexthink-applications/configuring-adoption-settings#supported-templates) を参照してください。
{% endhint %}

<figure><img src="https://3549141153-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeLm8O7QKZDn6z806e7Sv%2Fuploads%2Fgit-blob-202a8f4393627530776f0bbf81857c5393cbb6b6%2Fimage%20(522).png?alt=media" alt=""><figcaption></figcaption></figure>

***

### URLパターンの追加 <a href="#configuringwebapplications-understandingurlpatterns" id="configuringwebapplications-understandingurlpatterns"></a>

監視したいウェブアプリケーションのURLパターンを追加します。 以下を考慮してください：

* URL の一致パターンは以下の構造を持っています：`<scheme>://<host><path>`
* URLの照合パターンにはワイルドカードを含めることができますが、ポート番号を指定することはできません。
* システムでは、スキームを`*://<host><path>`とするワイルドカードの使用が強制されるため、常にHTTPおよびHTTPSの両方に一致します。
* ビジネスアプリケーションを管理するユーザーは、`<host><path>`の簡略化された構造でURLパターンを表示および入力します。
* 内部的には、すべてのソフトウェアコンポーネントが、スキームを含む完全なURLマッチパターンを処理する必要があります: `<scheme>://<host><path>`

<details>

<summary>NexthinkのURLパターン検証ロジックについて</summary>

{% hint style="info" %}
ウェブアプリケーションの設定を続行するには、[#configuringwebapplications-collectingurls](#configuringwebapplications-collectingurls "mention")セクションにジャンプしてください。つまり、**General**タブの残りのフィールドです。
{% endhint %}

Nexthinkアプリケーションは、保存する前にパターンを検証するための以下のルールセットを使用します。

1. ユーザーは少なくとも1つのURLマッチパターンを入力する必要があります。
2. 現在、`http://` または `https://` のようなスキームの指定はサポートされておらず、それは必ず`*://` でなければなりません。
3. ユーザーが`*://` を指定しない場合、フォームは自動的に`*://` プレフィックスを追加します。
4. ユーザーがポート番号を含むURLを入力すると、フォームはエラーメッセージを表示します。
5. ホストコンポーネントは、完全修飾ドメイン名(FQDN)の一部を続ける形で`*.` で始めることができます。 このパターンは、`*.` ワイルドカードの後に入力した表現とまったく同じホスト名にもマッチすることに注意してください。
6. ホストコンポーネントは、`*.` ワイルドカードで始まる場合、完全かつ有効なドメイン名で終わる必要があります。
7. ホストコンポーネントは、`*.` ワイルドカードで始まらない場合、ローカルホスト名だけを含むことができます（例: ドメイン名なし）。 これはFQDNを使用しない内部ウェブアプリケーションをサポートするためです。
8. `/*` 以上でパスを指定する必要があります。 ユーザーがパスを入力しない場合、フォームロジックはすべてのパスにマッチするように`/*` を追加します。
9. パスは`*` ワイルドカードで終わらなければなりません。パスがそうでない場合、フォームロジックがパターンに`*` を追加します。
10. パスには`*` ワイルドカードを1つ以上含むことはできません。
11. パターンにはクエリ文字列 `(?...)` を含めてはなりません。 ユーザーがクエリ文字列を含むURLを入力すると、エラーメッセージが表示されます。
12. パターンにはフラグメント `(#...)` を含めてはなりません。ユーザーがフラグメントを含むURLを入力した場合、エラーメッセージが表示されます。
13. 検証ロジックは、すべてのアプリケーションにおいて、互いに交差するパターンを防止します。
14. ワイルドカードを任意の単語で置き換え、最初に`http://` を追加した後、パターン全体が標準的なURLとして検証されなければなりません。 たとえば、ユーザーがパターン`*.example.com/foo/*` を入力した場合、展開された形式 `http://www.example.com/foo/bar` は標準的なURL検証ライブラリを使用して簡単に検証できます。
15. ホスト部分としてexample.comのようにドメイン名のみを入力することは有効です。 しかし、`www.example.com.` のようなホスト名を持つURL名にマッチしません。
16. フォームロジックはユーザーが入力したパターンを自動修正し、これはテキストボックスからフォーカスを失った直後に行われ、ユーザーインターフェースはユーザーが送信する前に変更を確認できるようにします。
17. 少なくとも1つのURLが両方のパターンによって一致した場合、パターンは互いに交差します。 明示的に、パターンA1とB1が交差するのは、以下のすべての条件が真である場合です。
    * ホスト部分の先頭からワイルドカードを最終的に取り除いた後、`A1.host` が `B1.host` で終わる、または `B1.host` が `A1.host` で終わる。
    * パスの末尾からワイルドカードを取り除いた後、`A1.path` が `B1.path` で始まる、または `B1.path` が `A1.path` で始まる。

</details>

<figure><img src="https://3549141153-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeLm8O7QKZDn6z806e7Sv%2Fuploads%2Fgit-blob-5a6233dd9121222b5ed966a4aa9f0685517ef7bf%2Fimage%20(539).png?alt=media" alt=""><figcaption></figcaption></figure>

以下のURLパターンの例をご覧ください:

<details>

<summary>有効なパターンの例</summary>

以下の URL パターンの例は、ウェブアプリケーションに有効です：

* `www.example.com/*`は、`http://www.example.com/`または`https://www.example.com/`で始まるすべてのURLに一致します。
* `*.example.com/*`は、`example.com`、`www.example.com`、`intra.example.com`、`support.intra.example.com`などに一致します。
* `*.intra.example.com/*` は、`intra.example.com`、`support.intra.example.com`などに一致します。
* `example.com/*` は、`*://example.com/*` のみに一致します。
* `www.example.com/foo/*` は、`*://www.example.com/foo/`で始まるすべてのURLに一致します。
* `myintranet/*` は、内部アプリケーションに対して有効なパターンです。
* `www.example.com/foo/*` は、存在するアプリケーションの一致パターンです。 この場合、以下のパターンを任意のアプリケーションで使用することができます:
  * `*.example.com/bar/*`
  * `www.example.com/foobar/*`
  * `*.another-example.com/foo/*`
  * `test.example.com/foo/*`

</details>

<details>

<summary>無効なパターンの例</summary>

以下のURLパターンの例は、アプリケーションには無効です:

* `www.example.*/*`
* HTTPSのプロトコルがあるため、`https://*.example.com/*`は無効です
* `www.*.com/*`
* `www.*.example.com/*`
* クエリ文字列コンポーネントがサポートされていないため、`www.example.com/foo?bar`は無効です
* `*/*`
* `www.example.com/foo#bar` #URL のハッシュ成分はアプリケーション URL でサポートされていないため
* ポートが原因で、`*.example:1234.com/*`は無効です（代わりに`*.example.com/*`を使用し、すべてのポートをサポートします）
* `*.example.com/#foo`
* ホストコンポーネント内のアスタリスクの後にドットがないため、`*example.com/*`は無効です
* パス内にワイルドカードを1つしか許可されていないため、`www.example.com/foo/*/bar/*`は無効です
* ホスト部分に1つしかワイルドカードが許可されていないため、`*.customer.*.example.com/*`は無効です
* `www.example.com/foo*`は、既存のアプリケーション一致パターンです。 この場合、次の交差パターンを任意のアプリケーションで使用することはできません:
  * `*.example.com/foo/*`
  * `www.example.com/foobar/*`
  * `www.example.com/fo*`
  * `www.example.com/foo/bar/*`

</details>

<details>

<summary>自動修正されたパターンの例</summary>

* `www.example.com` が `*://www.example.com/*` に変わります。
* `www.example.com/` が `*://www.example.com/*` に変わります。
* `www.example.com/foo/` が `*://www.example.com/foo/*` に変わります。
* `www.example.com/foo` が `*://www.example.com/foo/*` に変更されます
* `example.com` が `*://example.com/*` に変更されます
* `*.example.com` が `*://*.example.com/*` に変更されます

</details>

<details>

<summary>標準外ポートのURLパターン使用例</summary>

以下のURLを使用して、企業の文書管理システムにアクセスしてください。

`https://prod.doxydoc.local:32890/start.phpを参照してください`

業務アプリケーションの設定中に、以下のパターンを使用する必要があります。

`*://prod.doxydoc.local/start.php*`

</details>

***

### URLを収集する <a href="#configuringwebapplications-collectingurls" id="configuringwebapplications-collectingurls"></a>

{% hint style="warning" %}
**URL の収集**オプションはデフォルトで有効になっており、アプリケーションの[キーページ](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications/configuring-web-applications/key-pages)の設定を容易にします。
{% endhint %}

URLを収集するかどうかを決定する際は、以下を考慮してください。

* **Collect URLs**を有効にすると、適切な権限を持つNexthinkユーザーアカウントが従業員がアクセスした個々のURLを閲覧できるようになります。
* **URLを収集する**を無効にすると、システムは拡張レベルでのURLの収集を停止します。
* システムは、[サニタイザー](#about-nexthink-urls-sanitization)を使用してデータプライバシーを保護するためにURLを切り詰めて表示します。

<details>

<summary>Nexthink URLs のサニタイズについて</summary>

{% hint style="info" %}
ウェブアプリケーションの設定を続行するためには、 [#configuringwebapplications-activatingsoftnavigations](#configuringwebapplications-activatingsoftnavigations "mention") セクションに移動してください。つまり、**一般**タブの残りの項目です。
{% endhint %}

可能な限り、Nexthinkは収集した全てのURLをサニタイズして、機密情報を隠すようにしています。 これは、個人データや構成の秘密情報、特定のクエリ文字列のパターンを削除する試みとして行われます。

覚えておいてください、URLはウェブリソースのユニークな識別子として機能する文字列であり、4つの主要な要素で構成されています:

* **オリジン**は、プロトコル（ `http` または `https` ）、ホスト名（ `http://nexthink.com` ）、ポート番号（ `80` または `443` ）を含み、例えば `https://nexthink.com:443` です。
* **パス名**は、サーバー上のリソースの正確な位置を示し、例えば `/company/about-us` です。
* **ハッシュ**とは、Web ページの現在の状態やユーザー設定のような情報をブラウザに保持するための URL のオプションの成分です。 また、ハッシュ（ `#` ）から始まり、後に文字列が続きます。例えば、URL `confluence.nexthink.com/pages/urlsanitisaation#url-sanitisation-rules` では、ハッシュ部分は `#url-sanitisation-rules` です。
* **クエリパラメータ**は、サーバーに追加情報を提供するオプションのキーと値のペアです。 それらは疑問符（ `?` ）で始まり、アンパサンド（ `&` ）で区切られています。例えば `?projectKey=DCBSM&view=detail` です。 クエリパラメータは系統的にサニタイズされます。 システムは各キー値ペアを `[key]` と置き換えます。例えば：
  * `https://confluence.intra.nexthink.com/pages/viewrecentblogposts.action?key=AppExEP` は `[key]` によってサニタイズされます：\
    `https://confluence.intra.nexthink.com/pages/viewrecentblogposts.action?[key]`

**URLサニタイズメカニズム**

URLサニタイズメカニズムは、送信前にURLから機密情報を取り除くことを目的としています：

1. 最初に、`?key1=value1&key2=value2` のようなクエリパラメータをすべて削除し、鍵を角括弧で囲んで `?[key1]&[key2]` のみを保持します。
2. ハッシュセグメント内の他のアンカーを `[anchor]` コードに置き換えます。
3. 以下に記載されている特定のパターンに基づいて、さらにURLをサニタイズします。
4. 最後に、URLを必要に応じて切り詰めます。

このプロセスは、URLで誤って機密データが漏洩しないことを保証します。

**パターンマッチとタグの置換**

システムがアプリケーションのURLをサニタイズするために使用する一般的なコードの例:

| \[code] | 説明                                                                                                      |
| ------- | ------------------------------------------------------------------------------------------------------- |
| \[uuid] | ユニバーサル一意識別子 (UUID) (`3c9dee20-52e9-4ff7-b2ee-e672342bce56`)                                             |
| \[id]   | ID番号: `/`で始まり、`/`または`?`で終わる英数字の連番。 非数字文字は、次のいずれかでなければなりません： `.`、 `,`、 `_`、 `\`、 `-`。 他の文字は数字である必要があります。 |
| \[json] | `{"?????????"}`形式のシーケンスで、`?????????`には任意の単語、数字、または次の文字`%`, `\`, `.`, `,`, `:`, `_`, `-`, を含めることができます。   |
| \[gib]  | 識別番号、例えば: MS Outlookでの識別番号の後に続くメールIDでは, `http://outlook.office.com/mail/inbox/id/`です。                   |
| \[hex]  | 16進値: 33以上の連続した16進数範囲の英数字: a-fおよび0-9。                                                                   |
| \[int]  | 整数値: 少なくとも4つの連続した数字のシーケンス。                                                                              |

これらのパターンはすべてのアプリケーションに対してグローバルに指定されています。 **サニタイズされたURL**のいずれかの部分がパターンのいずれかに一致する場合、それは対応するタグに置き換えられます。

**例:**

* `https://community.nexthink.com/s/profile/0052p00000BURowAAH`を `[hex]` でサニタイズ: `https://community.nexthink.com/s/profile/[hex]`
* `https://outlook.office.com/mail/inbox/id/AAQkAGJhYmFkMTUxLTQ5NzgtNDNlZi1iZDkzLTQ2YzEwNDIwYzA0YgAQAKafeoP2TMVDozSlcBq2JGU%3D`を `[gib]` でサニタイズ: `https://outlook.office.com/mail/inbox/id/[gib]`

</details>

<details>

<summary>Nexthink URL サニタイズの概要</summary>

{% hint style="info" %}
ウェブアプリケーションの設定を続行するには、[#configuringwebapplications-activatingsoftnavigations](#configuringwebapplications-activatingsoftnavigations "mention") セクションに移動します。つまり **General** タブの下に残るフィールドです。
{% endhint %}

次の表は、NexthinkによるURLサニタイズプロセスを要約しています:

| サニタイズステップ       | 説明                                 | 例URL                                                                      | サニタイズされたURL                                            |
| --------------- | ---------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------ |
| クエリパラメータのサニタイズ  | キーとバリューのペアはキーで置き換えられます             | `https://nexthink.com?key1=value1&key2=value2を参照してください`                   | `https://nexthink.com?[key1]&[key2を参照してください]`          |
| ハッシュセグメントのサニタイズ | アンカーハッシュセグメントおよびクエリハッシュセグメントは隠されます | `https://nexthink.com#?name=John#custom-anchor`                           | `https://nexthink.com#?[name]#[anchorを参照してください]`       |
| URLトークンのサニタイズ   | URLはパターンマッチとタグ置換を用いてサニタイズされます      | `https://nexthink.com/2024/2fff5c59-18ba-44d3-bd95-4bee056f68caを参照してください` | `https://nexthink.com/[int]/[uuidを参照してください]`           |
| URL短縮           | URLが最大長を超える場合は切り捨てられます             | `https://nexthink.com/custom-path/very/very/long/url`                     | `https://nexthink.com/custom-path/very/veを参照してください...` |

</details>

{% hint style="info" %}
**サニタイズされたURL**には、最大許容長が設定されています。 サニタイズされたURLが制限を超えると、Nexthinkは余分な部分を削除し、URLの一部が欠けていることを示すために三点リーダー (`...`) を追加します。
{% endhint %}

<figure><img src="https://3549141153-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeLm8O7QKZDn6z806e7Sv%2Fuploads%2Fgit-blob-a8e999d92f9308db297866c442ca6fdc6469890c%2Fimage%20(540).png?alt=media" alt="Collecting URL in Applications"><figcaption></figcaption></figure>

***

### ソフトナビゲーションの有効化 <a href="#configuringwebapplications-activatingsoftnavigations" id="configuringwebapplications-activatingsoftnavigations"></a>

{% hint style="warning" %}
**ソフトナビゲーション測定の有効化**は既定で有効になっています。 不安定なページを持つWebアプリケーションには、このオプションを無効にします—ページの読み込み時間が長くなる可能性があります。
{% endhint %}

ソフトナビゲーションにより、ブラウザが新しいページを読み込まずに行う非同期ページ読み込みの速度を測定することができます。 これはシングルページアプリケーション (SPA) では非常に一般的です。 ソフトナビゲーションはページが安定するのにかかる時間を測定します。

***

### 既存のキャンペーンとの接続 <a href="#configuringwebapplications-connectingwithexistingcampaigns" id="configuringwebapplications-connectingwithexistingcampaigns"></a>

Nexthink Applications は、既存の[キャンペーン](https://docs.nexthink.com/platform/ja/user-guide/campaigns)と接続することを可能にします。 接続を行うには：

1. ターゲットキャンペーンからユニーク識別子 (UID) をピックし、**EngageキャンペーンUID**フィールドに貼り付けます。
   * エンゲージキャンペーン・ライセンスが必要です。
2. または、Nexthinkメインメニューから**キャンペーン**に移動し、接続したいキャンペーンをリストから選択することでUID値にアクセスできます。 キャンペーンのUIDをURLの一部として見つけてください。

アプリケーションにキャンペーンがリンクされると、特定のアプリケーションページに**センチメント**タブが表示されます。 適切な権限を持っていることが必要です。 **Sentiment**タブをクリックすると、関連するキャンペーンのダッシュボードを新しいタブで開くことができます。

***

関連タスク

このページで説明されている**一般**タブのフィールドを設定した後、Webアプリケーションの残りの設定タブを構成できます：

* [キー ページ](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications/configuring-web-applications/key-pages)
* [トランザクション](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications/configuring-web-applications/transactions)
* [アプリケーションライセンス](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications/configuring-web-applications/application-licenses)
* [閾値](https://docs.nexthink.com/platform/ja/user-guide/applications/configuring-applications/configuring-web-applications/thresholds)

関連トレーニング

* [アプリケーションモジュールの構成方法](https://learn.nexthink.com/courses/how-to-configure-applications-module)
