Definování vlastního kanálu
Použitelné kanály: SMS, vlastní
Nyní, když jste definovali části vlastního kanálu, je čas definovat kanál. V tomto kroku spojíte všechny předchozí části do jednoho souboru metadat, který je záznamem entity Definice kanálu (msdyn_channeldefinition
).
Důležité
Pokud konfigurujete záznamy metadat přímo v souboru vlastních nastavení, ujistěte se, že identifikátory GUID jsou malými písmeny.
Smlouva definice kanálu
Zadejte logický název: msdyn_channeldefinition
Zadejte název sady: msdyn_channeldefinitions
Název primárního atributu ID: msdyn_channeldefinitionid
- msdyn_displayname: řetězec – volitelné. Zobrazovaný název kanálu.
- msdyn_description: řetězec – volitelné. Popis kanálu.
- msdyn_channeltype: string – povinné. Podporované hodnoty: vlastní, SMS
- msdyn_outboundendpointurltemplate: string – povinné. Název vlastního rozhraní API pro odchozí tok.
- msdyn_hasinbound: bit – povinné. Logická hodnota udávající, zda kanál podporuje příchozí zprávy.
- msdyn_hasdeliveryreceipt: bit – povinné. Logická hodnota udávající, zda kanál podporuje zprávy o doručení.
- msdyn_supportsaccount: bit – povinné. Logická hodnota udávající, zda kanál podporuje konfiguraci na úrovni účtu. U SMS to musí být true, jinak false.
- msdyn_channeldefinitionexternalentity: řetězec – povinné. Název entity CDS představující rozšířenou konfiguraci instance kanálu.
- msdyn_channeldefinitionexternalformid: identifikátor GUID – povinné. ID formuláře, který má být vykreslen pro zobrazení konfigurace rozšířené tabulky instance kanálu.
- msdyn_channeldefinitionaccountexternalentity: řetězec – volitelné. Název entity CDS představující rozšířenou konfiguraci účtu instance kanálu.
- msdyn_channeldefinitionaccountexternalformid: řetězec – volitelné. ID formuláře, který má být vykreslen pro zobrazení konfigurace rozšířené tabulky účtu instance kanálu.
- msdyn_messageformid: identifikátor GUID – volitelné. Definuje formulář představující editor zpráv pro kanál.
Kanály jsou definovány v souboru customizations.xml jako součásti řešení. Umístěte každý atribut msdyn_channeldefinition pod prvky ImportExportXml>msdyn_channeldefinitions. Každý prvek části zprávy msdyn_channeldefinition
musí obsahovat vlastní jedinečné ID ve formě identifikátoru GUID jako atributu XML msdyn_channelmessagepartid. Při importu vašeho řešení se vytvoří nový řádek pro každou část zprávy v tabulce msdyn_channeldefinition.
V následujícím příkladu si povšimněte:
- Atributy msdyn_channeldefinitionexternalentity a msdyn_channeldefinitionexternalformid obsahují název a ID formuláře entity, kterou jsme vytvořili při definování instance kanálu.
- Atributy msdyn_channeldefinitionaccountexternalentity a msdyn_channeldefinitionaccountexternalformid obsahují název a ID formuláře entity, kterou jsme vytvořili při definování účtu instance kanálu.
- Atribut msdyn_messageformid obsahuje ID formuláře, které jste vytvořili, když jste definovali vlastní editor zpráv.
- Atribut msdyn_outboundendpointurltemplate obsahuje vlastní rozhraní API, které jste vytvořili při definování vlastních rozhraní API.
Příklad souboru customizations.xml obsahujícího definici kanálu:
<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á řešení
Následující ukázky obsahují rozbalená řešení pro projekty Dataverse a modulů plugin. Chcete-li tato řešení zabalit a importovat, nejprve vytvořte projekt modulu plugin. Projekt poté kopíruje sestavení do projektu řešení. Poté řešení zabalte pomocí nástroje Solution Packager.
Jak sestavit projekt modulů plugin a zabalit řešení
MSBuild nebo Visual Studio umožňuje sestavit projekt modulů plugin.
Při sestavování projektu se vytvoří knihovna DLL ve složce PluginAssemblies ve složce řešení Dataverse.
Zabalte nespravovanou složku pomocí nástroje pro balení řešení jedním z následujících způsobů:
- pac CLI (preferováno)
- Nástroj pro balení řešení
pac solution pack --zipfile C:\tmp\SampleCustomChannelSolution.zip -f src\Solutions\Samples\SampleCustomChannel\SampleCustomChannel.Solution\unmanaged --packagetype Both