Compartilhar via


Registrar e implantar plug-ins

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Os plug-ins e atividades de fluxo de trabalho personalizados são códigos personalizados que você desenvolve para estender a funcionalidade existente do Microsoft Dynamics 365. Antes que um plug-in ou atividade de fluxo de trabalho personalizado possa ser usado, ele deve ser registrado no servidor. Você pode registrar programaticamente os plug-ins e atividades de fluxo de trabalho personalizados com o Microsoft Dynamics 365 (online e local), escrevendo o código de registro usando certas classes do SDK. No entanto, para facilitar a curva de aprendizagem e acelerar o desenvolvimento e a implantação do código personalizado, uma ferramenta de registro de plug-in e de atividade de fluxo de trabalho personalizado está incluída na pasta Bin do SDK.Baixe o pacote do SDK do Microsoft Dynamics CRM.

Embora esse tópico se concentre principalmente nos plug-ins, a maioria das informações também é aplicável às atividades de fluxo de trabalho personalizadas. Uma diferença entre os dois é que, para os conjuntos de atividades de fluxo de trabalho personalizadas, você se registra apenas o conjunto. Para os plug-ins, você registra o conjunto do plug-in e uma ou mais etapas por plug-in. Para obter mais informações sobre as atividades de fluxo de trabalho personalizadas, consulte Atividades personalizadas de fluxo de trabalho (assemblies de fluxo de trabalho).

System_CAPS_security Segurança Observação

Não registre qualquer plug-in ou atividade de fluxo de trabalho personalizado a menos que seja obtido de uma fonte segura e confiável.

Para obter mais informações sobre como empacotar seus plug-ins como componentes da solução, consulte Embalar e distribuir extensões usando soluções.

Neste tópico

Ferramenta de registro de plug-ins

Armazenamento do plug-in

Implantação

Controle de versão e soluções de conjuntos

Restrições de Segurança

Registrar plug-ins programaticamente

Habilitar ou desabilitar a execução de código personalizado

Ferramenta de registro de plug-ins

A ferramenta Plug-in Registration fornece uma interface de usuário gráfica e suporta o registro de plug-ins e atividades de fluxo de trabalho personalizados no Microsoft Dynamics 365. No entanto, os plug-ins e atividades de fluxo de trabalho personalizados só podem ser registrados na área restrita (modo de isolamento) do Microsoft Dynamics 365 (online).

Para obter mais informações sobre como registrar e implantar um plug-in com a ferramenta, consulte Passo a passo: Registrar um plug-in usando a ferramenta de registro de plug-in. A ferramenta pode ser adicionada ao menu do Visual StudioFerramentas como uma ferramenta externa para acelerar o processo de desenvolvimento.

Armazenamento do plug-in

Para uma implantação local, plug-ins que não sejam registrados na área restrita podem ser armazenados no banco de dados do servidor do Microsoft Dynamics 365 ou no sistema de arquivos no disco. É altamente recomendável armazenar os plug-ins prontos para a produção no banco de dados do Microsoft Dynamics 365, em vez do disco. Os plug-ins armazenados no banco de dados são distribuídos automaticamente em vários servidores do Microsoft Dynamics 365 em um cluster de data center. O armazenamento plug-ins em disco é útil para depurar os plug-ins usando o Microsoft Visual Studio. Entretanto, você poderá depurar um plug-in que esteja armazenado no banco de dados. Para obter mais informações, consulte Depurar um plug-in.

Os plug-ins registrados na área restrita devem ser armazenados no banco de dados do Microsoft Dynamics 365 independentemente da implantação (local, IFD ou on-line).

Implantação

Para instalações locais ou voltadas à internet (IFD) do Microsoft Dynamics 365, ao implantar plug-ins de outro computador no disco do servidor do Microsoft Dynamics 365 (implantação em disco), o conjunto do plug-in deve ser copiado manualmente para o servidor antes do registro. O conjunto deve ser implantado na pasta <installdir>\Program Files\Microsoft CRM\server\bin\assembly em cada servidor no qual o plug-in deve executar.

O registro do plug-in deve ser executado depois que o conjunto foi copiado para a pasta …\bin\assembly no servidor, para impedir a situação em que um usuário do sistema cause o levantamento de um evento no Microsoft Dynamics 365, mas o conjunto de plug-in registrado ainda não existe no servidor. Para a implantação do banco de dados do servidor, o conjunto do plug-in é automaticamente copiado durante o registro do plug-in, para que a situação anterior não seja um problema.

Dependendo do design do seu plug-in, ele pode exigir que outros conjuntos referenciados sejam executados. Independentemente de você implantar o seu plug-in no banco de dados ou no disco, se o seu plug-in exigir que outros conjuntos sejam executados, você deve colocar cópias desses conjuntos no cache do conjunto global em cada servidor no qual o plug-in deve para executar. Isso não se aplica a um servidor do Microsoft Dynamics 365 (online), porque você não tem acesso ao cache do conjunto global no servidor.

Para mover um plug-in de um ambiente de desenvolvimento para uma preparação ou um servidor de produção

  1. No computador de desenvolvimento, crie o código de plug-in. Não inclua informações de depuração. Otimize o plug-in para o desempenho.

  2. Registre o plug-in no banco de dados do servidor Microsoft Dynamics 365.

  3. Usando o aplicativo Web Microsoft Dynamics 365, crie uma solução ou use uma já existente e adicione o plug-in a essa solução.

  4. Depois de adicionar todos os outros componentes desejados à solução, exporte a solução.

  5. Importe a solução para a preparação ou o servidor de produção.

Controle de versão e soluções de conjuntos

É possível controlar as versões dos conjuntos de plug-in usando um formato de número major.minor.build.revision definido no arquivo Assembly.info do projeto Microsoft Visual Studio. Dependendo da parte do número de versão do conjunto alterada em uma solução mais recente, o seguinte comportamento aplica-se quando uma solução existente é atualizada por meio da importação.

  • O número de compilação ou revisão da versão do conjunto é alterado.

    Isso é considerado uma atualização local. A versão mais antiga do conjunto é removida quando a solução contendo o conjunto atualizado é importada. Quaisquer etapas pré-existentes da solução mais antiga são automaticamente alteradas para corresponderem à versão mais recente do conjunto.

  • O número da versão de conjunto primário ou secundário, exceto os números de compilação ou revisão, é alterado.

    Quando uma solução atualizada contendo o conjunto revisado é importada, o conjunto é considerado um conjunto completamente diferente da versão anterior desse conjunto na solução existente. As etapas de registro do plug-in na solução existente continuarão correspondendo à versão anterior do conjunto. Se você quiser que as etapas de registro existente do plug-in para o conjunto anterior apontem para o conjunto revisado, precisará usar a ferramenta Registro de Plug-in para alterar manualmente a etapa de configuração para corresponder ao tipo de conjunto revisado. Isso deve ser feito antes de exportar o conjunto atualizado para uma solução, para a importação posterior.

Para obter mais informações sobre soluções, consulte Introdução às soluções.

Restrições de Segurança

Há uma restrição de segurança que permite que apenas usuários com privilégios registrem os plug-ins. Para os plug-ins que não são registrados de forma isolada, a conta de usuário do sistema sob a qual o plug-in está sendo registrado deve existir no grupo Administradores de Implantação do Deployment Manager. Apenas a conta de usuário do administrador de sistema, ou qualquer conta de usuário incluída no grupo Administradores de Implantação pode executar o Deployment Manager.

Importante

Para os plug-ins não isolados, a falha ao incluir a conta de usuário registrada no grupo Administradores de Implantação resulta em uma exceção lançada durante o registro do plug-in. A descrição da exceção declara "Não tem privilégios suficientes para concluir a operação Criar para uma entidade do SDK."

A conta de usuário do sistema sob a qual o plug-in está sendo registrado deve ter os seguintes privilégios de segurança para toda a organização:

  • prvCreatePluginAssembly

  • prvCreatePluginType

  • prvCreateSdkMessageProcessingStep

  • prvCreateSdkMessageProcessingStepImage

  • prvCreateSdkMessageProcessingStepSecureConfig

Para obter mais informações, consulte Security role and privilege reference e O modelo de segurança do Microsoft Dynamics 365.

Para os plug-ins registrados na área restrita (modo de isolamento), a conta de usuário do sistema sob a qual o plug-in está sendo registrado precisa ter a função Administrador do Sistema. A associação ao grupo Administradores de Implantação não é necessária.

Registrar plug-ins programaticamente

Os principais tipos de entidades para registrar os plug-ins e imagens são: PluginAssembly, PluginType, SdkMessageProcessingStep e SdkMessageProcessingStepImage. Os principais tipos de entidades para registrar as atividades de fluxo de trabalho personalizadas são PluginAssembly e PluginType. Use essas entidades com as operações de criar, atualizar, recuperar e excluir.

Para obter mais informações sobre imagens, consulte Compreender o contexto de dados passado para um plug-in.

Habilitar ou desabilitar a execução de código personalizado

É possível usar o Windows PowerShell para habilitar ou desabilitar o código personalizado, incluindo plug-ins e atividades de fluxo de trabalho personalizados no servidor, conforme descrito aqui. Como alternativa, é possível usar o serviço Web de Implantação. Para obter mais informações, consulte Entidades de implantação e definições da configuração de implantação para definir a propriedade CustomCodeSettings.AllowExternalCode.

Para habilitar a execução de código personalizado

  1. Abra uma janela de comando do Windows PowerShell.

  2. Adicione o snap-in do PowerShell no Microsoft Dynamics 365:

    Add-PSSnapin Microsoft.Crm.PowerShell
    
  3. Recupere a configuração atual:

    $setting = get-crmsetting customcodesettings
    
  4. Modifique a configuração atual:

    $setting.AllowExternalCode="True"
    
    set-crmsetting $setting
    
  5. Verifique a configuração:

    get-crmsetting customcodesettings
    

Para desabilitar a execução de código personalizado

  1. Abra uma janela de comando do Windows PowerShell.

  2. Adicione o snap-in do PowerShell no Microsoft Dynamics 365:

    Add-PSSnapin Microsoft.Crm.PowerShell
    
  3. Recupere a configuração atual:

        $setting = get-crmsetting customcodesettings
    
  4. Modifique a configuração atual:

    $setting.AllowExternalCode=0
    
    set-crmsetting $setting
    
  5. Verifique a configuração:

    get-crmsetting customcodesettings
    

Confira Também

Desenvolvimento de plug-in
Depurar um plug-in
Isolamento, estatísticas e confianças de plug-in
Embalar e distribuir extensões usando soluções
Privilégios por entidade

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais