Het aangepaste kanaal definiëren
Toepasselijke kanalen: sms, aangepast
Nu u de onderdelen van uw aangepaste kanaal hebt gedefinieerd, is het tijd om het kanaal te definiëren. In deze stap verbindt u alle voorgaande stukken in één metadatabestand, dat een record is van de entiteit Kanaaldefinitie (msdyn_channeldefinition
).
Belangrijk
Als u metagegevensrecords rechtstreeks in het aanpassingsbestand configureert, moet u ervoor zorgen dat de GUID's in kleine letters worden weergegeven.
Contract kanaaldefinitie
Logische naam van entiteit: msdyn_channeldefinition
Naam van entiteitset: msdyn_channeldefinitions
Naam primaire id-kenmerk: msdyn_channeldefinitionid
- msdyn_displayname:: tekenreeks - optioneel. Weergavenaam van het kanaal.
- msdyn_description: tekenreeks - optioneel. Beschrijving van het kanaal.
- msdyn‑channeltype: tekenreeks - vereist. Ondersteunde waarden: aangepast, sms.
- msdyn_outboundendpointurltemplate: tekenreeks – vereist. Naam van de aangepaste API voor de uitgaande stroom.
- msdyn_hasinbound:: bit - vereist. Booleaanse waarde die aangeeft of het kanaal inkomende berichten ondersteunt.
- msdyn_hasdeliveryreceipt:: bit - vereist. Booleaanse waarde die aangeeft of het kanaal ontvangstbewijzen ondersteunt.
- msdyn_supportsaccount:: bit - vereist. Booleaanse waarde die aangeeft of het kanaal configuratie op accountniveau ondersteunt. Voor sms moet het waar zijn; anders, onwaar.
- msdyn_channeldefinitionexternalentity: tekenreeks - vereist. Naam van de CDS-entiteit, die een uitgebreide configuratie van het kanaalexemplaar vertegenwoordigt.
- msdyn_channeldefinitionexternalformid: GUID - vereist. Id van het formulier dat moet worden weergegeven om de configuratie van de uitgebreide kanaalexemplaartabel weer te geven.
- msdyn_channeldefinitionaccountexternalentity: tekenreeks - optioneel. Naam van de CDS-entiteit, die een uitgebreide configuratie van het kanaalexemplaaraccount vertegenwoordigt.
- msdyn_channeldefinitionaccountexternalformid: tekenreeks - optioneel. Id van het formulier dat moet worden weergegeven om de configuratie van de uitgebreide kanaalexemplaaraccounttabel weer te geven.
- msdyn_messageformid:: GUID - optioneel. Definieert een formulier dat de berichteditor voor het kanaal vertegenwoordigt.
Kanalen worden als oplossingsonderdelen gedefinieerd in customizations.xml. Plaats elke msdyn_channeldefinition onder elementen ImportExportXml>msdyn_channeldefinition. Elk berichtonderdeelelement msdyn_channeldefinition
moet zijn eigen unieke id hebben in de vorm van een GUID als het XML-kenmerk msdyn_channeldefinitionid. Wanneer uw oplossing wordt geïmporteerd, wordt een nieuwe rij gemaakt in de tabel msdyn_channeldefinition.
Houd in het volgende voorbeeld rekening met het volgende:
- De msdyn_channeldefinitionexternalentity en msdyn_channeldefinitionexternalformid bevatten de naam en de formulier-id van de entiteit die u hebbt gemaakt bij het definiëren van het kanaalexemplaar.
- De msdyn_channeldefinitionaccountexternalentity en msdyn_channeldefinitionaccountexternalformid bevatten de naam en de formulier-id van de entiteit die u hebt gemaakt bij het definiëren van het kanaalexemplaaraccount.
- De msdyn_messageformid bevat de formulier-id die u hebt gemaakt als u een aangepaste berichteditor hebt gedefinieerd.
- De msdyn_outboundendpointurltemplate bevat de aangepaste API die u hebt gemaakt bij het definiëren van aangepaste API's.
Voorbeeld van customizations.xml inclusief kanaaldefinitie:
<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>
Voorbeeldoplossingen
De volgende voorbeelden bevatten onverpakte oplossingen voor Dataverse en invoegtoepassingsprojecten. Als u deze oplossingen wilt inpakken en importeren, moet u eerst het invoegtoepassingsproject bouwen. Het project kopieert de assembly naar het oplossingsproject. Verpak vervolgens de oplossing met het hulpprogramma Oplossingspakketten maken.
Het invoegtoepassingsproject bouwen en de oplossing verpakken
Bouw het invoegtoepassingsproject met MSBuild of Visual Studio.
Bij het bouwen van het project wordt een DLL gemaakt in de map PluginAssemblies in de Dataverse-oplossingsmap.
Pak de onbeheerde map in met Oplossingspakket met behulp van:
- PAC CLI (bij voorkeur)
- Oplossingspakket
pac solution pack --zipfile C:\tmp\SampleCustomChannelSolution.zip -f src\Solutions\Samples\SampleCustomChannel\SampleCustomChannel.Solution\unmanaged --packagetype Both