Utiliser les articles de la Base de connaissances dans Dynamics 365 Customer Engagement (on-premises)
Les nouveaux articles de la Base de connaissances Dynamics 365 Customer Engagement (on-premises) vous permettent de créer plusieurs articles de Base connaissances avec le support de contrôle des versions et de traduction. Lorsque vous créez et publiez un article de la Base de connaissances, il devient disponible aux utilisateurs de votre instance Customer Engagement (on-premises) afin qu’ils puissent utiliser les informations contenues dans les articles pour servir efficacement les clients. Utilisez l’entité KnowledgeArticle
pour stocker et gérer les connaissances de manière native dans Dynamics 365 Customer Engagement (on-premises).
Cette rubrique fournit des informations sur l’utilisation des nouvelles fonctionnalités de gestion des connaissances Dynamics 365 Customer Engagement (on-premises) natif.
Note
Les entités (KBArticle
), (KBArticleTemplate
) et (KBArticleComment
) sont désormais déconseillées. Cela signifie que vous ne devez plus les utiliser. Vous devez utiliser la nouvelle entité (KnowledgeArticle
) pour la gestion des connaissances dans Dynamics 365 Customer Service. Pour plus d’informations, consultez la section Entités de connaissances héritées déconseillées à la fin de cette rubrique.
Créer un article de la Base de connaissances
Lorsque vous créez un enregistrement d’article de la Base de connaissances, Dynamics 365 Customer Engagement (on-premises) crée en interne un élément racine pour l’enregistrement. L’élément racine agit comme un conteneur pour le principal article de la Base de connaissances créé par vous avec toutes les versions et traductions d’articles que vous pourrez créer par la suite. Le schéma suivant décrit le modèle d’entité pour l’entité KnowledgeArticle
.
Lorsque vous créez un enregistrement d’article de la Base de connaissances, il est créé à l’état Draft
. Grâce à la nouvelle entité KnowledgeArticle
, vous pouvez créer un article en spécifiant son contenu et sa mise en forme au format HTML plutôt que d’utiliser l’entité KbArticle
obsolète que vous deviez associer à un modèle décrivant les sections et la mise en forme de l’article. Vous pouvez spécifier votre propre valeur de l’attribut KnowledgeArticle
.ArticlePublicNumber
en créant par programme un enregistrement d’article de la Base de connaissances ; sinon, la valeur est générée automatiquement selon le format spécifié dans la zone paramètres Dynamics 365 Customer Engagement (on-premises) dans le client web. Le KnowledgeArticle
.ArticlePublicNumber
stocke l’ID exposé aux clients, aux partenaires et aux autres utilisateurs externes pour référencer ou rechercher les articles de la Base de connaissances, et reste le même dans les versions et les traductions de l’article de la Base de connaissances.
L’exemple de code suivant montre comment créer un enregistrement d’article de la Base de connaissances :
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);
Créer les versions principale et secondaire d’un article de la Base de connaissances
Lorsque vous créez un enregistrement d’article de la Base de connaissances, la version principale est automatiquement définie sur 1 et la version secondaire sur 0. Utilisez le message CreateKnowledgeArticleVersion
(Action CreateKnowledgeArticleVersion ou CreateKnowledgeArticleVersionRequest) pour créer une version principale ou secondaire d’un article de la Base de connaissances. Dans le message de demande, définissez IsMajor
sur true
pour créer une version principale ; définissez-le sur false
pour créer une version secondaire. Le nouvel enregistrement de version qui est créé utilise :
KnowledgeArticle
.RootArticleId
pour maintenir l’association avec l’enregistrement d’article de la Base de connaissances racine.KnowledgeArticle
.PreviousArticleContentId
pour pointer vers la version d’enregistrement précédente.L’exemple de code suivant montre comment créer la version principale d’un article de la Base de connaissances à l’aide de CreateKnowledgeArticleVersionRequest
CreateKnowledgeArticleVersionRequest versionRequest = new CreateKnowledgeArticleVersionRequest
{
Source = new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId),
IsMajor = true
};
CreateKnowledgeArticleVersionResponse versionResponse = (CreateKnowledgeArticleVersionResponse)_serviceProxy.Execute(versionRequest);
Créer une traduction de l’article de la Base de connaissances
Utilisez CreateKnowledgeArticleTranslation Action (API web) ou CreateKnowledgeArticleTranslationRequest (service d’organisation) pour créer une traduction d’un enregistrement d’article de la Base de connaissances. Vous pouvez traduire votre article de la Base de connaissances dans plus de 150 langues, et des informations sur ces langues prises en charge sont accessibles dans la nouvelle entité LanguageLocale
. Pour plus d’informations, voir : LanguageLocale Entity
Grâce à CreateKnowledgeArticleTranslation Action (API web) ou CreateKnowledgeArticleTranslationRequest (service d’organisation) crée un nouvel enregistrement d’article de Base de connaissances avec le titre, le contenu, la description et les mots clés copiés de l’enregistrement source vers le nouvel enregistrement, et la langue du nouvel enregistrement dont la spécification a été faite dans la demande. Vous devez spécifier si le nouvel enregistrement sera une version principale ou secondaire. Le nouvel enregistrement utilise l’attribut KnowledgeArticle
.ParentArticleContentId
pour maintenir l’association avec l’enregistrement principal de l’article de la Base de connaissances.
Après avoir exécuté ce message et obtenu une réponse, récupérez l’enregistrement d’article de la Base de connaissances à partir de l’objet de réponse, puis mettez à jour le titre, le contenu, la description et les mots clés pour ajouter le contenu traduit.
L’exemple de code suivant montre comment créer la traduction d’un article de la Base de connaissances à l’aide de 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));
Note
La valeur GUID de la clé primaire (LanguageLocaleId
) pour chaque enregistrement de langue dans l’entité LanguageLocale
est la même dans toutes les organisations Dynamics 365 Customer Engagement (on-premises).
Cycle de vie d’un article de la Base de connaissances : Modifier le statut d’un article de la Base de connaissances
Pendant son cycle de vie, un article de la Base de connaissances peut avoir l’un des états suivants :
0 : Brouillon (après la création d’un article de la Base de connaissances)
1 : Approuvé (après l’approbation d’un article de la Base de connaissances)
2 : Planifié (après la planification d’un article de la Base de connaissances)
3 : Publié (après la publication d’un article de la Base de connaissances)
4 : Expiré (après l’expiration d’un article de la Base de connaissances en fonction de la date d’expiration spécifiée lors de la publication)
5 : Archivé (après l’archivage d’un article de la Base de connaissances)
6 : Ignoré (après la non prise en compte d’un article de la Base de connaissances)
Pour modifier l’état de l’article, utilisez le message
Update
dans l’enregistrement d’article de la Base de connaissances pour mettre à jour l’attributKnowledgeArticle.StateCode
. Pour les types à liaison anticipée, utilisez l’énumérationKnowledgeArticleState
pour définir les états possibles. Pour plus d’informations : Effectuer des opérations spécialisées à l’aide de la fonction de mise à jour.L’exemple de code suivant montre comment publier un enregistrement d’article de la Base de connaissances.
// Retrieve the knowledge article record
KnowledgeArticle myKnowledgeArticle = (KnowledgeArticle)_serviceProxy.Retrieve(
KnowledgeArticle.EntityLogicalName, knowledgeArticleId, new ColumnSet("statecode"));
// Update the knowledge article record
myKnowledgeArticle.StateCode = KnowledgeArticleState.Published;
UpdateRequest updateKnowledgeArticle = new UpdateRequest
{
Target = myKnowledgeArticle
};
_serviceProxy.Execute(updateKnowledgeArticle);
Associer un article de la Base de connaissances à une instance d’entité Dynamics 365 Customer Engagement (on-premises)
Lorsque vous activez la recherche dans la Base de connaissances intégrée pour une entité Dynamics 365 Customer Engagement (on-premises) à l’aide du client web, une relation plusieurs-à-plusieurs, msdyn_
<Nom_Entité>_knowledgearticle
,est créée automatiquement. Vous pouvez utiliser cette relation pour associer ou lier par programme une instance KnowledgeArticle
avec une instance d’entité Dynamics 365 Customer Engagement (on-premises). Lorsque vous associez une instance KnowledgeArticle
à une instance d’entité, un enregistrement pour la relation est créé dans une entité avec intersection appelée : msdyn_
<Nom_Entité>_knowledgearticle
. Par exemple, lorsque vous associez l’instance KnowledgeArticle
à une instance Account
pour la première fois, une entité avec intersection appelée msdyn_account_knowledgearticle
est créée, et un enregistrement avec le mappage d’association est créé dans l’entité avec intersection. Par défaut, l’entité Incident
(Incident) est activée pour la recherche dans la Base de connaissances intégrée, et lorsque vous liez un enregistrement KnowledgeArticle
à un enregistrement Incident
, un enregistrement d’association est créé dans l’entité avec intersection KnowledgeArticleIncident
.
L’exemple de code suivant montre comment associer une instance KnowledgeArticle
à une instance 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);
Incrémenter le nombre de vues des articles de la Base de connaissances
Utilisez le message IncrementKnowledgeArticleViewCountRequest pour incrémenter le nombre de vues d’un enregistrement d’article de la Base de connaissances pour un jour donné dans l’entité KnowledgeArticleViews
. Si un enregistrement n’existe pas pour un article de la Base de connaissances pour un jour spécifié, un enregistrement est créé, puis la valeur du nombre est spécifiée dans l’attribut KnowledgeArticleViews
.KnowledgeArticleView
. Si un enregistrement existe déjà pour un article de la Base de connaissances pour le jour spécifié, le nombre de vues est simplement incrémenté dans l’attribut KnowledgeArticleViews
.KnowledgeArticleView
de l’enregistrement existant.
Rechercher des articles de la Base de connaissances en utilisant la recherche en texte intégral
Les articles de la Base de connaissances dans Dynamics 365 Customer Engagement (on-premises), notamment leurs versions et traductions, sont indexés en texte intégral et prennent en charge la recherche en texte intégral SQL server. Pour plus d’informations sur la recherche en texte intégral, voir SQL Server : Recherche en texte intégral.
Utilisez le message FullTextSearchKnowledgeArticleRequest pour rechercher l’article de la Base de connaissances à partir de vos applications afin de trouver les informations souhaitées. Le message FullTextSearchKnowledgeArticleRequest vous permet d’utiliser la correspondance des thèmes de flexion (permet à un autre temps ou une autre inflexion d’être substitué(e) pour le texte de recherche) et de spécifier des critères de requête (avec FetchXML ou QueryExpression pour spécifier le filtrage, le classement, le tri et la pagination) pour rechercher des articles de la Base de connaissances avec un texte spécifique. Vous pouvez également choisir de supprimer plusieurs versions d’un même article dans les résultats de recherche et de filtrer sur l’état de l’article de la Base de connaissances lors de la recherche d’un texte.
Entités de gestion des connaissances déconseillées
La fonctionnalité de gestion des connaissances de Dynamics 365 Customer Service a été améliorée, ce qui rend les entités héritées suivantes obsolètes :
L’obsolescence des entités de gestion des connaissances a été annoncée dans les Modifications importantes prévues dans les prochaines versions de Microsoft Dynamics 365.
Les entités de gestion des connaissances héritées ne seront plus accessibles à partir du 1er décembre 2020. Il est fortement recommandé de passer dès maintenant à la nouvelle entité KnowledgeArticle. Pour plus d’informations sur la création d’un article de la base de connaissances dans Unified Interface, consultez Créer et gérer des articles de la base de connaissances.
Utilisez les éléments suivants pour obtenir de l’aide sur la migration :
- Utilisez un kit de développement logiciel, une APIweb ou Microsoft Power Automate selon vos scénarios.
- Utilisez l’outil de migration open source avec Licence MIT.
Important
- L’outil de migration open source n’est pas pris en charge par Microsoft et peut devoir être modifié pour s’adapter à vos scénarios.
- Exécutez toujours un environnement de test avant de l’utiliser en production.
- Vérifiez la licence et le fichier Lisez-moi avant d’utiliser l’outil.