Praca z artykułami merytorycznymi

Nowe funkcje wiedzy w Dynamics 365 Customer Service umożliwiają tworzenie rozbudowanych artykułów wiedzy wraz z obsługą wersji i tłumaczenia. Nowe środowisko wiedzy używa encji KnowledgeArticle do przechowywania wiedzy i zarządzania nią w sposób macierzysty w Dynamics 365 Customer Service.

Uwaga

Encje KBArticle, KBArticleTemplate i KBArticleComment są teraz przestarzałe. Oznacza to, że nie oczekujemy już, że będą Państwo korzystali z tych encji. Należy teraz używać nowszej encji KnowledgeArticle dla zarządzania wiedzą w Dynamics 365 Customer Service. Więcej informacji można znaleźć w sekcji Przestarzałe encje wiedzy na końcu tego tematu.

Utwórz artykuł merytoryczny

Podczas tworzenia rekordu artykułu merytorycznego Dynamics 365 Customer Service wewnętrznie tworzy artykuł główny dla rekordu. Artykuł główny jest traktowany jak kontener dla podstawowego artykułu merytorycznego, który został utworzony przez użytkownika wraz ze wszystkimi wersjami i tłumaczeniami, które mogą zostać utworzone w przyszłości. Poniższy diagram przedstawia model encji dla encji KnowledgeArticle.

Model encji KnowledgeArticle.

Podczas tworzenia rekordu artykułu merytorycznego jest on tworzony w stanie Draft. Korzystając z nowej encji KnowledgeArticle, można utworzyć artykuł, określając jego zawartość i formatując w formacie HTML. Użytkownik może podać własne wartości dla atrybutu KnowledgeArticle.ArticlePublicNumber podczas programistycznego tworzenia rekordu artykułu merytorycznego; w przeciwnym razie wartość zostanie wygenerowana automatycznie na podstawie formatu określonego w obszarze ustawień Dynamics 365 Customer Service w kliencie sieci Web. KnowledgeArticle.ArticlePublicNumber zawiera identyfikator ujawnionym klientom, partnerom i innym użytkownikom zewnętrznym w celu odwoływania się do artykułów merytorycznych i wyszukiwania ich, oraz pozostaje taki sam w różnych wersjach i tłumaczeniach artykułu merytorycznego.

Poniższy przykładowy kod ilustruje sposób tworzenia rekordu artykułu merytorycznego.

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);  

Twórz wersje główne i pomocnicze artykułu merytorycznego

Podczas tworzenia rekordu artykułu merytorycznego wersja główna jest automatycznie ustawiana jako wersja 1, a pomocnicza jako 0. Użyj wiadomości CreateKnowledgeArticleVersion (CreateKnowledgeArticleVersion Action lub CreateKnowledgeArticleVersionRequest), aby utworzyć wersję główną lub pomocniczą artykułu merytorycznego. W żądanej wiadomości ustaw IsMajor na true, aby utworzyć wersję główną; ustaw ją na wartość false, aby utworzyć wersję pomocniczą. Tworzony rekord nowej wersji używa:

  • KnowledgeArticle.RootArticleId do utrzymywania skojarzenia z rekordem głównego artykułu merytorycznego.

  • KnowledgeArticle.PreviousArticleContentId wskazuje poprzednią wersję rekordu.

Poniższy przykładowy kod ilustruje sposób tworzenia głównej wersji artykułu merytorycznego przy użyciu CreateKnowledgeArticleVersionRequest.

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

Tworzenie tłumaczenia artykułu merytorycznego

Użyj akcje CreateKnowledgeArticleTranslation (Web API) lub CreateKnowledgeArticleTranslationRequest (usługa organizacyjna), aby utworzyć tłumaczenie rekordu artykułu merytorycznego. Użytkownik może przetłumaczyć artykuł merytoryczny na więcej niż 150 języków, a informacje o tych obsługiwanych językach są dostępne w nowej encji LanguageLocale.

Więcej informacji: Encja LanguageLocale.

Użycie akcji CreateKnowledgeArticleTranslation (Web API) lub CreateKnowledgeArticleTranslationRequest (usługa organizacyjna) powoduje utworzenie nowego rekordu artykułu merytorycznego z tytułem, zawartością, opisem i słowami kluczowymi skopiowanymi z rekordu źródłowego do nowego rekordu oraz językiem nowego rekordu ustawionym przez użytkownika określonego w żądaniu. Należy również określić, czy nowy rekord będzie wersją główną czy pomocniczą. Nowy rekord używa atrybutu KnowledgeArticle.ParentArticleContentId do utrzymywania skojarzenia z rekordem podstawowego artykułu merytorycznego.

Po wykonaniu tego komunikatu i otrzymaniu odpowiedzi należy pobrać rekord artykułu merytorycznego z obiektu odpowiedzi, a następnie zaktualizować tytuł, treść, opis i słowa kluczowe, aby dodać przetłumaczoną zawartość.

Poniższy przykładowy kod ilustruje sposób tworzenia tłumaczenia artykułu merytorycznego przy użyciu 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));  

Uwaga

Wartość identyfikatora GUID klucza podstawowego (LanguageLocaleId) dla każdego rekordu języka w encji LanguageLocale jest taka sama we wszystkich organizacjach Dynamics 365 Customer Service.

Cykl życia artykułu merytorycznego: Zmień stan artykułu merytorycznego

W trakcie cyklu życia artykuł merytoryczny może się znajdować w następujących stanach:

  • 0: Wersja robocza (po utworzeniu artykułu merytorycznego)

  • 1: Zatwierdzony (po zatwierdzeniu artykułu merytorycznego)

  • 2: Zaplanowany (po zaplanowaniu publikacji artykułu merytorycznego)

  • 3: Opublikowany (po opublikowaniu artykułu merytorycznego)

  • 4: Wygasły (po wygaśnięciu artykułu merytorycznego zgodnie z datą wygaśnięcia określoną podczas publikacji)

  • 5: Zarchiwizowany (po zarchiwizowaniu artykułu merytorycznego)

  • 6: Odrzucony (po odrzuceniu artykułu merytorycznego)

Aby zmienić stan artykułu, należy użyć komunikatu Update w rekordzie artykułu merytorycznego, aby zaktualizować atrybut KnowledgeArticle.StateCode. W przypadku typów z wczesnym wiązaniem należy użyć wyliczenia KnowledgeArticleState, aby ustawić możliwe stany. Więcej informacji: Wykonywanie wyspecjalizowanych operacji przy użyciu metody Update.

Poniższy przykładowy kod ilustruje sposób publikowania rekordu artykułu merytorycznego.

// 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);  
  

Kojarzenie rekordu artykułu merytorycznego z wystąpieniem encji Dynamics 365 Customer Service

Po włączeniu osadzonego wyszukiwania wiedzy dla encji w Dynamics 365 Customer Service przy użyciu klienta sieci Web, automatycznie tworzona jest relacja wiele-do-wielu, msdyn_<Entity_Name>_knowledgearticle. Tej relacji można użyć do programowego skojarzenia lub połączenia wystąpienia KnowledgeArticle z wystąpieniem encji Dynamics 365 Customer Service. W przypadku skojarzenia wystąpienia KnowledgeArticle z wystąpieniem encji rekord dla relacji jest tworzony w przecinającej się encji o nazwie msdyn_<Entity_Name>_knowledgearticle. Na przykład po pierwszym skojarzeniu wystąpienia KnowledgeArticle z wystąpieniem Account tworzona jest encja przecinająca się msdyn_account_knowledgearticle, a rekord z mapowaniem skojarzenia jest tworzony w tej encji przecinającej się. Domyślnie encja Incident (Sprawa) jest włączona dla osadzonego wyszukiwania wiedzy, i podczas łączenia rekordu KnowledgeArticle z rekordem Incident zostanie utworzony rekord skojarzenia w przecinającej się encji KnowledgeArticleIncident.

Poniższy przykładowy kod ilustruje sposób kojarzenia wystąpienia KnowledgeArticle z wystąpieniem 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);  
  

Zwiększanie liczby widoków artykułu merytorycznego

Użyj komunikatu IncrementKnowledgeArticleViewCountRequest, aby zwiększyć liczbę wyświetleń rekordu artykułu merytorycznego na dany dzień w encji KnowledgeArticleViews. Jeśli rekord nie istnieje dla artykułu merytorycznego dla danego dnia, utworzy to rekord, a następnie określi wartość licznika widoku atrybutu KnowledgeArticleViews. Atrybut KnowledgeArticleView. Jeśli rekord już istnieje dla artykułu merytorycznego dla danego dnia, zwiększy to liczbę wyświetleń w atrybucie KnowledgeArticleViews.KnowledgeArticleView istniejącego rekordu.

Artykuły merytoryczne w Dynamics 365 Customer Service, w tym ich wersje i tłumaczenia, są pełnotekstowe i obsługują wyszukiwanie pełnotekstowe w SQL Server. Aby uzyskać więcej informacji na temat wyszukiwania pełnotekstowego, zobacz SQL Server: Wyszukiwanie pełnotekstowe.

Użyj komunikatu FullTextSearchKnowledgeArticleRequest, aby wyszukać artykuł merytoryczny z poziomu aplikacji, aby znaleźć informacje, których szukasz. Komunikat FullTextSearchKnowledgeArticleRequest zezwala na użycie uzgadniania tematu fleksyjnego (pozwala na to, aby inny czas lub fleksja zostały zastąpione przez wyszukiwany tekst) i określenie kryteriów zapytania (przy użyciu FetchXML lub QueryExpression w celu określenia filtrowania, porządkowania, sortowania i stronicowania), aby znaleźć artykuły merytoryczne z określonym tekstem. Można również usunąć wiele wersji tych samych artykułów w wynikach wyszukiwania i przefiltrować informacje o stanie artykułu merytorycznego podczas wyszukiwania tekstu.

Przestarzałe encje wiedzy

Następujące starsze encje zostały uznane za przestarzałe. Więcej informacji: Przestarzałe encje wiedzy

Starsze encje wiedzy nie są dostępne od 1 grudnia 2020. Zalecamy przejście do encji KnowledgeArticle. Aby uzyskać więcej informacji na temat tworzenia artykułu merytorycznego w ujednoliconym interfejsie, zobacz Tworzenie i zarządzanie artykułami merytorycznymi.  

Aby uzyskać pomoc dotyczącą migracji, należy użyć:

  • Zestaw SDK, interfejs WebAPI lub Microsoft Power Automate zależnie od scenariuszy.
  • Użyj narzędzia do migracji Open Source z licencją MIT.

Ważne

  • Narzędzie do migracji Open Source nie jest obsługiwane przez firmę Microsoft i może zaistnieć konieczność jego zmodyfikowania w celu dostosowania do Twoich scenariuszy.
  • Zawsze uruchamiaj środowisko testowe, zanim zaczniesz korzystać ze środowiska produkcyjnego.
  • Przed przystąpieniem do korzystania z narzędzia należy sprawdzić jego licencję i zapoznać się z plikiem Readme.

Zobacz także