Delen via


Plug-ins registreren en inzetten

 

Gepubliceerd: januari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Plug-ins en aangepaste workflowactiviteiten zijn aangepaste code die u ontwikkeld om de bestaande functies van Microsoft Dynamics 365 uit te breiden. Voordat een plug-in of aangepaste werkstroomactiviteit kan worden gebruikt, moet deze op de server worden geregistreerd. U kunt plug-ins en aangepaste workflowactiviteiten via een programma registreren met Microsoft Dynamics 365 (online en on-premises), door registratiecode te schrijven met bepaalde SDK-klassen. Om de leercurve echter te beperken en de ontwikkeling en het inzetten van aangepaste code te vereenvoudigen, wordt een registratiehulpmiddel voor een plug-in en aangepaste werkstroomactiviteit opgenomen in de Prullenbakmap van de SDK.Download het Microsoft Dynamics CRM SDK-pakket.

Terwijl dit onderwerp voornamelijk focust op plug-ins, is het grootste deel van de informatie ook van toepassing op aangepaste werkstroomactiviteiten. Eén verschil tussen de twee voor is dat voor aangepaste workflowactiviteitassemblies, u alleen de assembly hoeft te registreren. Voor plug-ins, registreert u de plug-inassembly en een of meer stappen per plug-in. Voor meer informatie over aangepaste werkstroomactiviteiten, raadpleegt u Aangepaste workflowactiviteiten (workflowassemblies).

System_CAPS_security Beveiliging Opmerking

Registreer geen plug-in of aangepaste workflowactiviteit tenzij deze wordt verkregen vanuit een betrouwbare en vertrouwde bron.

Voor meer informatie over het inpakken van uw plug-ins als oplossingsonderdelen, zie Uitbreidingen inpakken en verdelen met oplossingen.

In dit onderwerp

Hulpmiddel voor registratie van invoegtoepassingen

Plug-in opslag

Installatie

Assemblyversiebeheer en oplossingen

Beveiligingsbeperkingen

Plug-ins registreren met een programma

Uitvoeren van aangepaste code in- of uitschakelen

Hulpmiddel voor registratie van invoegtoepassingen

De Plug-in Registration biedt een grafische gebruikersinterface en ondersteunt de registratie van plug-ins en aangepaste werkstroomactiviteiten met Microsoft Dynamics 365. Echter, de plug-ins en aangepaste werkstroomactiviteiten kunnen alleen in de sandbox (isolatiemodus) van Microsoft Dynamics 365 (online) worden geregistreerd.

Voor meer informatie over hoe u een aangepaste plug-in registreert en installeert met het hulpmiddel raadpleegt u Overzicht: een plug-in registreren met het registratiehulpprogramma plug-ins. Het hulpprogramma kan worden toegevoegd aan het menu Visual StudioHulpmiddelen als een extern hulpmiddel om het ontwikkelingsproces te versnellen.

Plug-in opslag

Voor een on-premises installatie, kunnen plug-ins die niet in de sandbox zijn geregistreerd, worden opgeslagen in de Microsoft Dynamics 365 serverdatabase het de op-schijf bestandssysteem. We raden sterk aan dat u uw plug-ins, klaar voor productie, opslaat in de Microsoft Dynamics 365 database, in plaats van op de schijf. Plug-ins die in de database zijn opgeslagen, worden automatisch gedistribueerd over meerdere Microsoft Dynamics 365 servers in een datacentrumcluster. Het opslaan van de plug-ins op schijf is handig voor foutenopsporing in plug-ins met Microsoft Visual Studio. U kunt echter fouten opsporen in een invoegtoepassing die in de database is opgeslagen. Zie Fouten opsporten in een invoegtoepassing voor meer informatie.

Plug-ins die in de sandbox zijn geregistreerd, moeten worden opgeslagen in de database, ongeacht de implementatie van Microsoft Dynamics 365 (ter plaatse, IFD of Online).

Installatie

Voor Microsoft Dynamics 365 installaties of Internet Facing (IFD), moet de plug-in handmatig worden gekopieerd naar de server voor registratie wanneer u plug-ins van een andere computer implementeert vanaf een andere computer in de Microsoft Dynamics 365 server. De assembly moet worden geïmplementeerd naar de map <installdir>\Program Files\Microsoft CRM\server\bin\assembly op elke server waar de plug-in moet worden uitgevoerd.

Plug-ins moeten worden geregistreerd nadat de assembly is gekopieerd naar de map …\bin\assembly op de server om te verhinderen dat een systeemgebruiker een gebeurtenis veroorzaakt in Microsoft Dynamics 365 die verder moet worden behandeld, maar de geregistreerde plug-inassembly bestaat nog niet op de server. Voor het inzetten van databases, wordt de plug-in automatisch gekopieerd tijdens de registratie van de plug-in zodat de eerdere situatie geen probleem veroorzaakt.

Afhankelijk van het ontwerp van uw plug-in, vereisen uw plug-ins mogelijk andere assemblies om te worden uitgevoerd. Ongeacht of u uw plug-in implementeert op de database of op de schijf; als uw plug-in vereist dat andere assemblies worden uitgevoerd, moet u kopieën van deze assemblies in de algemene assemblycache plaatsen op elke server waar de plug-in wordt uitgevoerd. Dit geldt niet voor een Microsoft Dynamics 365 (online) server omdat u geen toegang hebt tot de algemene assemblycache op die server.

Om een plug-in van een ontwikkelsomgeving te verplaatsen naar een opslag- of productieserver

  1. Bouw de plug-incode op de ontwikkelingscomputer. Neem geen foutopsporingsinformatie op. De prestaties van de plug-in optimaliseren.

  2. Registreer de plug-in in de Microsoft Dynamics 365 serverdatabase.

  3. Maak met de Microsoft Dynamics 365-Webtoepassing een oplossing of gebruik een bestaande oplossing en voeg de plug-in toe aan die oplossing.

  4. Als u andere onderdelen hebt toegevoegd aan de oplossing, exporteert u de oplossing.

  5. Importeer de oplossing op de opslag- of productieserver.

Assemblyversiebeheer en oplossingen

Plug-in assemblies kunnen een versievermelding krijgen met een indeling primair.secundair.build.revisie gedefinieerd in het Assembly.info bestand van het project Microsoft Visual Studio. Afhankelijk van welk deel van het assemblyversienummer wordt gewijzigd naar een nieuwere oplossing, is het volgende gedrag van toepassing wanneer een bestaande oplossing wordt bijgewerkt door importeren.

  • De build of revisie van het assemblyversienummer is gewijzigd.

    Dit wordt een upgrade ter plekke genoemd. De oudere versie van de assembly wordt verwijderd wanneer de oplossing met de bijgewerkte assembly wordt geïmporteerd. Elke vooraf bestaand stappen van de oudere oplossing worden automatisch gewijzigd om naar de nieuwere versie van de assembly te verwijzen.

  • Het primaire of secundaire assemblyversienummer, behalve het build- of revisienummer, wordt gewijzigd.

    Als een bijgewerkte oplossing met de herziene assembly wordt geïmporteerd, wordt de assembly beschouwd als een geheel andere assembly dan de eerdere versie van die assembly in de bestaande oplossing. De plug-in registratiestappen in de bestaande oplossing blijven verwijzen naar de vorige versie van de assembly. Als u wilt dat bestaande plug-inregistratiestappen voor de vorige assembly verwijzen naar de herziene assembly, moet u het Hulpprogramma voor Plug-inregistratie gebruiken om de stapconfiguratie handmatig te wijzigen om naar het herziene assemblytype te verwijzen. Dit moet worden uitgevoerd voordat de bijgewerkte assembly wordt geëxporteerd naar een oplossing om later te importeren.

Raadpleeg Inleiding tot oplossingen voor meer informatie over oplossingen.

Beveiligingsbeperkingen

Er is een beveiligingsbeperking die alleen bevoegde gebruikers toestaat plug-ins te registreren. Voor plug-ins die niet afzonderlijk zijn geregistreerd, moet de systeemgebruikersaccount waaronder de plug-in wordt geregistreerd, bestaan in de groep Configuratiebeheer van Configuratiemanager. Alleen de gebruikersaccount systeembeheerder of een andere gebruikersaccount die in de groep Configuratiebeheer is opgenomen, kan Configuratiemanager uitvoeren.

Belangrijk

Voor niet-geïsoleerde plug-ins, leidt het niet opnemen van de registrerende gebruikersaccount in de groep Configuratiebeheer tot een uitzondering die zich voordoet tijdens de registratie van de plug-in. De beschrijving van de uitzondering vermeldt "Onvoldoende bevoegdheid om de bewerking Maken uit te voeren voor een SDK-entiteit."

De systeemgebruikersaccount waaronder de plug-in wordt geregistreerd, moet de beveiligingsbevoegdheden hebben voor de hele organisatie:

  • prvCreatePluginAssembly

  • prvCreatePluginType

  • prvCreateSdkMessageProcessingStep

  • prvCreateSdkMessageProcessingStepImage

  • prvCreateSdkMessageProcessingStepSecureConfig

Zie voor meer informatie Security role and privilege reference en Het beveiligingsmodel van Microsoft Dynamics 365.

Voor plug-ins die worden geregistreerd in de sandbox (isolatiemodus), moet de systeemgebruikersaccount waaronder de invoegtoepassing is geregistreerd, de rol Systeembeheerder hebben. Lidmaatschap van de groep in de Configuratiebeheer is niet vereist.

Plug-ins registreren met een programma

De belangrijkste entiteitstypes die worden gebruikt voor het registreren van plug-ins en images zijn: PluginAssembly, PluginType, SdkMessageProcessingStep en SdkMessageProcessingStepImage. De belangrijkste entiteitstypes die worden gebruikt voor het registreren van aangepaste werkstroomactiviteiten zijn PluginAssembly en PluginType. Gebruik deze entiteiten maken met de bewerkingen maken, bijwerken, ophalen en verwijderen.

Voor meer informatie over images raadpleegt u Begrijp de gegevenscontext in een plug-in.

Uitvoeren van aangepaste code in- of uitschakelen

U kunt Windows PowerShell gebruiken om aangepaste code in- of uit te schakelen, waaronder plug-ins en aangepaste werkstroomactiviteiten, op de server zoals hier beschreven. U kunt ook de Implementatiewebservice gebruiken. Voor meer informatie zie Installatie-entiteiten en installatieconfiguratie-instellingen voor het instellen van de eigenschap CustomCodeSettings.AllowExternalCode.

Inschakelen van de uitvoering van aangepaste code

  1. Open een Windows PowerShell-opdrachtpromptvenster.

  2. Voeg de PowerShell-module Microsoft Dynamics 365 toe:

    Add-PSSnapin Microsoft.Crm.PowerShell
    
  3. Haal de huidige instelling op:

    $setting = get-crmsetting customcodesettings
    
  4. Wijzig de huidige instelling:

    $setting.AllowExternalCode="True"
    
    set-crmsetting $setting
    
  5. Controleer de instelling:

    get-crmsetting customcodesettings
    

Uitschakelen van de uitvoering van aangepaste code

  1. Open een Windows PowerShell-opdrachtpromptvenster.

  2. Voeg de PowerShell-module Microsoft Dynamics 365 toe:

    Add-PSSnapin Microsoft.Crm.PowerShell
    
  3. Haal de huidige instelling op:

    $setting = get-crmsetting customcodesettings
    
  4. Wijzig de huidige instelling:

    $setting.AllowExternalCode=0
    
    set-crmsetting $setting
    
  5. Controleer de instelling:

    get-crmsetting customcodesettings
    

Zie ook

Ontwikkeling van plug-ins
Fouten opsporten in een invoegtoepassing
Isolatie, trusts en statistieken van invoegtoepassingen
Uitbreidingen inpakken en verdelen met oplossingen
Bevoegdheden per entiteit

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht