Share via


Delo s članki zbirke znanja

Nova izkušnja znanja v storitvi Dynamics 365 Customer Service vam omogoča ustvarjanje bogatih člankov zbirke znanja skupaj s podporo za shranjevanje različic in prevajanje. Nova izkušnja znanja uporablja entiteto KnowledgeArticle za shranjevanje in izvorno upravljanje znanja v storitvi Dynamics 365 Customer Service.

opomba,

Entitete KBArticle, KBArticleTemplate in KBArticleComment so zdaj opuščene. To pomeni, da ne pričakujemo, da boste še naprej uporabljali te entitete. Uporabiti morate novejšo entiteto KnowledgeArticle za upravljanje znanja v storitvi Dynamics 365 Customer Service. Za več informacij glejte razdelek Opuščene entitete znanja na koncu te teme.

Ustvarjanje članka zbirke znanja

Ko ustvarite zapis članka zbirke znanja, storitev Dynamics 365 Customer Service interno ustvari korenski članek za zapis. Korenski članek deluje kot vsebnik za primarni članek zbirke znanja, ki ste ga ustvarili skupaj z vsemi različicami in prevodi člankov, ki jih boste morda ustvarili v prihodnosti. Naslednji diagram prikazuje model entitete za entiteto KnowledgeArticle.

Model entitete KnowledgeArticle.

Ko ustvarite zapis članka zbirke znanja, se ustvari v stanju Draft. Z uporabo nove entitete KnowledgeArticle lahko članek ustvarite tako, da navedete njegovo vsebino in jo oblikujete v obliki zapisa HTML. Za atribut KnowledgeArticle lahko določite lastno vrednost. Za atribut ArticlePublicNumber lahko določite lastno vrednost med programskim ustvarjanjem zapisa članka zbirke znanja; v nasprotnem primeru se vrednost samodejno ustvari na podlagi oblike zapisa, ki ste jo določili v območju nastavitev storitve Dynamics 365 Customer Service v spletnem odjemalcu. KnowledgeArticle. Atribut ArticlePublicNumber shrani ID, ki je razkrit strankam, partnerjem in drugim zunanjim uporabnikom za sklicevanje na članke zbirke znanja in njihovo iskanje, ter ostane enak v različicah in prevodih člankov zbirke znanja.

Naslednja vzorčna koda prikazuje, kako lahko ustvarite zapis članka zbirke znanja.

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

Ustvarjanje glavnih različic in podrazličic članka zbirke znanja

Ko ustvarite zapis članka zbirke znanja, se glavna različica samodejno nastavi na 1, podrazličica pa na 0. Uporabite CreateKnowledgeArticleVersion sporočilo (CreateKnowledgeArticleVersion Action ali CreateKnowledgeArticleVersionRequest), da ustvarite glavne različice in podrazličice članka zbirke znanja. V sporočilu z zahtevo nastavite možnost IsMajor na true, da ustvarite glavno različico; nastavite jo na false, da ustvarite podrazličico. Zapis nove različice, ki je bil ustvarjen, uporablja:

  • KnowledgeArticle. Atribut RootArticleId ohranjanje povezave s korenskim zapisom članka zbirke znanja.

  • KnowledgeArticle. Atribut PreviousArticleContentId za usmeritev na prejšnjo različico zapisa.

Naslednja vzorčna koda prikazuje, kako lahko ustvarite glavno različico zapisa članka zbirke znanja s parametrom CreateKnowledgeArticleVersionRequest.

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

Ustvarjanje prevoda članka zbirke znanja

Uporabite CreateKnowledgeArticleTranslation Action (spletni API) ali CreateKnowledgeArticleTranslationRequest (storitev organizacije), da ustvarite prevod zapisa članka zbirke znanja. Članek zbirke znanja lahko prevedete v več kot 150 jezikov, informacije o teh podprtih jezikih pa so na voljo v novi entiteti LanguageLocale.

Več informacij: LanguageLocale Entity.

Z uporabo CreateKnowledgeArticleTranslation Action (spletni API) ali CreateKnowledgeArticleTranslationRequest (storitev organizacije) se ustvari nov zapis članka zbirke znanja z naslovom, vsebino, opisom in ključnimi besedami, kopiranimi iz izvornega zapisa v nov zapis, ter jezikom novega zapisa, ki je nastavljen na tistega, ki ste ga navedli v zahtevi. Določiti morate tudi, ali bo nov zapis glavna različica ali podrazličica. Novi zapis uporablja atribut KnowledgeArticle. Atribut ParentArticleContentId za ohranjanje povezave s primarnim zapisom članka zbirke znanja.

Ko izvedete to sporočilo in dobite odgovor, pridobite zapis članka zbirke znanja iz predmeta odziva in nato posodobite naslov, vsebino, opis in ključne besede, da dodate prevedeno vsebino.

Naslednja vzorčna koda prikazuje, kako lahko ustvarite prevod članka zbirke znanja s parametrom 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));  

opomba,

Vrednost GUID primarnega ključa (LanguageLocaleId) za posamezni jezikovni zapis v entiteti LanguageLocale je enaka v vseh organizacijah storitve Dynamics 365 Customer Service.

Življenjski cikel članka zbirke znanja: sprememba stanja članka zbirke znanja

V svojem življenjskem ciklu je članek zbirke znanja lahko v naslednjih stanjih:

  • 0: osnutek (ko je članek zbirke znanja ustvarjen)

  • 1: odobreno (ko je članek zbirke znanja odobren)

  • 2: načrtovano (ko je članek zbirke znanja načrtovan za objavo)

  • 3: objavljeno (ko je članek zbirke znanja objavljen)

  • 4: poteklo (po poteku članka zbirke znanja v skladu z datumom poteka, ki je naveden med objavo)

  • 5: arhivirano (ko je članek zbirke znanja arhiviran)

  • 6: zavrženo (ko je članek zbirke znanja zavržen)

Če želite spremeniti stanje članka, uporabite sporočilo Update v zapisu članka zbirke znanja, da posodobite atribut KnowledgeArticle.StateCode. Za starejše vezane vrste uporabite oštevilčenje KnowledgeArticleState za nastavitev možnih stanj. Več informacij: Izvedba specializiranih postopkov s posodobitvijo.

Naslednja vzorčna koda prikazuje, kako lahko objavite zapis članka zbirke znanja.

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

Povezovanje zapisa članka zbirke znanja s primerkom entitete storitve Dynamics 365 Customer Service

Ko s spletnim odjemalcem omogočite vdelano iskanje entitete v zbirki znanja v storitvi Dynamics 365 Customer Service, se samodejno ustvari odnos »mnogo proti mnogo«, msdyn_<Ime_entitete>_knowledgearticle. Ta odnos lahko uporabite za programsko povezovanje primerka KnowledgeArticle s primerkom entitete storitve Dynamics 365 Customer Service. Ko povežete primerek KnowledgeArticle s primerkom entitete, se ustvari zapis za odnos v prekrivajoči se entiteti, imenovani msdyn_<Ime_entitete>_knowledgearticle. Ko na primer prvič povežete primerek KnowledgeArticle s primerkom Account, se ustvari prekrivajoča se entiteta z imenom msdyn_account_knowledgearticle, v tej prekrivajoči entiteti pa se ustvari zapis s preslikavo povezave. Privzeto je entiteta Incident (Primer) omogočena za vdelano iskanje v zbirki znanja in ko povežete zapis KnowledgeArticle z zapisom Incident, se ustvari zapis povezave v prekrivajoči se entiteti KnowledgeArticleIncident.

Naslednja vzorčna koda prikazuje, kako lahko povežete primerek KnowledgeArticle s primerkom 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);  
  

Povečanje števila ogledov članka zbirke znanja

Uporabite sporočilo IncrementKnowledgeArticleViewCountRequest za povečanje števila ogledov zapisa članka zbirke znanja za določen dan v entiteti KnowledgeArticleViews. Če zapis za članek zbirke znanja za določen dan ne obstaja, se bo ustvaril zapis in nato nastavil določeno vrednost števila ogledov v atributu KnowledgeArticleViews. Atribut KnowledgeArticleView. Če že obstaja zapis za članek zbirke znanja za določen dan, se bo povečalo število ogledov v atributu KnowledgeArticleViews. Atribut KnowledgeArticleView obstoječega zapisa.

Pri člankih zbirke znanja v storitvi Dynamics 365 Customer Service, vključno z njihovimi različicami in prevodi, je indeksirano celotno besedilo, prav tako pa podpirajo iskanje po vsem besedilu za SQL Server. Za več informacij o iskanju po vsem besedilu glejte SQL Server: iskanje po vsem besedilu.

Uporabite sporočilo FullTextSearchKnowledgeArticleRequest za iskanje članka zbirke znanja iz vaših aplikacij, da poiščete informacije, ki jih iščete. Sporočilo FullTextSearchKnowledgeArticleRequest vam omogoča, da uporabite ujemanje pri pregibanju končnic (omogoča spremembo časa ali končnice pri iskanem besedilu) in določite pogoje poizvedbe (z možnostjo FetchXML ali QueryExpression za določanje filtriranja, naročanja, razvrščanja in ostranjevanja) za iskanje člankov zbirke znanja z določenim besedilom. Med iskanjem besedila lahko tudi odstranite več različic istih člankov v rezultatih iskanja in filtrirate po stanju člankov zbirke znanja.

Opuščene entitete zbirke znanja

Spodnje podedovane entitete so bile opuščene. Več informacij: Opuščene entitete znanja

Podedovane entitete znanja od 1. decembra 2020 niso več na voljo. Toplo priporočamo, da izvedete prehod na entiteto KnowledgeArticle. Za več informacij o ustvarjanju članka baze podatkov v poenoteni vmesnik glejte Ustvarjanje in upravljanje člankov baze podatkov.  

Za pomoč pri selitvi uporabite naslednje:

  • Glede na vaš scenarij uporabite SDK, WebAPI ali Microsoft Power Automate.
  • Uporabite odprtokodno orodje za selitev z licenco MIT.

Pomembno

  • Microsoft ne podpira odprtokodnega orodja za selitev in ga bo morda treba spremeniti, da bo ustrezalo vašim scenarijem.
  • Pred komercialno uporabo vedno zaženite preizkusno okolje.
  • Pred uporabo orodja preverite licenco in datoteko »berime«.

Glejte tudi