Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Ao preparar a solução gerida para ser instalada, lembre-se de que um ambiente possa já ter várias soluções instaladas ou de que outras soluções possam vir a 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 tabela 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 tabelas criadas quando o Dataverse foi instalado. Uma forma de evitar a união de formulários é fornecer novos formulários para quaisquer tabelas do Dataverse. Os formulários para tabelas 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 tabelas 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 combinação de formulários é feita secção a 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 novas funções de segurança dependem dessas funções de segurança. Deve incluir estas funções de segurança na 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 tabela de solução gerida contém vários formulários e o formulário de tabela de 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 tabela 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 podem ser intercalados são colocados no separador Conflitos. Os conflitos de intercalação geralmente ocorrem quando as personalizações de origem e de destino estão fora de sincronização, o que leva a personalizações de formulário em conflito.
Evite estas situações que podem causar conflitos de fusão de formulários:
- 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 SiteMap XML é comparado com o SiteMap XML original e com quaisquer outras personalizações efetuadas no mapa do site. Apenas as diferenças são incluídas 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 do mapa do site.
Neste ponto, um personalizador pode exportar o mapa do site para uma solução não gerida e essa definição de mapa do site inclui todos os elementos do mapa do site ativo. Um personalizador pode então modificar o mapa do sítio e reimportá-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 do site ativo.
Sempre que um novo elemento visível é adicionado ao mapa do site, aparece na parte inferior do contentor a que pertence. Por exemplo, é apresentada 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 ao mapa do site entre a publicação. Quaisquer personalizações ao mapa do site não publicadas são perdidas quando uma nova definição de mapa do site for importada.
Unir opções de colunas de escolha
Cada nova opção de uma coluna de escolha é inicializada com um valor inteiro atribuído que inclui um prefixo do valor da opção. O prefixo do valor de opção é um conjunto de cinco dígitos anexados ao valor de opção. É gerado um prefixo do valor de uma opção com base no prefixo de personalização do publicador da solução, mas pode ser definido para qualquer valor. O prefixo do valor da opção ajuda a diferenciar novas opções de conjuntos de opções criadas no contexto de um editor de soluções específico e reduz a possibilidade de colisões entre valores de opções. É recomendável utilizar o prefixo de valor de opção, mas não é obrigatório.
Normalmente, uma solução gerida atualiza ou adiciona opções de colunas de escolha já existentes no ambiente, por exemplo, as colunas de escolha Categoria ou Setor de uma conta. Quando uma solução gerida modifica as opções disponíveis numa coluna de escolha, 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 na coluna de escolha são devolvidas ao estado original.
Atualizações de privilégios de funções de segurança
A forma como os privilégios dos papéis de segurança são atualizados quando se importa uma solução gerida depende se o papel é um papel de segurança pré-definido (pronto para usar) ou um papel de segurança personalizado.
Comportamento de fusão para papéis de segurança predefinidos
Quando importa um papel de segurança pré-definido de uma solução gerida para um ambiente, o processo de importação remove todos os privilégios adicionados manualmente desse papel de segurança. No entanto, o processo de importação mantém os privilégios modificados da função de segurança na qual alterou o nível de privilégio, por exemplo, do âmbito básico para o global ou vice-versa.
Gorjeta
Não utilize uma solução personalizada para modificar direitos de segurança predefinidos. Estas atualizações sã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.
Substituir comportamento para funções de segurança personalizadas
As atualizações personalizadas das funções de segurança são sempre consideradas uma operação de substituição, não uma fusão. Este comportamento é intencional.
Quando se importa um papel de segurança personalizado de uma solução gerida para um ambiente, o processo de importação substitui os privilégios do papel existente pelos privilégios definidos pela solução importada. O processo de importação não preserva quaisquer privilégios que tenha adicionado ou modificado anteriormente fora dessa solução.
Gorjeta
Use a mesma solução personalizada para gerir a atualização de funções de segurança personalizadas. Se usar uma nova solução personalizada para atualizar um papel de segurança personalizado que já foi atualizado noutra solução, algumas das atualizações de privilégios não serão aplicadas.