Compartilhar via


Usar propriedades gerenciadas

É possível controlar quais dos componentes da solução gerenciada são personalizáveis, usando as propriedades gerenciadas. Por padrão, todos os componentes da solução são personalizáveis. Todos os componentes da solução têm uma propriedade Pode ser personalizado (IsCustomizable). Contanto que o valor desta propriedade esteja definido como verdadeiro, um maior número de propriedades específicas para o tipo de componente da solução poderá ser especificado. Se você definir a propriedade IsCustomizable.Value para falso, depois que a solução tiver sido instalada como uma solução gerenciada, o componente da solução não será personalizável.

As propriedades gerenciadas garantem que apenas uma solução do mesmo editor poderá alterar o componente. As propriedades gerenciadas afetarão apenas os componentes gerenciados e não forçarão isso nos ambientes de desenvolvimento em que o componente ainda não é gerenciado. O uso da propriedade gerenciada IsCustomized destina-se a garantir que nenhuma outra camada de solução de qualquer outro editor e nenhuma personalização ativa possa ser feita no componente depois de instalado como um solução gerenciada.

A tabela a seguir lista algumas propriedades gerenciais para um subconjunto de componentes da solução disponíveis.

Componente Nome para Exibição Propriedade
Entidade Pode ser personalizado IsCustomizable.Value
Entity O nome para exibição pode ser modificado IsRenameable.Value
Entity Pode ser a entidade relacionada no relacionamento CanBeRelatedEntityInRelationship.Value(Somente Leitura)
Entity Pode ser a entidade primária no relacionamento CanBePrimaryEntityInRelationship.Value(Somente Leitura)
Entity Pode estar em um relacionamento muitos para muitos CanBeInManyToMany.Value(Somente Leitura)
Entity Novos formulários podem ser criados CanCreateForms.Value
Entity Novos gráficos podem ser criados CanCreateCharts.Value
Entity Novas exibições podem ser criadas CanCreateViews.Value
Entity Pode modificar quaisquer outras propriedades de uma entidade não representadas por uma propriedade gerenciada CanModifyAdditionalSettings.Value
Entidade Pode criar atributos CanCreateAttributes.Value
Campo (Atributo) Pode ser personalizado IsCustomizable.Value
Campo (Atributo) O nome de exibição pode ser modificado IsRenameable.Value
Field (Atributo) Pode alterar o nível de requisito RequiredLevel.CanBeChanged

Observação:

RequiredLevel é a única propriedade gerenciada que usa a propriedade CanBeChanged.
Field (Atributo) Pode modificar quaisquer outras propriedades de um atributo não representadas por uma propriedade gerenciada CanModifyAdditionalSettings.Value
Relacionamento de Entidade Pode ser personalizado IsCustomizable.Value
Formulário Pode ser personalizado SystemForm.IsCustomizable.Value
Gráfico Pode ser personalizado SavedQueryVisualization.IsCustomizable.Value
Exibir Pode ser personalizado SavedQuery.IsCustomizable.Value
Conjunto de Opções Pode ser personalizado IsCustomizable.Value
Recurso da Web Pode ser personalizada WebResource.IsCustomizable.Value
Workflow Pode ser personalizada Workflow.IsCustomizable.Value
Workflow A Etapa de Processamento Personalizado é Permitida para Outros Editores Workflow.IsCustomProcessingStepAllowedForOtherPublishers.Value
Assembly Pode ser personalizada SdkMessageProcessingStep.IsCustomizable.Value
Registro de assembly Pode ser personalizada ServiceEndpoint.IsCustomizable.Value
Modelo de Email Pode ser personalizado Template.IsCustomizable.Value
Modelo de Artigo da Base de Dados de Conhecimento Pode ser personalizado KbArticleTemplate.IsCustomizable.Value
Modelo de Contrato Pode ser personalizado ContractTemplate.IsCustomizable.Value
Modelo de Mala Direta Pode ser personalizado MailMergeTemplate.IsCustomizable.Value
Painel Pode ser personalizado SystemForm.IsCustomizable.Value
Funções de Segurança Pode ser personalizado Role.IsCustomizable.Value
Formulário do Sistema Pode ser excluída CanBeDeleted.Value
Consulta do Sistema Pode ser excluída CanBeDeleted.Value

Fluxo de Trabalho A Etapa de Processamento Personalizado é Permitida para Outros Editores

Esta propriedade gerenciada controla se as etapas de plug-in registradas por terceiros para mensagens criadas por ações de processo personalizado serão executadas. O valor padrão é false, o que significa que as etapas do plug-in registradas que não usam o mesmo fornecedor de soluções não serão executadas. Quando isso for true, o editor da ação do processo personalizado permite que as etapas de registro do plug-in sejam executadas.

Atualizar propriedades gerenciadas

Depois de lançar a solução gerenciada, é possível decidir se você deseja alterar as propriedades gerenciadas. Você só poderá alterar as propriedades gerenciadas para torná-las menos restritivas. Por exemplo, após o lançamento inicial, você poderá optar por permitir a personalização de uma entidade.

Atualize as propriedades gerenciadas da solução lançando uma atualização para a solução com as propriedades gerenciadas alteradas. A solução gerenciada só pode ser atualizada por outra solução gerenciada associada ao mesmo registro do fornecedor que a solução gerenciada original. Se a atualização incluir uma alteração nas propriedades gerenciadas para torná-las mais restritivas, essas alterações das propriedades gerenciadas serão ignoradas, mas outras modificações na atualização serão aplicadas.

Como o fornecedor original é um requisito para a atualização das propriedades gerenciadas de uma solução gerenciada, todas as soluções não gerenciadas não poderão ser associadas a um fornecedor usado para instalar uma solução gerenciada.

Nota

Isso significa que não será possível desenvolver uma atualização para a solução usando uma organização onde a solução gerenciada está instalada.

Verificar as propriedades gerenciadas

Use IsComponentCustomizableRequest para verificar se um componente da solução é personalizável. Como alternativa, é possível verificar as propriedades do componente da solução, mas você deve considerar que a determinação final do significado depende dos valores de várias propriedades. Todos os componentes da solução têm uma propriedade IsCustomizable. Quando um componente da solução é instalado como parte de uma solução gerenciada, a propriedade IsManaged será verdadeira. As propriedades gerenciadas são impostas somente para as soluções gerenciadas. Ao verificar as propriedades gerenciadas para determinar se um componente individual da solução é personalizável, verifique as propriedades IsCustomizable e IsManaged. Um componente da solução em que IsCustomizable é falso e IsManaged é falso é personalizável.

A entidade e o atributo têm mais propriedades gerenciadas além de IsCustomizable. Essas propriedades gerenciadas não serão atualizadas se IsCustomizable for definido para falso. Isso significa que além de verificar a propriedade gerenciada individual, você também deve verificar a propriedade IsCustomizable para determinar se a propriedade gerenciada está sendo imposta.

Consulte também

Propriedades gerenciadas