Compartilhar via


Gerenciamento do ciclo de vida de aplicações (ALM) da biblioteca de componentes

Uma biblioteca de componentes é um tipo especial de aplicativo de tela que pode conter um ou mais componentes de tela. Esses componentes de biblioteca podem ser usados por todos os outros aplicativos canvas no ambiente. Essa funcionalidade permite que você crie componentes compartilhados reutilizáveis em todos os aplicativos em um ambiente, ao contrário dos componentes no nível do aplicativo restritos a um aplicativo.

Para usar um componente de uma biblioteca de componentes, primeiro você precisa importar o componente para o aplicativo Canvas. Depois de importado, você pode adicionar o componente a qualquer tela do aplicativo. Todas as atualizações na definição de componente da biblioteca de componentes solicitarão que você examine e incorpore a alteração sob demanda ou quando o aplicativo for aberto para edição. Bibliotecas de componentes e aplicativos dependentes também podem ser movidos para outro ambiente usando soluções padrão do Microsoft Dataverse.

Observação

Neste artigo, o termo "importação" refere-se à importação de um componente de uma biblioteca de componentes para um aplicativo e não deve ser confundido com a importação de uma solução para o Dataverse.

Quando um componente de uma biblioteca de componentes é importado para um aplicativo de tela, a definição desse componente é copiada para a definição do aplicativo de tela. Depois que uma definição de componente é importada, o aplicativo torna-se "autossuficiente" a respeito dessa definição de componente. O criador de aplicativos pode optar por editar o componente e criar instâncias locais do componente dentro do aplicativo. Neste ponto, não há nenhum link direto para a biblioteca de componentes de onde o componente se originou. Essa característica de autocontenção também será aplicada se o aplicativo de tela for migrado para um ambiente diferente onde a biblioteca de componentes não esteja presente. Você pode continuar a criar instâncias da definição de componente importado dentro dos aplicativos no ambiente de destino e os aplicativos ainda podem ser publicados e reproduzidos. Nenhuma nova atualização será solicitada ou recebida no aplicativo de consumo nesse caso.

Para manter a relação do aplicativo com a biblioteca de componentes, certifique-se de usar a biblioteca de componentes para fazer alterações no componente, em vez de editar o componente dentro do aplicativo de consumo.

Suporte à solução de aplicativos Canvas e bibliotecas de componentes

Consistente com as outras dependências de objeto de solução, se um aplicativo de tela importar um componente de tela de uma biblioteca de componentes, ele terá uma dependência nessa biblioteca de componentes. Para mover um aplicativo para o novo ambiente, você precisará empacotar a biblioteca de componentes dentro da mesma solução ou instalá-la como um pré-requisito. A dependência do aplicativo na biblioteca de componentes é mantida no ambiente de destino. Posteriormente, quando uma biblioteca de componentes com o componente atualizado for importada usando uma solução para o ambiente de destino, os aplicativos existentes obterão as novas definições de componente usando o fluxo de atualização de componente regular.

Criando e exportando biblioteca de componentes em uma solução

Você pode criar uma biblioteca de componentes diretamente de dentro da solução ou adicioná-la a uma solução existente.

Adicione uma biblioteca de componentes existente a uma solução ou uma nova.

Quando uma biblioteca de componentes é salva em um ambiente que tem o Dataverse disponível, a biblioteca de componentes é adicionada automaticamente à solução padrão. Um nome lógico exclusivo é gerado para a biblioteca de componentes com o prefixo Default CDS Publisher. Esse comportamento é para garantir que o sistema de solução esteja ciente de sua presença e possa vincular as dependências dos aplicativos que usam o nome lógico da biblioteca de componentes.

Observação

As bibliotecas de componentes criadas antes da distribuição do recurso de ALM para bibliotecas de componentes precisam ser editadas, publicadas e o editor deve ser fechado explicitamente antes de elas serem habilitadas para os recursos de ALM. Você pode verificar a preparação do ALM para bibliotecas de componentes pela sua presença na solução padrão.

Verifique a solução padrão para a presença da biblioteca de componentes.

As bibliotecas de componentes dentro de uma solução também dão suporte a propriedades gerenciadas, como 'Permitir personalizações', que regem o comportamento da biblioteca de componentes no ambiente de destino.

Propriedade gerenciada Permitir personalizações para biblioteca de componentes.

Se você desativar essa configuração e exportar a solução para um ambiente de destino, não poderá editar a biblioteca de componentes.

Não é possível editar a biblioteca de componentes que não permite personalizações.

Dependências da biblioteca de componentes

Os aplicativos que usam componentes da biblioteca de componentes serão marcados como dependentes na infraestrutura de soluções. Esse comportamento se aplica a todos os aplicativos que são adicionados a qualquer solução do Dataverse em um determinado ambiente. Você ainda pode criar aplicativos fora das soluções, mas esses aplicativos não terão nenhuma dependência de solução. Posteriormente, você pode adicionar esses aplicativos a soluções para torná-los parte da solução ALM.

Animação que mostra um aplicativo de tela em uma solução usando o componente da biblioteca de componentes na mesma solução e suas dependências.

Se você importar uma solução que tenha apenas um aplicativo que use um componente de uma biblioteca de componentes, mas excluir a biblioteca de componentes, você verá a seguinte mensagem:

Falha na importação devido à falta de dependências para <nome do aplicativo>.

Nesse caso, você pode optar por instalar a solução de biblioteca de componentes primeiro ou agrupar a biblioteca de componentes com a solução que contém o aplicativo de tela. Qualquer uma das etapas garantiria que o aplicativo terá a dependência criada no ambiente de destino.

Quando a biblioteca é atualizada e uma versão de componente mais recente é importada por meio das soluções, o aplicativo receberá uma notificação e receberá as atualizações quando o aplicativo for aberto para edição.

Observação

Se a propriedade gerenciada da biblioteca de componentes Permitir personalizações estiver desativada , a biblioteca de componentes não poderá ser editada no ambiente de destino.

As dependências são calculadas com base no estado publicado mais recente de um aplicativo. Se você restaurar uma versão mais antiga do aplicativo que não usa um componente de biblioteca, a dependência será removida do aplicativo e da solução. Importar um componente para um aplicativo de uma biblioteca de componentes sem realmente usá-lo também cria uma dependência, pois o componente de biblioteca não utilizado permanece disponível no aplicativo para um uso futuro.

Dica

Editar um componente de uma biblioteca de componentes dentro do aplicativo de consumo cria uma cópia local. Neste ponto, o componente de biblioteca ainda está disponível para uso por meio do painel Inserir . Para remover completamente a dependência, exclua o componente em Inserir>Componentes da biblioteca>... (reticências) >Remover do aplicativo.

Melhores práticas e solução de problemas

  • Limite o número de componentes em uma biblioteca para 20 para obter o desempenho ideal. Planeje e crie várias bibliotecas de componentes com antecedência, pois o número de componentes nelas provavelmente aumentará ao longo do tempo. Essa abordagem também reduzirá a carga útil da solução à medida que os aplicativos são movidos no ambiente.

  • Há um atraso desde quando a biblioteca de componentes é publicada até quando ela está disponível para o aplicativo e pode levar até 5 minutos.

  • Se o aplicativo não conseguir receber a atualização do componente de biblioteca no ambiente de destino em que a solução está instalada, verifique usando as ações abaixo:

    • As alterações feitas em uma biblioteca de componentes em um ambiente de destino residem na camada superior de um componente. Posteriormente, essas personalizações definem o comportamento de runtime do componente. Para remover essas personalizações não gerenciadas, consulte Remover uma camada não gerenciada.
    • Determine o nome lógico da biblioteca de componentes na visão da solução. Use a solução padrão se a biblioteca não for explicitamente adicionada à solução.
    • Baixe o aplicativo usando o componente da biblioteca no computador local usando Arquivo>Salvar como>Este computador. Renomeie o arquivo baixado para ter uma extensão .zip e descompacte o pacote. Abra o arquivo Properties.json e pesquise a palavra-chave "LibraryDependencies". Você deve ver um nome lógico de biblioteca correspondente.
    • Se você estiver consumindo a solução, verifique se o aplicativo Canvas identificou corretamente as bibliotecas de componentes como dependências da solução. Se a solução não identificar corretamente as bibliotecas de componentes como dependências de solução, isso significa que a dependência do aplicativo para o link da biblioteca de componentes não foi criada corretamente. Nesse caso, verifique com o provedor de solução para resolver o problema.
    • Se você for o editor de soluções, verifique se as bibliotecas de componentes são salvas com o nome lógico da biblioteca na solução e se ela é a mesma referenciada no pacote .msapp da biblioteca de componentes.
  • A exportação de solução sempre exporta a versão mais recente da biblioteca de componentes. Portanto, sempre atualize os aplicativos com a versão mais recente do componente antes de exportá-los por meio de soluções. Essa ação garante que os aplicativos tenham a mesma versão de componente disponível na versão mais recente da biblioteca de componentes. Os aplicativos e a biblioteca são considerados sincronizados entre si quando são movidos para um ambiente de destino pela primeira vez; e, portanto, não é solicitado que nenhuma atualização esteja disponível ao editar o aplicativo.

Consulte também