Dynamics 365 でのサポート情報記事に関する作業

 

公開日: 2017年1月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

Microsoft Dynamics 365 の新しいサポート情報記事を利用して、充実したサポート技術記事を作成し、バージョン管理と翻訳サポートを実現できます。 サポート技術記事を作成して公開すると、Dynamics 365 インスタンス内のユーザーが記事を利用できるようになり、記事に含まれる情報を使って顧客に対して効果的にサービスを提供できます。KnowledgeArticle エンティティを使用して、Dynamics 365 でサポート情報をネイティブに格納および管理します。 Parature からサポート情報を利用する場合は、KnowledgeBaseRecord エンティティを使って Parature からプログラムでサポート情報記事を使用します。

このトピックでは、新しいネイティブ Dynamics 365 ナレッジ マネージメント機能の使用方法について説明します。 Dynamics 365 でサポート情報のソースとして Parature を使用する場合は、「Dynamics 365 で Parature サポート情報を使用」を参照してください。

注意

以前のサポート情報記事 (KBArticle) エンティティ モデルを使用している場合は、このトピックで後述する「以前の Dynamics 365 サポート情報記事に関する作業」を参照してください。

Dynamics 365 インスタンスで、エンティティに対するサポート情報管理機能をプログラムから有効にすることはできません。有効にするには、Dynamics 365 Web クライアントを使う必要があります。詳細:ヘルプとトレーニング: CRM でのナレッジ マネージメントの設定

このトピックの内容

サポート情報の記事を作成する

サポート情報記事のメジャー バージョンとマイナー バージョンを作成する

サポート情報記事の翻訳を作成する

サポート情報記事ライフサイクル: サポート情報記事の状態を変更する

サポート情報記事レコードと Dynamics 365 エンティティ インスタンスとの関連付け

サポート情報記事の表示回数をインクリメントする

フルテキスト検索を使用してサポート情報記事を検索する

以前の Dynamics 365 サポート情報記事に関する作業

サポート情報の記事を作成する

サポート情報記事レコードを作成すると、Dynamics 365 は内部的にレコードのルート記事を作成します。 ルート記事は、ユーザーが作成する主要なサポート情報記事と、今後作成する可能性があるすべての記事のバージョンおよび翻訳のコンテナーとして機能します。 次の図は、KnowledgeArticle エンティティのエンティティ モデルを示しています。

KnowledgeArticle エンティティ モデル

サポート情報記事レコードを作成するとき、レコードはDraft状態で作成されます。 新しい KnowledgeArticle エンティティを使用すると、HTML 形式で記事の内容と書式を指定して、記事を作成できます。これに対し、従来の KbArticle エンティティでは、記事のセクションと書式を記述したテンプレートに記事を関連付ける必要がありました。 プログラムからサポート情報記事レコードを作成する際に、KnowledgeArticle.ArticlePublicNumber 属性に独自の値を指定できます。独自の値を指定しなかった場合は、Web クライアントの Dynamics 365 設定領域に指定した書式に基づいて値が自動的に生成されます。KnowledgeArticle.ArticlePublicNumber 属性は、サポート情報記事を参照および検索するために顧客、パートナー、およびその他の外部ユーザーに公開された ID を格納し、サポート情報記事のバージョンや翻訳の全体で同じに維持されます。

次のサンプル コードは、サポート情報記事レコードの作成方法を示しています。

KnowledgeArticle newKnowledgeArticle = new KnowledgeArticle
{
   Title = "Sample Knowledge Article",
   Content = "<p>This is the article content.</p>"
};
knowledgeArticleId = _serviceProxy.Create(newKnowledgeArticle);
Console.WriteLine("Created {0}", newKnowledgeArticle.Title);

サポート情報記事のメジャー バージョンとマイナー バージョンを作成する

サポート情報記事レコードを作成すると、メジャー バージョンが 1 に、マイナー バージョンが 0 に自動的に設定されます。CreateKnowledgeArticleVersion Action (Web API) または CreateKnowledgeArticleVersionRequest (組織サービス) を使用して、サポート情報記事のメジャーまたはマイナー バージョンを作成します。 要求メッセージで、メジャー バージョンを作成するには IsMajortrue に、マイナー バージョンを作成するには false に設定します。 作成される新しいバージョン レコードには、以下が使用されます。

  • ルート サポート情報記事レコードとの関連付けを維持する KnowledgeArticle.RootArticleId 属性。

  • レコードの以前のバージョンを指す KnowledgeArticle.PreviousArticleContentId 属性。

次のサンプル コードは、CreateKnowledgeArticleVersionRequest を使用してサポート情報記事のメジャー バージョンを作成する方法を示しています。

CreateKnowledgeArticleVersionRequest versionRequest = new CreateKnowledgeArticleVersionRequest
{
   Source = new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId),
   IsMajor = true
};
CreateKnowledgeArticleVersionResponse versionResponse = (CreateKnowledgeArticleVersionResponse)_serviceProxy.Execute(versionRequest);

サポート情報記事の翻訳を作成する

CreateKnowledgeArticleTranslation Action (Web API) または CreateKnowledgeArticleTranslationRequest (組織サービス) を使用して、サポート情報記事レコードの翻訳を作成します。 サポート情報記事を 150 を超える言語に翻訳できます。サポートされている言語についての情報が、新しい LanguageLocale エンティティで提供されています。詳細:LanguageLocale (言語) エンティティのメッセージおよびメソッド

CreateKnowledgeArticleTranslation Action (Web API) または CreateKnowledgeArticleTranslationRequest (組織サービス) を使用すると、新しいサポート情報記事レコードが作成されます。このとき、ソース レコードから新しいレコードにタイトル、内容、説明、およびキーワードがコピーされ、要求で指定した言語が新しいレコードの言語として設定されます。 また、新しいレコードがメジャー バージョンかマイナー バージョンかを指定する必要があります。 新しいレコードは KnowledgeArticle.ParentArticleContentId 属性を使用して、主要なサポート情報記事レコードとの関連付けを維持します。

このメッセージを実行して応答を取得した後、応答オブジェクトからサポート情報記事レコードを取得し、タイトル、内容、説明、およびキーワードを更新して、翻訳コンテンツを追加します。

次のサンプル コードは、CreateKnowledgeArticleTranslationRequest を使用してサポート情報記事の翻訳を作成する方法を示しています。

CreateKnowledgeArticleTranslationRequest translationRequest = new CreateKnowledgeArticleTranslationRequest
{
   Source = new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId),
   Language = new EntityReference(LanguageLocale.EntityLogicalName, languageLocaleId), //languageLocaleId = GUID of the Primary Key of LanguageLocale record
   IsMajor = true    // Creating a major version 
};
CreateKnowledgeArticleTranslationResponse translationResponse = (CreateKnowledgeArticleTranslationResponse)_serviceProxy.Execute(translationRequest);

// Retrieve the new knowledge article record
KnowledgeArticle respObject = (KnowledgeArticle)_serviceProxy.Retrieve(KnowledgeArticle.EntityLogicalName, 
      translationResponse.CreateKnowledgeArticleTranslation.Id, new ColumnSet(true));

注意

LanguageLocaleId エンティティ内の各レコードに対する主キー (LanguageLocale) の GUID 値は、すべての Dynamics 365 組織で同じです。

サポート情報記事ライフサイクル: サポート情報記事の状態を変更する

サポート情報記事は、ライフサイクルの過程で次の状態になります。

  • 0: 下書き (サポート情報記事が作成された後)

  • 1: 承認済み (サポート情報記事が承認された後)

  • 2: スケジュール済み (サポート情報記事の公開スケジュールが設定された後)

  • 3: 公開済み (サポート情報記事が公開された後)

  • 4: 期限切れ (公開時に指定された有効期限に従ってサポート情報記事が期限切れになった後)

  • 5: アーカイブ済み (サポート情報記事がアーカイブされた後)

  • 6: 廃棄済み (サポート情報記事が廃棄された後)

記事の状態を変更するには、サポート情報記事レコードで Update メッセージを使用して、KnowledgeArticle.StateCode 属性を更新します。 事前バインド型の場合は、KnowledgeArticleState 列挙体を使用して可能な状態を設定します。詳細:[更新] を使用して特化された操作を実行する

次のサンプル コードは、サポート情報記事レコードの公開方法を示しています。

// Retrieve the knowledge article record
KnowledgeArticle myKnowledgeArticle = (KnowledgeArticle)_serviceProxy.Retrieve(
        KnowledgeArticle.EntityLogicalName, knowledgeArticleId, new ColumnSet("statecode"));

// Update the knowledge article record
myKnowledgeArticle.StateCode = new OptionSetValue((int)KnowledgeArticleState.Published);
UpdateRequest updateKnowledgeArticle = new UpdateRequest
{
    Target = myKnowledgeArticle
};
_serviceProxy.Execute(updateKnowledgeArticle);

サポート情報記事レコードと Dynamics 365 エンティティ インスタンスとの関連付け

Dynamics 365 で Web クライアントを使ってエンティティに対する埋め込みのサポート情報検索を有効にすると、多対多の関連付け (msdyn_<Entity_Name>_knowledgearticle) が自動的に作成されます。 この関連付けを使って、KnowledgeArticle インスタンスを Dynamics 365 エンティティ インスタンスにプログラムから関連付けまたはリンクすることができます。KnowledgeArticle インスタンスをエンティティ インスタンスに関連付けると、関連付けのレコードは、msdyn_<Entity_Name>_knowledgearticle という名前の交差するエンティティ内に作成されます。 たとえば、初めて、KnowledgeArticle インスタンスを Account インスタンスに関連付けるとき、msdyn_account_knowledgearticle という名前の交差するエンティティが作成され、関連付けのマッピングを持つレコードがこの交差するエンティティで作成されます。 既定では、Incident (サポート案件) エンティティは埋め込みのサポート情報検索に対して有効であり、KnowledgeArticle レコードを Incident レコードにリンクすると、関連付けレコードは、KnowledgeArticleIncident という交差エンティティ内に作成されます。

次のサンプル コードは、KnowledgeArticle インスタンスを Account インスタンスに関連付ける方法を示しています。

// Associate the knowledge article record with an account record

// Step 1: Create a collection of knowledge article records that will be 
// associated to the account. In this case, we have only a single
// knowledge article record to be associated.
EntityReferenceCollection relatedEntities = new EntityReferenceCollection();
relatedEntities.Add(new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId));

// Step 2: Create an object that defines the relationship between knowledge article record and account record.
// Use the many-to-many relationship name (msdyn_account_knowledgearticle) between knowledge article
// record and account record.
Relationship newRelationship = new Relationship("msdyn_account_knowledgearticle");

// Step 3: Associate the knowledge article record with the account record.
_serviceProxy.Associate(Account.EntityLogicalName, accountId, newRelationship, relatedEntities);

サポート情報記事の表示回数をインクリメントする

IncrementKnowledgeArticleViewCountRequest メッセージを使用して、KnowledgeArticleViewsエンティティ内の特定日のサポート情報記事レコードの表示回数をインクリメントします。 指定した日のサポート情報記事のレコードが存在しない場合は、レコードが作成され、指定した表示回数の値が KnowledgeArticleViews.KnowledgeArticleView 属性に設定されます。 指定した日のサポート情報記事のレコードが既に存在する場合は、既存のレコードの KnowledgeArticleViews.KnowledgeArticleView 属性内の表示回数がインクリメントされます。

フルテキスト検索を使用してサポート情報記事を検索する

Dynamics 365 のサポート情報記事には、個々のバージョンと翻訳を含めて、フルテキスト インデックスが作成され、SQL Server のフルテキスト検索がサポートされています。 フルテキスト検索の詳細については、「SQL Server: フルテキスト検索」を参照してください。

FullTextSearchKnowledgeArticleRequest メッセージを使用してアプリケーションからサポート情報記事を検索し、探している情報を見つけます。FullTextSearchKnowledgeArticleRequest メッセージでは、語尾変化のある単語の語幹の一致を使用できます (検索文字列の異なる時制や語尾変化に対応できる)。また、指定したテキストが出現するサポート情報記事を検索するためのクエリ条件を指定できます (FetchXML や QueryExpression を使用してフィルター、順序、並べ替え、ページングを指定する)。 さらに、同じ記事の複数のバージョンが検索結果に含まれないようにすることや、テキスト検索時にサポート情報記事の状態でフィルター処理することを選択できます。

以前の Dynamics 365 サポート情報記事に関する作業

注意

このセクションでは、Dynamics 365 でのナレッジ マネージメントに使用する、以前のサポート情報記事エンティティ モデルに関する作業について説明します。 このセクションに記載されているエンティティは現在のバージョンで引き続き使用可能ですが、拡張されたナレッジ マネージメント エクスペリエンスを活用するためには、前述のナレッジ マネージメント エンティティを使用してください。

サポート情報記事は、ライフサイクルの過程で次の状態になります。

  • 1: 下書き (記事が作成された後)

  • 2: 未承認 (編集中)

  • 3: 公開済み (記事が公開された後)

記事の状態を変更するには、SetStateRequest Message を使用します。 事前バインド型の場合は、KbArticleState 列挙体を使用して可能な状態を設定します。

記事を作成するときは、テンプレートおよび情報カテゴリと関連付ける必要があります。 記事テンプレートには、記事のセクションと形式が記述されています。 情報カテゴリは、ビジネス カテゴリで記事を整理するために使用され、サポート案件 (インシデント)、営業資料、製品のグループ化にも使用されます。 ベスト プラクティスとしては、記事を作成する前に、情報カテゴリ ツリーの階層と、すべての必要な記事テンプレートを作成しておきます。

注意

Microsoft Dynamics 365 には、複数の記事テンプレートが用意されています。 標準記事、問題のソリューション、手順、および他のテンプレートが含まれています。 記事テンプレートを作成する場合は、Microsoft Dynamics 365 Web アプリケーションを使用することをお勧めします。 記事テンプレートをプログラムで作成する場合は、既存の記事テンプレートを、含める情報およびデータの書式設定方法の参考にしてください。

記事とテンプレートを関連付けるには、KbArticle.KbArticleTemplateId 属性を使用します。 情報カテゴリを指定して記事を特定のカテゴリに入れるには、KbArticle.SubjectId 属性を使用します。

記事のタイトル、および検索で使用するキーワードを指定します。 記事を説明するには、KbArticle.Description 属性を使用します。 記事の内容を追加するには、KbArticle.Content 属性を使用します。Kbarticle.ArticleXml 属性を使用して、記事に XML データを追加します。KbArticle.LanguageCode の値はテンプレートから取得され、記事を言語順に並べ替えるクエリを作成するのに役立ちます。

作成した記事は、下書きとして保存されます。 その後は、記事の状態を "下書き" から "未承認" に変更できます。 未承認の記事の内容を変更し、公開できる状態にすることができます。 記事を公開する準備ができたら、状態を「未承認」から「公開済み」に変更します。

公開されていない記事は、書式の設定をテンプレートから取得します。 テンプレートの書式を変更すると、その変更は「下書き」および「未承認」状態の記事に自動的に反映されます。

記事を公開した後は、コメントを追加することはできますが (KbArticleComment)、特権にかかわらず記事を編集することはできません。 コメントは任意の状態の記事に追加できます。

注意

記事へのコメントの追加は、下書き、未承認、公開済みのどの状態であっても可能です。

記事を変更または更新するには、記事を非公開にする必要があります。 記事を非公開にするには、記事の状態を公開済みから未承認に変更します。 記事をMicrosoft Dynamics 365データベースから削除するには、記事の状態を公開済みから未承認または下書きに変更します。

注意

公開済み状態のサポート情報記事を削除することはできません。

サポート情報の記事の作成、更新、編集、検索の詳細については、「ヘルプとトレーニング: サポート情報での記事の使用」を参照してください。

関連項目

ナレッジ マネージメント エンティティ
Dynamics 365 で Parature サポート情報を使用
KnowledgeArticle エンティティのメッセージおよびメソッド
KnowledgeArticleViews エンティティのメッセージおよびメソッド
KnowledgeBaseRecord エンティティのメッセージとメソッド
LanguageLocale (言語) エンティティのメッセージおよびメソッド
KbArticle (記事) エンティティのメッセージとメソッド

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 著作権