Definovanie vlastného kanála
Použiteľné kanály: SMS, vlastné
Teraz, keď ste definovali časti vlastného kanála, je čas definovať kanál. V tomto kroku spájate všetky predchádzajúce časti do jedného súboru metadát, ktorý je záznamom entity Definícia kanála (msdyn_channeldefinition
).
Dôležité
Ak konfigurujete záznamy metadát priamo v súbore prispôsobenia, uistite sa, že GUID sú malé.
Zmluva o definícii kanála
Logický názov entity: msdyn_channeldefinition
Názov sady entít: msdyn_channeldefinitions
Názov atribútu primárneho ID: msdyn_channeldefinitionid
- msdyn_displayname: string – Voliteľné. Zobrazovaný názov kanála.
- msdyn_description: reťazec – Voliteľné. Popis kanála.
- msdyn_channeltype: reťazec – povinné. Podporované hodnoty: Vlastné, SMS.
- msdyn_outboundendpointurltemplate: string – Povinné. Názov vlastného rozhrania API pre výstupný tok.
- msdyn_hasinbound: bit – povinné. Booleovská hodnota označujúca, či kanál podporuje prichádzajúce správy.
- msdyn_hasdeliveryreceipt: bit – Povinné. Booleovská hodnota označujúca, či kanál podporuje potvrdenie o doručení.
- msdyn_supportsaccount: bit – povinné. Boolovská hodnota označujúca, či kanál podporuje konfiguráciu na úrovni účtu. V prípade SMS to musí byť pravda; inak nepravda.
- msdyn_channeldefinitionexternalentity: string – Povinné. Názov entity CDS, ktorá predstavuje rozšírenú konfiguráciu inštancie kanála.
- msdyn_channeldefinitionexternalformid: GUID – povinné. ID formulára, ktorý sa má vykresliť na zobrazenie konfigurácie rozšírenej tabuľky inštancií kanála.
- msdyn_channeldefinitionaccountexternalentity: string – Voliteľné. Názov entity CDS, ktorá predstavuje rozšírenú konfiguráciu účtu inštancie kanála.
- msdyn_channeldefinitionaccountexternalformid: string – Voliteľné. ID formulára, ktorý sa má vykresliť na zobrazenie konfigurácie rozšírenej tabuľky účtu inštancie kanála.
- msdyn_messageformid: GUID – voliteľné. Definuje formulár predstavujúci editor správ pre kanál.
Kanály sú definované v customizations.xml ako komponenty riešenia. Umiestnite každú msdyn_channeldefinition pod prvky ImportExportXml>msdyn_channeldefinitions prvky. Každý prvok časti správy msdyn_channeldefinition
musí obsahovať svoje vlastné jedinečné ID vo forme GUID ako atribút XML msdyn_channeldefinitionid. Keď je vaše riešenie importované, v tabuľke msdyn_channeldefinition sa vytvorí nový riadok.
V nasledujúcom príklade si všimnite, že:
- msdyn_channeldefinitionexternalentity a msdyn_channeldefinitionexternalformid obsahujú názov a ID formulára entity, ktorú ste vytvorili, keď ste definoval inštanciu kanála.
- msdyn_channeldefinitionaccountexternalentity a msdyn_channeldefinitionaccountexternalformid obsahujú názov a ID formulára entity, ktorú ste vytvorili, keď ste definoval účet inštancie kanála.
- msdyn_messageformid obsahuje ID formulára, ktoré ste vytvorili, ak ste definovali vlastný editor správ.
- Šablóna msdyn_outboundendpointurltemplate obsahuje vlastné rozhranie API, ktoré ste vytvorili pri definovaní vlastných rozhraní API.
Príklad customizations.xml vrátane definície kanála:
<ImportExportXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<msdyn_channeldefinitions>
<msdyn_channeldefinition msdyn_channeldefinitionid="af0c2a3c-85a5-43b3-84be-2a4a171249f3">
<msdyn_channeldefinitionaccountexternalentity>cr65f_samplechannelinstanceaccount</msdyn_channeldefinitionaccountexternalentity>
<msdyn_channeldefinitionaccountexternalformid>3071133f-1208-4dc1-8eba-4d4724961029</msdyn_channeldefinitionaccountexternalformid>
<msdyn_channeldefinitionexternalentity>cr65f_samplechannelinstance</msdyn_channeldefinitionexternalentity>
<msdyn_channeldefinitionexternalformid>7d2b885a-80eb-479d-b0c3-600bc41e9789</msdyn_channeldefinitionexternalformid>
<msdyn_channeltype>Custom</msdyn_channeltype>
<msdyn_description>Metadata definition for sample custom channel</msdyn_description>
<msdyn_displayname>Sample custom channel</msdyn_displayname>
<msdyn_hasdeliveryreceipt>0</msdyn_hasdeliveryreceipt>
<msdyn_hasinbound>0</msdyn_hasinbound>
<msdyn_messageformid>69723cfe-3835-4126-ab9a-a82a5b88c21d</msdyn_messageformid>
<msdyn_outboundendpointurltemplate>/cr65f_OutboundCustomApi</msdyn_outboundendpointurltemplate>
<msdyn_specialconsentrequired>0</msdyn_specialconsentrequired>
<msdyn_supportsaccount>0</msdyn_supportsaccount>
<msdyn_supportsattachment>0</msdyn_supportsattachment>
<msdyn_supportsbinary>0</msdyn_supportsbinary>
<statecode>0</statecode>
<statuscode>1</statuscode>
</msdyn_channeldefinition>
</msdyn_channeldefinitions>
</ImportExportXml>
Vzorové riešenia
Nasledujúce ukážky obsahujú rozbalené riešenia pre projekty Dataverse a doplnkov. Ak chcete tieto riešenia zabaliť a importovať, najprv vytvorte projekt doplnku. Projekt skopíruje zostavu do projektu riešenia. Potom zabaľte riešenie pomocou nástroja Solution Packager.
Ako zostaviť projekt pluginov a zabaliť riešenie
Zostavte projekt pluginov pomocou MSBuild alebo Visual Studio.
Vytvorením projektu sa vytvorí knižnica DLL v priečinku PluginAssemblies v priečinku Dataverse solution.
Zabaľte nespravovaný priečinok pomocou nástroja Solution Packager pomocou:
- pac CLI (preferované)
- Balič riešení
pac solution pack --zipfile C:\tmp\SampleCustomChannelSolution.zip -f src\Solutions\Samples\SampleCustomChannel\SampleCustomChannel.Solution\unmanaged --packagetype Both