Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As soluções são compostas por componentes de solução. Utiliza a área Soluções no Microsoft Dataverse para criar ou adicionar componentes de solução. Pode executar estas ações programaticamente através da mensagem AddSolutionComponentRequest ou de quaisquer mensagens que criam ou atualizam componentes de solução que incluam um parâmetro SolutionUniqueName.
Os componentes da solução dependem frequentemente de outros componentes da solução. Pode eliminar qualquer componente de solução que tenha dependências noutro componente de solução. Por exemplo, normalmente um friso personalizado requer recursos Web de imagem ou scripts para apresentar ícones e executar ações que utilizam scripts. Desde que o friso personalizado esteja na solução, são necessários os recursos Web específicos que utiliza. Antes de poder eliminar os recursos Web, tem de remover as referências a eles no friso personalizado. Estas dependências de componentes da solução podem ser vistas na aplicação ao selecionar em Mostrar Dependências.
Este artigo descreve os tipos de componentes de solução que pode incluir nas suas soluções e como dependem uns dos outros.
Todos os componentes de solução
A lista completa de tipos de componentes de soluções disponíveis está localizada na coluna de escolha global componenttype do sistema. O intervalo de valores suportado para esta propriedade está disponível ao incluir o ficheiro OptionSets.cs ou OptionSets.vb no seu projeto. No entanto, muitos dos tipos de componentes de solução aí listados são apenas para uso interno e a lista não fornece informações sobre a relação entre componentes de solução.
Dependências de componentes da solução
As dependências de componentes da solução ajudam a assegurar que tem uma experiência fiável quando trabalha com soluções. Evitam que as ações que normalmente executa quebrem intencionalmente as personalizações definidas numa solução. Estas dependências são o que permite a instalação e desinstalação de uma solução gerida simplesmente ao importar ou eliminar uma solução.
O quadro de soluções rastreia automaticamente as dependências para os componentes de solução. Cada operação num componente de solução calcula automaticamente quaisquer dependências com outros componentes no sistema. A informação de dependência é utilizada para manter a integridade do sistema e impedir operações que podem conduzir a um estado inconsistente.
Como resultado do rastreio de dependências, são impostos os seguintes comportamentos:
A eliminação de um componente é evitada se outro componente no sistema depender dele.
A exportação de uma solução avisa o utilizador se faltar algum componente que possa causar falhas ao importar essa solução noutro ambiente.
Os avisos durante a exportação podem ser ignorados se o programador da solução pretender que a solução seja instalada apenas num ambiente onde se espera que existam componentes dependentes. Por exemplo, quando cria uma solução concebida para ser instalada sobre uma solução "base" pré-instalada.
A importação de uma solução falha se todos os componentes necessários não estiverem incluídos na solução e também não existirem no ambiente de destino.
Além disso, quando importa uma solução gerida, todos os componentes necessários têm de corresponder ao tipo de pacote da solução. Um componente numa solução gerida só pode depender de outro componente gerido.
Existem três tipos de dependências de componentes da solução:
- Interno da solução. As dependências internas são geridas pelo Dataverse. Estas dependências existem quando um determinado componente da solução não pode existir sem outro componente da solução.
- Publicada. As dependências publicadas são criadas quando dois componentes da solução são relacionados entre si e, em seguida, publicados. Para remover este tipo de dependência, a associação tem de ser removida e as tabelas publicadas novamente.
- Não Publicada. As dependências não publicadas aplicam-se à versão não publicada de um componente de solução publicável que está a ser atualizado. Após a publicação do componente de solução, torna-se uma dependência publicada.
As dependências internas da solução são dependências em que as ações com um componente de solução exigem uma ação para outro componente de solução. Por exemplo, se eliminar uma tabela, deve esperar que todos os atributos da tabela sejam eliminados com ela. Todas as relações de tabela com outras tabelas também são eliminadas.
No entanto, uma dependência interna poderá levar a uma dependência publicada e ainda requerer a intervenção manual. Por exemplo, se incluir um campo de procura num formulário de tabela e, em seguida, eliminar a tabela primária na relação, não poderá concluir essa eliminação enquanto não remover a coluna de procura do formulário de tabela relacionado e, em seguida, publicar o formulário.
Quando executa ações programaticamente com soluções, pode utilizar mensagens relacionadas com a tabela Dependency. Aceda a Dependência da Entidade para ver as mensagens que pode utilizar para identificar as dependências que poderão existir antes de eliminar um componente ou desinstalar uma solução.
Componentes da solução comuns
Estes são os componentes da solução apresentados na aplicação e os componentes com os quais trabalha diretamente ao adicionar ou remover componentes de solução ao utilizar a página da solução. Cada um dos outros tipos de componentes de solução depende da existência de um ou mais destes componentes de solução.
- Frisos de aplicação
- Entidade
- Relatório
- Modelo de artigo
- Perfil de segurança de coluna
- Passo de processamento de mensagens SDK
- Função de ligação
- Modelo de intercalação de correio
- Direito de acesso
- Modelo de contrato
- Conjunto de opções
- Ponto final de serviço
- Formulário de entidade ou dashboard
- Assemblagem de plug-in
- Mapa do site
- Modelo de e-mail
- Processo
- Recurso Web
Frisos da aplicação (RibbonCustomization)
Personalizações do friso para os modelos de friso de aplicação e friso de tabela. Os frisos da aplicação não incluem definições dos frisos ao nível da tabela ou do formulário.
Os frisos de aplicações personalizados têm muitas vezes dependências publicadas em recursos Web. Os recursos Web são utilizados para definir os ícones dos botões do friso e as funções JavaScript para controlar quando os elementos do friso são apresentados ou que ações são executadas quando um determinado controlo do friso é utilizado. As dependências só são criadas quando as definições do friso utilizam a diretiva $webresource: para associar o recurso Web ao friso. Mais informações: Diretiva $webresource
Modelo de artigo (KBArticleTemplate)
Modelo que contém os atributos padrão de um artigo. Existe sempre uma dependência interna entre o modelo do artigo e a tabela KbArticle.
Função de ligação (ConnectionRole)
Função que descreve uma relação entre dois registos. Cada função de ligação define os tipos de registos de entidades que podem ser ligados através da função de ligação. Isto cria uma dependência publicada entre a função de ligação e a tabela.
Modelo de contrato (ContractTemplate)
Modelo que contém os atributos padrão de um contrato. Existe sempre uma dependência interna entre o modelo de contrato e a tabela do contrato.
Formulário de entidade ou dashboard (SystemForm)
Os registos de tabela de formulário do sistema são utilizados para definir formulários de tabela e dashboard. Quando um SystemForm é utilizado como um formulário de tabela, existe uma dependência interna na tabela. Quando um SystemForm é utilizado como um dashboard, não existem dependências internas. É normal os dashboards e formulários de tabela terem dependências publicadas relacionadas com o respetivo conteúdo. Um formulário de tabela pode ter colunas de procura que dependem de uma relação de tabela. Os formulários de tabela e os dashboards podem conter gráficos ou subgrelhas que criam uma dependência publicada numa vista, que depois tem uma dependência interna numa tabela. Uma dependência publicada em recursos Web pode ser criada devido ao conteúdo apresentado no dashboard ou formulário, ou quando um formulário contém bibliotecas JavaScript. Os formulários de tabela têm dependências publicadas em quaisquer atributos que sejam apresentados como colunas no formulário.
Modelo de e-mail (EmailTemplate)
Modelo que contém os atributos padrão de uma mensagem de e-mail. Normalmente, um modelo de e-mail inclui colunas que inserem dados de atributos de tabelas especificadas. Um modelo de e-mail pode ser ligado a uma tabela específica quando é criado para que possa haver uma dependência interna na tabela. Um modelo de e-mail global não está associado a uma tabela específica, mas poderá ter publicado dependências em atributos de tabelas utilizados para fornecer dados. É frequente um processo (fluxo de trabalho) ser configurado para enviar um e-mail através de um modelo de e-mail ao criar uma dependência publicada com o fluxo de trabalho.
Entidade (Entity)
As tabelas, anteriormente conhecidas como entidades, são a estrutura primária usada para modelar e gerir dados no Dataverse. Os gráficos, formulários, relações entre tabelas, vistas e atributos associados a uma tabela são eliminados automaticamente quando a tabela é eliminada devido às dependências internas entre eles. É frequente as tabela terem dependências publicadas com processos, dashboards e modelos de e-mail.
Perfil de segurança de coluna (FieldSecurityProfile)
Perfil que define o nível de acesso dos atributos seguros.
Modelo de impressão em série (MailMergeTemplate)
Modelo que contém os atributos padrão de um documento de impressão em série. Um modelo de impressão em série tem uma dependência publicada na tabela à qual está associado.
Conjunto de opções (OptionSet)
Uma coluna de escolha, anteriormente conhecida como conjunto de opções, define um conjunto de opções. Um atributo de lista de opções utiliza uma escolha para definir as opções fornecidas. Vários atributos de lista de opções poderão utilizar uma escolha global para as opções que fornecem serem sempre as mesmas e poderem ser mantidas num só local. Uma dependência publicada ocorre quando um atributo de lista de opções referencia uma escolha global. Não é possível eliminar uma escolha global que esteja a ser utilizada por um atributo da lista de opções.
Assemblagem de Plug-in (PluginAssembly)
Assemblagem que contém um ou mais tipos de plug-in. Os plug-ins são registados em eventos que normalmente estão associados a uma tabela. Isto cria uma dependência publicada.
Processo (Workflow)
Conjunto de regras lógicas que definem os passos necessários à automatização de um processo de negócio específico, tarefa ou conjunto de ações a executar. Os processos fornecem uma vasta gama de ações que criam dependências publicadas em qualquer outro componente de solução referenciado pelo processo. Cada processo também tem uma dependência publicada na tabela à qual está associado.
Relatório (Report)
Resumo de dados num esquema de leitura fácil. Um relatório tem dependências publicadas em qualquer tabela ou dados de atributos incluídos no relatório. Cada relatório também tem de ser associado a uma categoria Relatório que cria uma dependência interna num componente de solução denominado Categoria Relacionada com o Relatório (ReportCategory). Os relatórios podem ser configurados para serem sub-relatórios ao criar uma dependência publicada com o relatório principal.
Passo de processamento de mensagens SDK (SDKMessageProcessingStep)
Fase no pipeline de execução na qual um plug-in deve ser executado.
Direito de acesso (Role)
Agrupamento de privilégios de segurança. São atribuídas direitos de acesso aos utilizadores que autorizam o respetivo acesso ao sistema do Dataverse. Os formulários de tabela podem ser associados a direitos de acesso específicos para controlar quem pode ver o formulário. Isto cria uma dependência publicada entre o direito de acesso e o formulário.
Nota
Só os direitos de acesso da unidade de negócio do ambiente podem ser adicionados a uma solução. Só um utilizador com acesso de leitura a esses direitos de acesso pode adicioná-los a uma solução.
Ponto final de serviço (ServiceEndpoint)
Ponto final de serviço que pode ser contactado.
Mapa do site (SiteMap)
Dados XML utilizados para controlar o painel de navegação da aplicação. O mapa do site poderá estar ligado para apresentar um recurso Web HTML ou um ícone no mapa do site poderá utilizar um recurso Web da imagem. Quando a diretiva $webresource: é utilizada para estabelecer estas associações, é criada uma dependência publicada. Mais informações: Diretiva $webresource
Recurso Web (WebResource)
Dados equivalentes a ficheiros usados para expandir um aplicação condicionada por modelo ou em desenvolvimento Web. Os recursos Web fornecem componentes do lado do cliente que são utilizados para fornecer elementos de interface de utilizador personalizados. Os recursos Web poderão ter dependências publicadas com formulários de tabela, frisos e o mapa do site. Quando a diretiva $webresource: é utilizada para estabelecer associações num friso ou no mapa do site, é criada uma dependência publicada. Para mais informações, aceda a Diretiva $webresource.
Nota
Os recursos Web poderão depender de outros recursos Web baseados em ligações relativas. Por exemplo, um recurso Web HTML poderá utilizar um recurso Web do script ou CSS. Um recurso Web Silverlight apresentado fora de um gráfico ou formulário de tabela tem de ter um recurso Web HTML para alojá-lo. Estas dependências não são rastreadas como dependências de solução.