Utilizar propriedades geridas
Pode controlar quais os componentes da sua solução gerida que são personalizáveis utilizando as propriedades geridas. Por predefinição, todos os componentes de solução personalizada são personalizáveis. Cada componente de solução tem uma propriedade Pode ser personalizado (IsCustomizable
). Desde que o valor desta propriedade esteja definido como true, mais propriedades específicas do tipo de componente de solução podem ser especificadas. Se definir a propriedade IsCustomizable.Value
como falsa, depois de a solução ser instalada como uma solução gerida, o componente de solução não será personalizável.
As propriedades geridas asseguram que apenas uma solução do mesmo editor conseguirão alterar o componente. As propriedades geridas só afetam componentes geridos e não o forçam nos ambientes de desenvolvimento onde o componente ainda é não gerido. A utilização da propriedade gerida IsCustomized
destina-se a assegurar que não existe outra camada de solução de qualquer outro editor e não é possível efetuar personalizações ativas no componente depois deste ser instalado como uma solução gerida.
A tabela seguinte lista algumas propriedades geridas para uma subconjunto de componentes de solução disponíveis.
Componente | Nome a apresentar | Propriedade |
---|---|---|
Entidade | Pode ser personalizado | IsCustomizable.Value |
Entidade | O nome a apresentar pode ser modificado | IsRenameable.Value |
Entidade | Pode ser a entidade relacionada numa relação | CanBeRelatedEntityInRelationship.Value (Somente leitura) |
Entidade | Pode ser a entidade primária numa relação | CanBePrimaryEntityInRelationship.Value (Somente leitura) |
Entidade | Pode estar numa relação muitos-para-muitos | CanBeInManyToMany.Value (Somente leitura) |
Entidade | Pode criar formulários novos | CanCreateForms.Value |
Entidade | Pode criar gráficos novos | CanCreateCharts.Value |
Entidade | Pode criar vistas novas | CanCreateViews.Value |
Entidade | Pode alterar quaisquer outras propriedades da entidade não representadas por uma propriedade gerida | CanModifyAdditionalSettings.Value |
Entidade | Pode criar atributos | CanCreateAttributes.Value |
Campo (Atributo) | Pode ser personalizado | IsCustomizable.Value |
Campo (Atributo) | O nome a apresentar pode ser modificado | IsRenameable.Value |
Campo (Atributo) | Pode alterar o nível de obrigatoriedade | RequiredLevel.CanBeChanged Nota: RequiredLevel é a única propriedade gerenciada a usar a CanBeChanged propriedade. |
Campo (Atributo) | Pode alterar quaisquer outras propriedades do atributo não representadas por uma propriedade gerida | CanModifyAdditionalSettings.Value |
Relação de Entidade | Pode ser personalizado | IsCustomizable.Value |
Formulário | Pode ser personalizado | SystemForm.IsCustomizable.Value |
Gráfico | Pode ser personalizado | SavedQueryVisualization.IsCustomizable.Value |
Vista | Pode ser personalizado | SavedQuery.IsCustomizable.Value |
Conjunto de Opções | Pode ser personalizado | IsCustomizable.Value |
Recurso Web | Pode ser personalizado | WebResource.IsCustomizable.Value |
Fluxo de trabalho | Pode ser personalizado | Workflow.IsCustomizable.Value |
Fluxo de trabalho | É o Passo de Processamento Personalizado Permitido para Outros Editores | Workflow.IsCustomProcessingStepAllowedForOtherPublishers.Value |
Assemblagem | Pode ser personalizado | SdkMessageProcessingStep.IsCustomizable.Value |
Registo de Assemblagem | Pode ser personalizado | ServiceEndpoint.IsCustomizable.Value |
Modelo de Correio Electrónico | Pode ser personalizado | Template.IsCustomizable.Value |
Modelo de Artigo BDC | Pode ser personalizado | KbArticleTemplate.IsCustomizable.Value |
Modelo de Contrato | Pode ser personalizado | ContractTemplate.IsCustomizable.Value |
Modelo de Impressão em Série | Pode ser personalizado | MailMergeTemplate.IsCustomizable.Value |
Dashboard | Pode ser personalizado | SystemForm.IsCustomizable.Value |
Direitos de Acesso | Pode ser personalizado | Role.IsCustomizable.Value |
Formulário de Sistema | Pode ser eliminado | CanBeDeleted.Value |
Consulta de Sistema | Pode ser eliminado | CanBeDeleted.Value |
O Fluxo de Trabalho é o Passo de Processamento Personalizado Permitido para Outros Editores
Esta propriedade gerida controla se os passos de plug-in registados por terceiros para mensagens criadas por ações de processo personalizadas serão executadas. O valor predefinido é false
, o que significa que os passos de plug-in registados que não utilizem o mesmo fabricante de soluções não serão executadas. Quando isto é true
, o editor da ação de processo personalizado permite que os passos de registo de plug-in registadas sejam executados.
Atualizar propriedades geridas
Depois de lançar a sua solução gerida, poderá decidir que pretende alterar as propriedades geridas. Só pode alterar as propriedades geridas para as tornar menos restritivas. Por exemplo, após o lançamento inicial pode decidir permitir a personalização de uma entidade.
Atualize as propriedades geridas para a sua solução ao lançar uma atualização para a sua solução com as propriedades geridas alteradas. A sua solução gerida só pode ser atualizada por outra solução gerida associada ao mesmo registo de editor que a solução gerida original. Se a sua atualização incluir uma alteração nas propriedades geridas para torná-las mais restritivas, essas alterações à propriedade gerida serão ignoradas, mas outras alterações na atualização serão aplicadas.
Como o editor original é um requisito para atualizar as propriedades geridas para uma solução gerida, qualquer solução não gerida não pode ser associada a um editor que tenha sido utilizado para instalar uma solução gerida.
Nota
Isto significa que não poderá desenvolver uma atualização para a sua solução ao utilizar uma organização onde a sua solução gerida está instalada.
Verificar propriedades geridas
Utilize IsComponentCustomizableRequest para verificar se um componente de solução é personalizável. Em alternativa, pode verificar as propriedades do componente de solução, mas tem de ter em consideração que a determinação final do significado depende dos valores de várias propriedades. Cada componente de solução tem uma propriedade IsCustomizable
. Quando um componente de solução é instalado como parte de um solução gerida, a propriedade IsManaged
será verdadeira. As propriedades geridas só são impostas para as soluções geridas. Ao verificar as propriedades geridas para determinar se um componente de solução individual é personalizável, tem de verificar as propriedades IsCustomizable
e IsManaged
. Um componente de solução em que IsCustomizable
é false e IsManaged
é false, é personalizável.
A entidade e o atributo têm mais propriedades geridas além de IsCustomizable
. Estas propriedades geridas não são atualizadas se IsCustomizable
for definida como falsa. Isto significa que, além de verificar a propriedade gerida individual, também tem de verificar a propriedade IsCustomizable
para verificar se a propriedade gerida está a ser aplicada.