Usar propiedades administradas
Puede controlar cuáles componentes de la solución administrada se pueden personalizar mediante el uso de propiedades administradas. De forma predeterminada, todos los componentes de la solución son personalizables. Cada componente de la solución tiene una propiedad Se puede personalizar (IsCustomizable
). Siempre que el valor de esta propiedad esté establecido en True, se pueden especificar más propiedades específicas del tipo de componente de la solución. Si establece la propiedad IsCustomizable.Value
en el valor False, después de instalar la solución como una solución administrada, el componente de la solución no se podrá personalizar.
Las propiedades administradas garantizan que solo una solución del mismo editor podrá cambiar el componente. Las propiedades administradas solo afectarán a los componentes administrados y no se imponen en los entornos de desarrollo donde el componente aún no está administrado. El uso de la propiedad administrada IsCustomized
tiene como objetivo garantizar que no se pueda realizar ninguna otra capa de solución de ningún otro editor, y que no se puedan realizar personalizaciones activas en el componente una vez que se haya instalado como solución administrada.
La siguiente tabla muestra algunas propiedades administradas para un subconjunto de componentes de la solución.
Componente | Nombre para mostrar | Propiedad |
---|---|---|
Entidad | Se puede personalizar | IsCustomizable.Value |
Entity | Se puede modificar el nombre para mostrar | IsRenameable.Value |
Entity | Puede ser entidad relacionada en una relación | CanBeRelatedEntityInRelationship.Value (Solo lectura) |
Entity | Puede ser entidad principal en la relación | CanBePrimaryEntityInRelationship.Value (Solo lectura) |
Entity | Puede estar en relación de varios a varios | CanBeInManyToMany.Value (Solo lectura) |
Entity | Se pueden crear nuevos formularios | CanCreateForms.Value |
Entity | Se pueden crear nuevos gráficos | CanCreateCharts.Value |
Entity | Se pueden crear nuevas vistas | CanCreateViews.Value |
Entity | Puede cambiar cualquier otra propiedad de entidad no representada por una propiedad administrada | CanModifyAdditionalSettings.Value |
Entidad | Puede crear atributos | CanCreateAttributes.Value |
Campo (atributo) | Se puede personalizar | IsCustomizable.Value |
Campo (atributo) | El nombre para mostrar se puede modificar | IsRenameable.Value |
Campo (atributo) | Se puede cambiar el nivel de requisito | RequiredLevel.CanBeChanged Nota: RequiredLevel es la única propiedad administrada que utiliza la propiedad. CanBeChanged |
Campo (atributo) | Puede cambiar cualquier otra propiedad de atributo no representada por una propiedad administrada | CanModifyAdditionalSettings.Value |
Relación de entidad | Se puede personalizar | IsCustomizable.Value |
Formulario | Se puede personalizar | SystemForm.IsCustomizable.Value |
Gráfico | Se puede personalizar | SavedQueryVisualization.IsCustomizable.Value |
Vista | Se puede personalizar | SavedQuery.IsCustomizable.Value |
Conjunto de opciones | Se puede personalizar | IsCustomizable.Value |
Recurso web | Se puede personalizar | WebResource.IsCustomizable.Value |
Workflow | Se puede personalizar | Workflow.IsCustomizable.Value |
Workflow | Se permite el paso de procesamiento personalizado para otros editores | Workflow.IsCustomProcessingStepAllowedForOtherPublishers.Value |
Ensamblado | Se puede personalizar | SdkMessageProcessingStep.IsCustomizable.Value |
Registro de ensamblados | Se puede personalizar | ServiceEndpoint.IsCustomizable.Value |
Plantilla de correo electrónico | Se puede personalizar | Template.IsCustomizable.Value |
Plantilla de artículo de KB | Se puede personalizar | KbArticleTemplate.IsCustomizable.Value |
Plantilla de contrato | Se puede personalizar | ContractTemplate.IsCustomizable.Value |
Plantilla de combinación de correspondencia | Se puede personalizar | MailMergeTemplate.IsCustomizable.Value |
Panel | Se puede personalizar | SystemForm.IsCustomizable.Value |
Roles de seguridad | Se puede personalizar | Role.IsCustomizable.Value |
Formulario del sistema | Se puede eliminar | Se puede eliminar.Value |
Consultar del sistema | Se puede eliminar | Se puede eliminar.Value |
Flujo de trabajo Se permite el paso de procesamiento personalizado para otros editores
Esta propiedad administrada controla si se ejecutarán los pasos del complemento registrados por terceros para los mensajes creados por acciones de procesos personalizados. El valor predeterminado es false
, lo que significa que los pasos del complemento registrados que no utilizan el mismo editor de soluciones no se ejecutarán. Cuando esto es true
, el editor de la acción del proceso personalizado permite que se ejecuten los pasos de registro del complemento registrado.
Actualización de las propiedades administradas
Después de publicar la solución administrada, puede decidir que desea cambiar las propiedades administradas. Solo puede cambiar las propiedades administradas para hacerlas menos restrictivas. Por ejemplo, después de publicar la versión inicial, puede decidir permitir la personalización de una entidad.
Para actualizar las propiedades administradas de la solución, publique una actualización de la solución con las propiedades administradas modificadas. La solución administrada solo se puede actualizar mediante otra solución administrada asociada con el mismo registro de editor que la solución administrada original. Si la actualización incluye un cambio en las propiedades administradas para hacerlas más restrictivas, esos cambios en las propiedades administradas se ignorarán pero se aplicarán los otros cambios de la actualización.
Puesto que el editor original es un requisito para actualizar las propiedades administradas de una solución administrada, ninguna solución no administrada se podrá asociar con un editor que se haya utilizado para instalar una solución administrada.
Nota
Esto significa que no podrá desarrollar una actualización de la solución con una organización en la que está instalada la solución administrada.
Comprobación de las propiedades administradas
Use IsComponentCustomizableRequest para comprobar si un componente de la solución es personalizable. O bien, puede comprobar las propiedades del componente de la solución, pero debe tener en cuenta que la resolución final del significado depende de los valores de varias propiedades. Cada componente de la solución tiene una propiedad IsCustomizable
. Cuando se instala un componente de la solución como parte de una solución administrada, el valor de la propiedad IsManaged
será True. Las propiedades administradas se aplican únicamente para las soluciones administradas. Al comprobar las propiedades administradas para determinar si un componente de la solución individual es personalizable, debe comprobar las propiedades IsCustomizable
y IsManaged
. Un componente de la solución en el que el valor de IsCustomizable
es falso y el de IsManaged
es falso, se puede personalizar.
La entidad y el atributo tienen más propiedades administradas además de IsCustomizable
. Estas propiedades administradas no se actualizan si el valor de IsCustomizable
se establece en False. Esto significa que, además de comprobar la propiedad administrada individual, también debe comprobar la propiedad IsCustomizable
para ver si se está aplicando la propiedad administrada.