Definiera anpassade kanalen
Tillämpliga kanaler: SMS, anpassa
Nu när du har definierat delarna i den anpassade kanalen är det dags att definiera kanalen. I det här steget ansluter du alla tidigare delar i en metadatafil, som är en post i entiteten Kanaldefinition (msdyn_channeldefinition
).
Viktigt!
Om du konfigurera metadataposter direkt i anpassningsfilen ska du kontrollera att GUID är gemener.
Kontrakt för kanaldefinition
Entitetens logiska namn: msdyn_channeldefinition
Namn på entitetsuppsättning: msdyn_channeldefinitions
Primärt ID-attributnamn: msdyn_channeldefinitionid
- msdyn_displayname:: sträng – valfritt. Visningsnamn på kanalen.
- msdyn_description:: sträng – valfritt. Beskrivning av kanalen.
- msdyn_channeltype: sträng - Obligatoriskt. Värden som stöds: anpassad, SMS.
- msdyn_outboundendpointurltemplate: sträng – Obligatoriskt. Namnet på det anpassade API:et för utflöde.
- msdyn_hasinbound:: bit – Obligatoriskt. Booleskt värde som anger om kanalen har stöd för inkommande meddelanden.
- msdyn_hasdeliveryreceipt:: bit – Obligatoriskt. Booleskt värde som anger om kanalen har stöd för leveranskvitton.
- msdyn_supportsaccount:: bit – Obligatoriskt. Booleskt värde som anger om kanalen har stöd för konfiguration på kontonivå. För SMS måste det vara sant. annars falskt.
- msdyn_channeldefinitionexternalentity:: sträng – Obligatoriskt. Namnet på CDS-enheten, som representerar en utökad konfiguration av kanalinstansen.
- msdyn_channeldefinitionexternalformid:: GUID – Obligatoriskt. ID för formuläret som ska renderas för att visa konfigurationen av den utökade kanalinstanstabellen.
- msdyn_channeldefinitionaccountexternalentity:: sträng – Valfritt. Namnet på CDS-enheten, som representerar en utökad konfiguration av kanalinstanskonto.
- msdyn_channeldefinitionaccountexternalformid:: sträng – Valfritt. ID för formuläret som ska renderas för att visa konfigurationen av den utökade kanalinstans kontotabellen.
- msdyn_messageformid:: GUID – Valfritt. Definierar ett formulär som representerar meddelanderedigeraren för kanalen.
Kanaler definieras i customizations.xml som lösningskomponenter. Placera alla msdyn_channeldefinition under ImportExportXml>msdyn_channeldefinitions element. Varje meddelandedelselement msdyn_channeldefinition
måste innehålla sitt eget unika ID i form av ett GUID som XML-attribut msdyn_channeldefinitionid. När lösningen importeras skapas en ny rad i msdyn_channeldefinition tabellen.
Observera att i följande exempel:
- msdyn_channeldefinitionexternalentity och msdyn_channeldefinitionexternalformid innehåller namnet och formulär-ID:t för entiteten som du skapade när du definierade kanalinstansen.
- msdyn_channeldefinitionaccountexternalentity och msdyn_channeldefinitionaccountexternalformid innehåller namnet och formulär-ID:t för entiteten som du skapade när du definierade kanalinstansens konto.
- msdyn_messageformid innehåller det formulär-ID som du skapade om du definierade en anpassad meddelanderedigerare.
- Formuläret msdyn_outboundendpointurltemplate innehåller det anpassade API som du skapade när du definierade det anpassade API.
Exempel på customizations.xml, inklusive kanaldefinition.
<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>
Exempellösningar
Exemplen nedan innehåller uppackade lösningar för Dataverse och plugin-program. Om du vill paketera och importera dessa lösningar bygger du först plugin-projektet. Därefter kopieras samlingen till lösningsprojektet. Packa sedan lösningen med verktyget Solution Packager.
Hur man bygger plugin-projektet och packar lösningen
Bygg plugin-programmet med MSBuild eller Visual Studio.
När du skapar projektet skapas en DLL i mappen PluginAssemblies i lösningsmappen Dataverse .
Packa den ohanterade mappen med lösningspaketeraren med antingen:
- pac CLI (föredragen)
- Paketerare av lösning
pac solution pack --zipfile C:\tmp\SampleCustomChannelSolution.zip -f src\Solutions\Samples\SampleCustomChannel\SampleCustomChannel.Solution\unmanaged --packagetype Both