Partajați prin


Definirea canalului particularizat

Canale aplicabile: SMS, personalizate

Acum că ați definit părțile canalului dvs. personalizat, este timpul să definiți canalul. Acest pas este în care conectați toate piesele anterioare într-un singur fișier de metadate, care este o înregistrare a entității Definiția canalului (msdyn_channeldefinition).

Important

Dacă configurați înregistrările de metadate direct în fișierul de personalizare, asigurați-vă că GUID-urile sunt litere mici.

Contract de definire a canalului

Nume logic al entității: msdyn_channeldefinition

Nume set de entități: msdyn_channeldefinitions

Nume atribut ID primar: msdyn_channeldefinitionid

  • msdyn_displayname: șir - Opțional. Numele afișat al canalului.
  • msdyn_description: șir - Opțional. Descrierea canalului.
  • msdyn_channeltype: șir - Obligatoriu. Valori acceptate: Personalizat, SMS.
  • msdyn_outboundendpointurltemplate: șir – Obligatoriu. Numele API-ului personalizat pentru fluxul de ieșire.
  • msdyn_hasinbound: bit - Obligatoriu. Valoare booleană care indică dacă canalul acceptă mesaje de intrare.
  • msdyn_hasdeliveryreceipt: bit - Obligatoriu. Valoare booleană care indică dacă canalul acceptă primirea de livrare.
  • msdyn_supportsaccount: bit - Obligatoriu. Valoare booleană care indică dacă canalul acceptă configurarea la nivel de cont. Pentru SMS, trebuie să fie adevărat; altfel, fals.
  • msdyn_channeldefinitionexternalentity: șir - Obligatoriu. Numele entității CDS, reprezentând o configurație extinsă a instanței canalului.
  • msdyn_channeldefinitionexternalformid: GUID - Necesar. ID-ul formularului care urmează să fie redat pentru a afișa configurația tabelului de instanțe de canal extins.
  • msdyn_channeldefinitionaccountexternalentity: șir - Opțional. Numele entității CDS, reprezentând o configurație extinsă a contului instanței de canal.
  • msdyn_channeldefinitionaccountexternalformid: șir - Opțional. ID-ul formularului de redat pentru a afișa configurația tabelului de conturi de instanță de canal extins.
  • msdyn_messageformid: GUID - Opțional. Definește un formular reprezentând editorul de mesaje pentru canal.

Canalele sunt definite în customizations.xml ca componente ale soluției. Plasați fiecare msdyn_channeldefinition sub ImportExportXml>msdyn_channeldefinitions elemente. Fiecare element al părții mesajului msdyn_channeldefinition trebuie să includă propriul său ID unic sub forma unui GUID ca atribut XML msdyn_channeldefinitionid. Când soluția dvs. este importată, este creat un nou rând în tabelul msdyn_channeldefinition .

În exemplul următor, rețineți că:

Exemplu de customizations.xml, inclusiv definiția canalului:

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

Soluții de probă

Următoarele exemple includ soluții dezambalate pentru proiectele Dataverse și pluginuri. Pentru a împacheta și importa aceste soluții, mai întâi creați proiectul plugin. Proiectul copiază ansamblul în proiectul de soluție. Apoi, împachetați soluția utilizând instrumentul Solution Packager.

Cum să construiți proiectul de pluginuri și să împachetați soluția

  1. Construiți proiectul de pluginuri cu MSBuild sau Visual Studio.

    Construirea proiectului creează un DLL în folderul PluginAssemblies din folderul Dataverse soluție.

  2. Împachetați folderul negestionat cu Solution Packager utilizând fie:

    pac solution pack --zipfile C:\tmp\SampleCustomChannelSolution.zip -f src\Solutions\Samples\SampleCustomChannel\SampleCustomChannel.Solution\unmanaged --packagetype Both