Partilhar via


Compreenda como as soluções geridas são unidas

Quando preparar o solução gerida para ser instalada, lembre-se de que um ambiente poderá já ter várias soluções instaladas ou que outras soluções podem ser instaladas no futuro. Construa uma solução que siga as melhores práticas para que a sua solução não interfira com outras soluções.

Os processos que o Microsoft Dataverse utiliza para unir personalizações enfatizam a manutenção da funcionalidade da solução. Embora sejam feitos todos os esforços para preservar a apresentação, algumas incompatibilidades entre personalizações poderão requerer que a resolução calculada altere alguns detalhes da apresentação para favorecer a manutenção da funcionalidade de personalização.

Unir personalizações de formulário

As únicas personalizações de formulário que têm de ser unidas são as efetuadas em quaisquer formulários de entidade que já estejam no ambiente. Normalmente, isto significa que as personalizações de formulários só têm de ser unidas quando a sua solução personaliza os formulários que foram incluídos para entidades criadas quando o Dataverse foi instalado. Uma forma de evitar a união de formulários é fornecer novos formulários para quaisquer entidades Dataverse. Os formulários para entidades personalizadas não irão exigir a união, a menos que esteja a criar uma solução que atualize ou modifique uma solução gerida existente que tenha criado as entidades personalizadas e os respetivos formulários.

Quando uma solução é empacotada como uma solução gerida, as definições de formulário armazenadas em FormXML são comparadas com o FormXML original e apenas as diferenças são incluídas na solução gerida. Quando a solução gerida é instalada num novo ambiente, as diferenças de personalização do formulário são então unidas com o FormXML do formulário existente para criar uma nova definição de formulário. Esta nova definição de formulário é a forma como o utilizador vê e o que um personalizador de sistemas pode modificar. Quando a solução gerida é desinstalada, apenas os elementos de formulário encontrados na solução gerida são eliminados.

A intercalação de formulários ocorre numa base de secção por secção. Quando adiciona novos elementos a um separador ou secção existente, as alterações podem afetar ou ocultar os elementos das camadas geridas, incluindo quando o elemento gerido é atualizado. Este comportamento ocorre porque as camadas geridas encontram-se abaixo da camada não gerida que está a introduzir na sua personalização. Se não pretender afetar ou ocultar elementos geridos no formulário, recomendamos que inclua os novos elementos nos novos elementos de recipiente, tal como uma secção ou separador. Isto isola os elementos e reduz a possibilidade de afetar ou ocultar os elementos das camadas geridas. Mais informações: Camadas da solução

As soluções geridas que contêm formulários que utilizam novos direitos de acesso dependem dessas funções. Deve incluir estes direitos de acesso com a sua solução gerida.

Quando importa uma solução que inclui formulários de tabela, a opção Substituir Personalizações não é aplicável mesmo que esteja selecionada. O formulário que está a ser importado une-se com quaisquer camadas de solução existentes para o formulário.

Nota

Quando uma entidade de solução gerida contém vários formulários e o formulário de entidade ambiente também contém vários formulários, os novos formulários não são acrescentados na parte inferior da lista de formulários disponíveis, são intercalados com os formulários de entidade originais.

Identificar e resolver conflitos de união de formulários

Depois de importar uma solução que inclua um formulário, poderá notar que o formulário importado apresenta um separador denominado Separador Conflitos. Este é um separador gerado automaticamente que é criado quando não é possível unir determinados componentes do formulário. Para evitar qualquer perda de dados, os componentes do formulário que não é possível unir fundir são colocados no Separador Conflitos. Os conflitos de união geralmente acontecem quando as personalizações na origem no destino estão dessincronizadas, o que gera conflitos de personalizações de formulários.

Separador Conflitos no formulário importado.

Evite estas situações que podem causar conflitos de união:

  • Importe duas soluções diferentes que adicionam um componente, como um separador de formulário, que utiliza o mesmo valor ordinal.

  • Personalize um componente do formulário, como uma secção, no ambiente de origem, mas faça também a mesma personalização, ou semelhante, no componente no ambiente de destino. Em seguida, exporte a personalização a partir do ambiente de origem e importe-a para o ambiente de destino.

Quando o Separador Conflitos aparece num formulário importado, pode mover o componente apresentado para outro lugar no formulário. Quando todos os componentes são movidos do Separador Conflitos, pode eliminar ou ocultar o Separador Conflitos.

Unir personalizações de navegação (SiteMap)

Quando uma solução é empacotada como gerida, o XML SiteMap é comparado com o XML SiteMap original e com quaisquer outras personalizações efetuadas ao mapa do site. Só são incluídas as diferenças na solução gerida. Estas diferenças incluem itens que são alterados, movidos, adicionados ou eliminados. Quando a solução gerida é instalada num ambiente novo, as alterações no mapa do site são intercaladas com o XML SiteMap encontrado para o ambiente em que a solução gerida está a ser instalada. O que as pessoas veem é uma nova definição de SiteMap.

Neste ponto, um personalizador pode exportar o mapa do site para uma solução não gerida e essa definição de mapa de site incluirá todos os elementos do mapa de site ativo. Um personalizador pode modificar o mapa do site e tornar a importá-lo como uma personalização não gerida. Mais tarde, se a solução gerida for desinstalada, o XML SiteMap que foi importado com a solução gerida será referenciado para remover as alterações introduzidas com essa solução gerida. É então calculado um novo mapa de site ativo.

Sempre que um novo elemento visível é adicionado ao mapa do site, aparece na parte inferior do contentor ao qual pertence. Por exemplo, irá aparecer uma nova área na parte inferior da área de navegação. Para posicionar os elementos que foram adicionados, tem de exportar o mapa do site, editá-lo para definir a posição exata dos elementos e, em seguida, importá-lo novamente como uma solução não gerida.

Nota

Só é possível aplicar uma personalização de SiteMap entre a publicação. Quaisquer personalizações de SiteMap não publicadas serão perdidas quando uma nova definição de SiteMap for importada.

Unir opções do conjunto de opções

Cada nova opção de conjunto de opções é inicializada com um valor inteiro atribuído que inclui um prefixo de valor de opção. O prefixo do valor de opção é um conjunto de cinco dígitos anexados ao valor de opção. Um prefixo de valor de opção é gerado com base no prefixo de personalização de fabricantes de soluções, mas pode ser definido com qualquer valor. O prefixo de valor de opção ajuda a diferenciar as novas opções de conjunto de opções criadas no contexto de um fabricante de soluções específico e reduz a oportunidade para colisões de valores de opções. É recomendável utilizar o prefixo de valor de opção, mas não é obrigatório.

Normalmente, um solução gerida atualiza ou adiciona opções para conjuntos de opções que já estão no ambiente, por exemplo, a categoria ou a opção do ramo definidos para uma conta. Quando uma solução gerida modifica as opções disponíveis num conjunto de opções, todas as opções definidas no solução gerida estão disponíveis no ambiente. Quando a solução gerida for desinstalada, as opções no conjunto de opções serão devolvidas ao estado original.

Unir privilégios de direito de acesso

Quando um direito de acesso é importado de uma solução gerida para um ambiente, todos os privilégios adicionados manualmente desse direito de acesso são removidos. No entanto, os privilégios modificados do direito de acesso em que o nível de privilégio foi alterado permanecem, por exemplo, do âmbito básico para o âmbito global ou vice-versa.

Gorjeta

Utilize a mesma solução personalizada para gerir a atualização de direitos de segurança. Se utilizar uma nova solução personalizada para atualizar um direito de acesso anteriormente atualizado noutra solução, algumas das atualizações de privilégio não serão aplicadas.

Não utilize uma Solução personalizada para modificar direitos de segurança predefinidos. Estas atualizações serão removidas quando as funções predefinidas são atualizadas pelo sistema. Crie uma cópia da função predefinida e gere a função copiada na solução personalizada.

Consulte também

Use uma solução para personalizar