ユーザー定義のヘルプの内容を追加する
公開日: 2017年1月
対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
Microsoft Dynamics 365 (オンラインおよび設置型)を使用すると、管理者は組織全体または特定のエンティティに対して表示するヘルプ ページのコンテンツを構成できます。 高度にカスタマイズされたシステムがあり、特にユーザー定義エンティティを使用する組織では、アプリケーションのヘルプ コンテンツの使用に限界があることがわかります。 管理者は、代わりに開く URL を設定することで、既定のヘルプの内容を上書きするようにシステムを構成できます。 開くページは、SharePoint サイト上の静的ページ、インターネット上の Web ページ、または Web リソースを使用して作成され、ソリューションに含まれているユーザー定義のヘルプ アプリケーションである可能性があります。
開発者は、適切な内容を表示するページを作成できるように、使用可能なオプション、および URL で渡すことができるコンテキスト情報を理解する必要があります。 また、CRM システムのカスタマイズ: ヘルプ エクスペリエンスのカスタマイズのトピックでも詳細を参照できます。
このトピックの内容
ユーザー定義のヘルプ オプション
状況依存のクエリ文字列パラメーター
Web リソースを使用してヘルプ コンテンツを作成する
ユーザー定義のヘルプ オプション
ユーザー定義のヘルプの動作は、次の表に示すように、Organization エンティティに格納されているデータと各エンティティの EntityMetadata 定義によって決まります。
システムまたはエンティティの設定 |
データ |
種類 |
説明 |
---|---|---|---|
システムの設定: カスタマイズ可能なエンティティにユーザー定義のヘルプを使用する |
Organization.GlobalHelpUrlEnabled |
ブール値 |
ユーザー定義のヘルプが組織に対して有効になっているかどうかを示します。 |
システムの設定: グローバルのユーザー定義のヘルプの URL |
Organization.GlobalHelpUrl |
文字列 |
組織に対するグローバルのヘルプの URL。 |
システムの設定: URL にパラメータを追加する |
Organization.GlobalAppendUrlParametersEnabled |
ブール値 |
コンテキスト情報のあるクエリ文字列パラメーターをヘルプ URLに追加するかどうかを示します。詳細:状況依存のクエリ文字列パラメーター |
エンティティ設定:ユーザー定義のヘルプを使用する |
EntityMetadata.EntityHelpUrlEnabled |
ブール値 |
ユーザー定義のヘルプがエンティティに対して有効になっているかどうかを示します。 |
エンティティの設定: ヘルプ URL |
EntityMetadata.EntityHelpUrl |
文字列 |
このエンティティに表示されるユーザー定義のヘルプ ページ。 |
適用される設定の組合わせにより、表示されるヘルプ トピックが決まります。 次の表にオプションを示します。
Organization.GlobalHelpUrlEnabled |
Organization.GlobalHelpUrl |
EntityMetadata.EntityHelpUrlEnabled |
EntityMetadata.EntityHelpUrl |
動作 |
---|---|---|---|---|
false |
なし |
なし |
なし |
既定のヘルプ ページを開く |
True |
いいえ |
false |
なし |
既定のヘルプ ページを開く |
True |
いいえ |
True |
いいえ |
既定のヘルプ ページを開く |
True |
いいえ |
True |
はい |
エンティティ ヘルプ ページを開く |
True |
はい |
True |
はい |
エンティティ ヘルプ ページを開く |
True |
はい |
True |
いいえ |
グローバル URL ページを開く |
True |
はい |
false |
なし |
グローバル URL ページを開く |
注意
グローバル ヘルプを有効にすると、ユーザー定義ページは、アプリケーションのヘルプ ボタンが使用されるといつでも表示されます。これには、アプリケーションのカスタマイズ可能領域に関連しないページも含まれます。 これにより管理者にとって重要なコンテンツが隠れてしまうため、通常、ユーザー定義のヘルプはエンティティごとに適用する必要があります。
状況依存のクエリ文字列パラメーター
Organization.GlobalAppendUrlParametersEnabledが trueの場合、次のクエリ文字列パラメーター値がユーザー定義のヘルプ URLに追加される可能性があります。
パラメーター |
説明 |
---|---|
entrypoint |
ヘルプが開かれたページの種類。 可能な値は hierarchychart と formです。 このパラメーターは、ヘルプがリスト ビューから開かれた場合、含まれていません。 |
formid |
ヘルプが開かれたフォームまたは階層グラフのGUID値。 |
typename |
ヘルプ コンテンツが開らかれたエンティティの論理名。 |
userlcid |
現在のユーザーが使用する言語コードの識別子です。有効なロケール ID 値については、「Locale ID (LCID) Chart (ロケール ID (LCID) の一覧)」で確認することができます。 |
クエリ文字列値のアクセス
次の HTML は、JavaScriptを使用してクエリ文字列値にアクセスする方法を示す例です。 このページは、これらのパラメータの値が渡されると、それらの値を示す表を表示します。
<!DOCTYPE html>
<html>
<head>
<title>Help topic</title>
<style>
body {
font-family: 'Segoe UI';
}
</style>
<script type="text/javascript">
function getQueryStringParameter(parameter) {
/// <summary>Parses query string values passed to the page and returns the value for the requested parameter or 'null'</summary>
/// <param name="parameter" type="String">The parameter value to look for</param>
/// <returns type="String" />
var query = window.location.search.substring(1);
var params = query.split("&");
for (var i = 0; i < params.length; i++) {
var pair = params[i].split("=");
if (pair[0] == parameter) {
return pair[1];
}
}
return "null";
}
document.onreadystatechange = function () {
if (document.readyState == "complete") {
var entrypointValue = getQueryStringParameter("entrypoint");
var formidValue = getQueryStringParameter("formid");
var typenameValue = getQueryStringParameter("typename");
var userlcidValue = getQueryStringParameter("userlcid");
if ((document.documentMode) && (document.documentMode <= 8))
{
//If page is being displayed in IE Compatibility mode
document.getElementById("entrypointValue").innerText = entrypointValue;
document.getElementById("formidValue").innerText = formidValue;
document.getElementById("typenameValue").innerText = typenameValue;
document.getElementById("userlcidValue").innerText = userlcidValue;
}
else
{
document.getElementById("entrypointValue").textContent = entrypointValue;
document.getElementById("formidValue").textContent = formidValue;
document.getElementById("typenameValue").textContent = typenameValue;
document.getElementById("userlcidValue").textContent = userlcidValue;
}
}
}
</script>
</head>
<body>
<p>This is a custom help topic that can accept query string parameters</p>
<table>
<thead><tr><th>Parameter</th><th>Value</th></tr></thead>
<tbody>
<tr><td>entrypoint</td><td id="entrypointValue">null</td></tr>
<tr><td>formid</td><td id="formidValue">null</td></tr>
<tr><td>typename</td><td id="typenameValue">null</td></tr>
<tr><td>userlcid</td><td id="userlcidValue">null</td></tr>
</tbody>
</table>
</body>
</html>
Web リソースを使用してヘルプ コンテンツを作成する
ヘルプ コンテンツとして HTML Web リソースを使用すると、記述するユーザー定義エンティティのソリューションにそれらのリソースを共に含めることができるという利点があります。 これらのページでJavaScript を使用して、Dynamics 365 データやメタデータにアクセス、フォームの現在のフィールドを反映する動的コンテンツを提供、またはユーザーに割り当てる特権に関する情報を取得することができます。
Organization.GlobalHelpUrl と EntityMetadata.EntityHelpUrl フィールドは、有効なプロトコルのフォーマット設定が必要のない簡単な文字列値です。 これにより、Web リソースを表す URL に相対パス記述を使用できます。それにより、Web リソースへの参照は、ソリューションを使用してヘルプ コンテンツをある組織から別の組織に移動する際に変更する必要がありません。 特定の Web リソースは、次のような相対 URL を使用して、参照されます。
/WebResources/new_/help/content/account.htm
重要
ユーザーがサーバー上の複数の組織に属している場合、このパスは常にユーザーの既定の組織を参照します。 ユーザーが既定の組織を使用せず、想定される Web リソースがユーザーの既定の組織に含まれていない場合は、Web リソースがユーザーの現在作業している組織内にあっても、ファイルが見つからないエラーが発生します。 同じ名前の Web リソースが既定の組織に存在する場合、その組織の Web リソースが表示され、現在の組織では正しくない場合があります。
これにより組織のユーザーに問題が発生する場合、この設定の URL 値が更新され、組織の基本 URL が組織のWeb リソースの相対 URL の値の前に追加されます。
関連項目
EntityMetadata
CRM システムのカスタマイズ: ヘルプ エクスペリエンスのカスタマイズ
Microsoft Dynamics 365 アプリケーションをカスタマイズする
Microsoft Dynamics 365 の Web リソース
Webpage (HTML) の Web リソース
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 著作権