Microsoft Dynamics CRM - Soluções

As soluções fornecem uma estrutura para empacotar, instalar e desinstalar componentes para corresponder às suas funcionalidades de negócios. As soluções permitem que os personalizadores e desenvolvedores criem, empacotem e mantenham unidades de software que estendem o CRM. Quaisquer personalizações, extensões ou configurações realizadas no CRM são empacotadas, gerenciadas e distribuídas por meio de soluções. As soluções podem ser exportadas como um arquivo zip da organização de origem, que pode então ser importado na organização de destino.

Para entender isso, considere os seguintes cenários de exemplo -

  • Você, como desenvolvedor ou personalizador, estendeu ou personalizou o CRM no ambiente de desenvolvimento. Agora você deseja empacotar suas alterações e movê-las para o próximo ambiente. Para isso, você pode criar soluções individuais e publicá-las em ambientes superiores.

  • Você, como um provedor de CRM terceirizado, criou um módulo de CRM, que permite gerenciar dados em entidades do Microsoft Dynamics CRM usando APIs de serviço da Web externas. Agora, você deseja vender este módulo para outros clientes. Usando soluções, você pode empacotar este módulo e distribuí-los para outros clientes que poderão instalar esta solução e utilizar as funcionalidades fornecidas pelo seu módulo.

Tipos de Soluções

Solução de sistema padrão

A solução do sistema contém os componentes da solução prontos para uso definidos no Microsoft Dynamics CRM sem nenhuma personalização. Muitos dos componentes da solução do sistema são personalizáveis ​​e podem ser usados ​​em soluções gerenciadas ou personalizações não gerenciadas.

Ao longo deste tutorial, não criamos nenhuma solução e estávamos customizando a solução de sistema padrão. Se você se lembra, fomos para Configurações → Personalizações → Personalizar o sistema. Esta opção personaliza diretamente a solução padrão.

Solução Gerenciada

Uma solução gerenciada é uma solução concluída e destinada a ser distribuída e instalada. As soluções gerenciadas podem ser instaladas na parte superior da solução do sistema ou outras soluções gerenciadas.

Important Points -

  • Se você exportar uma solução gerenciada de uma organização e importá-la para outra, não poderá editar a solução na nova organização.

  • Uma solução gerenciada não faz referência direta à solução do sistema.

  • A desinstalação de uma solução gerenciada desinstala todas as personalizações associadas à solução.

  • Por padrão, uma solução gerenciada não pode ser personalizada na organização de destino. No entanto, usando o conceito de propriedades gerenciadas, você pode definir se um componente da solução será personalizável e, em caso afirmativo, quais partes específicas do componente serão personalizáveis ​​quando a solução for exportada como uma solução gerenciada.

Solução Não Gerenciada

Uma solução não gerenciada é uma solução que ainda está em desenvolvimento e não se destina a ser distribuída. Uma solução não gerenciada contém todas as personalizações não gerenciadas dos componentes do CRM, incluindo quaisquer componentes adicionados, modificados, removidos ou excluídos. Por padrão, qualquer nova solução é uma solução não gerenciada. No entanto, você pode exportar uma solução não gerenciada como uma solução gerenciada ou não gerenciada.

Important Points -

  • Se você exportar uma solução não gerenciada de uma organização e importá-la para outra, poderá editar a solução na nova organização.

  • Uma solução não gerenciada faz referência direta à solução do sistema. Portanto, as alterações feitas em uma solução não gerenciada serão aplicadas a todas as soluções não gerenciadas que fazem referência aos mesmos componentes, incluindo a solução do sistema.

  • Se você excluir um componente da solução de uma solução não gerenciada, o componente será excluído permanentemente do sistema e não estará mais disponível. Caso você queira apenas remover o componente de uma solução não gerenciada específica, use remove em vez de delete.

  • Desinstalar uma solução não gerenciada não remove as personalizações associadas. Ele apenas exclui a solução do sistema, mas as alterações feitas ainda estarão lá.

Componentes da Solução

Uma solução pode ser usada para empacotar os seguintes componentes que podem ser personalizados usando soluções padrão, não gerenciadas ou gerenciadas.

Tipo de Componente Componente
Esquema Entidades
Atributos
Relacionamentos
Conjuntos de opções globais
Interface de usuário Application Ribbon
Mapa do site
Formulários
Fitas de Entidade
Recursos da Web
Analytics Dashboards
Relatórios
Visualizações
Processo / Código Processos
Diálogos
Workflows
Plugins
Assembléias
Etapas de processamento
Modelos Mala direta
O email
Contrato
Artigo
Segurança Funções de segurança
Perfis de segurança de nível de campo

Criação de uma solução

Step 1- Navegue até Configurações → Soluções. Clique em Novo.

Step 2 - Na janela seguinte, insira os seguintes detalhes e clique em Salvar e fechar.

Display Name - Solução de amostra (pode ser qualquer nome que você desejar).

Name- Será definido automaticamente com base no nome de exibição. No entanto, você pode mudar isso.

Publisher- Editor padrão. O editor da solução fornece um prefixo de customização comum e um prefixo de valor de opção. Definir um editor de solução controla como suas soluções gerenciadas podem ser atualizadas depois de distribuídas. No entanto, para este exemplo e para a maioria dos casos gerais, você pode definir isso como Editor padrão.

Version- Especifique uma versão com o seguinte formato: major.minor.build.revision. Por exemplo: 1.0.0.0.

Por padrão, cada solução é adicionada como uma solução não gerenciada. Depois que uma solução é adicionada, você pode adicionar componentes da solução criando-os no contexto desta solução ou adicionando os componentes existentes de outras soluções. Por exemplo, você pode criar novas entidades, formulários, etc. no contexto desta nova solução.

Exportando uma solução

Depois de fazer todas as alterações que deseja empacotar como uma solução gerenciada ou não gerenciada, você pode exportar sua solução da seguinte maneira.

Step 1- Abra a organização de origem e navegue até Configurações → Soluções. Selecione a solução que deseja exportar e clique no botão Exportar.

Step 2 - Na janela Publicar personalizações, clique em Publicar todas as personalizações e em Avançar.

Step 3- Na janela a seguir, você pode selecionar opcionalmente qualquer configuração do sistema, como numeração automática, configurações de calendário, etc., a ser exportada com a solução. Por enquanto, você pode evitar selecionar qualquer opção e clicar em Avançar.

Step 4- Na janela Tipo de pacote, você pode selecionar se deseja exportar o pacote como uma solução gerenciada ou não gerenciada. Para este exemplo, vamos exportá-lo como não gerenciado. Quando terminar, clique em Avançar.

Step 5- Na próxima janela, você pode ver a versão de origem do CRM que está usando e pode selecionar a versão de destino. Clique em Exportar.

Step 6- Depois de clicar em Exportar, a solução será exportada como um arquivo zip. Salve este arquivo zip em um local desejado em seu sistema.

Importando uma Solução

Agora, importaremos o arquivo zip da solução que exportamos na seção anterior para uma nova organização de destino.

Step 1- Abra a organização de destino e navegue até Configurações → Soluções. Clique em Importar.

Step 2 - Navegue pelo arquivo zip que você baixou na etapa de exportação e clique em Next.

Step 3- Na próxima janela, você pode visualizar os detalhes do pacote de solução, se necessário. Clicar em Importar iniciará o processo de importação da solução.

Step 4- Assim que o processo de importação for concluído, ele mostrará o status de sucesso ou falha. Se o processo for bem-sucedido, clique em Publicar todas as personalizações. Caso a importação da solução falhe, ele fornecerá um log de erro detalhado em qual etapa do processo de importação falhou.

Step 5- Terminamos. A solução será importada com sucesso para a organização de destino. Clique em Fechar.

Resolução de Conflitos

Como você pode ter vários desenvolvedores trabalhando na personalização e ampliação do CRM, terá várias soluções gerenciadas e não gerenciadas. Exportar e importar essas soluções pode às vezes resultar em cenários de conflito. Por exemplo, suponha que 'Solução A' contenha um campo em um formulário, enquanto 'Solução B' removeu o campo e 'Solução C' renomeou o campo. Nesse cenário, qual seria a mudança final? Em tais cenários conflitantes, o CRM usa duas abordagens.

Merge- Essa abordagem é usada para componentes da interface do usuário, como barra de comando, fitas e mapas do local. De acordo com essa abordagem, os componentes da solução são recalculados da parte inferior e as personalizações não gerenciadas da organização são as últimas a serem aplicadas.

Top Wins- Essa abordagem é usada para todos os outros cenários de conflito, exceto os componentes da interface do usuário. De acordo com essa abordagem, a última alteração (gerenciada ou não gerenciada) tem a prioridade e é aplicada.

Conclusão

Neste capítulo, apresentamos o conceito de soluções e diferentes tipos de solução e seus componentes. Em seguida, aprendemos como criar, exportar e importar uma solução. Por fim, estudamos sobre as duas estratégias de resolução de conflitos, que ocorrem quando temos várias soluções gerenciadas e não gerenciadas afetando os mesmos componentes da solução.