Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las soluciones se componen de componentes de solución. Utilice el área Soluciones de Microsoft Dataverse para crear o agregar componentes de solución. Puede realizar estas acciones mediante programación usando el mensaje AddSolutionComponentRequest o cualquier mensaje que cree o actualice componentes de la solución que incluyen un parámetro de SolutionUniqueName.
Los componentes de la solución a menudo dependen de otros componentes. No puede eliminar ningún componente de la solución que tenga dependencia de otro componente de la solución. Por ejemplo, una cinta personalizada requiere normalmente recursos web de imagen o de script para mostrar iconos y realizar acciones mediante scripts. Mientras la cinta personalizada esté en la solución, serán necesarios los recursos web específicos que use. Para poder eliminar los recursos web debe quitar las referencias a ellos en la cinta personalizada. Para ver estas dependencias de componentes de solución en la aplicación, seleccione Mostrar dependencias.
Este artículo describe los tipos de componentes de la solución que se puede incluir en sus soluciones y cómo dependen unos de otros.
Todos los componentes de la solución
La columna de elección global del sistema componenttype contiene la lista completa de tipos de componentes de solución disponibles. Puede ver el intervalo de valores admitido para esta propiedad incluyendo el archivo OptionSets.cs o OptionSets.vb en el proyecto. Sin embargo, muchos de los tipos de componentes de solución enumerados solo existen para uso interno y la lista no proporciona información sobre las relaciones entre los componentes de la solución.
Dependencias de componentes de solución
Las dependencias de componentes de solución garantizan que tiene una experiencia confiable al trabajar con soluciones. Evitan que las acciones que normalmente se realizan alteren de forma accidental las personalizaciones definidas en una solución. Estas dependencias son las que permiten que una solución administrada se instale y desinstale simplemente importando o eliminando una solución.
El marco de soluciones realiza un seguimiento automático de las dependencias de los componentes de la solución. Cada operación de un componente de la solución calcula automáticamente las dependencias a otros componentes del sistema. El sistema usa la información de dependencia para mantener su integridad y evitar operaciones que podrían provocar un estado incoherente.
Como resultado del seguimiento de la dependencia, se aplican los siguientes comportamientos:
Se evita la eliminación de un componente si otro componente del sistema depende de él.
La exportación de una solución le advierte si faltan componentes que podrían hacer que falle la importación de esa solución en otro entorno.
Puede omitir las advertencias durante la exportación si pretende que la solución se instale solo en un entorno en el que se espera que existan componentes dependientes. Por ejemplo, al crear una solución diseñada para instalarse sobre una solución "base" preinstalada.
La importación de una solución falla si la solución no incluye todos los componentes necesarios y el entorno de destino aún no los tiene.
Al importar una solución administrada, todos los componentes necesarios deben coincidir con el tipo de paquete de la solución. Un componente de una solución administrada solo puede depender de otro componente administrado.
Existen tres tipos de dependencias de componentes de solución:
- Solución interna. Dataverse administra las dependencias internas. Estas dependencias existen cuando un componente de solución determinado no puede existir sin otro componente de solución.
- Publicado. Dataverse crea dependencias publicadas cuando dos componentes de la solución están relacionados entre sí y, a continuación, se publican. Para quitar este tipo de dependencia, debe quitar la asociación y volver a publicar las tablas.
- Sin publicar. Las dependencias sin publicar se aplican a la versión sin publicar de un componente de la solución publicable que se está actualizando. Después de publicar el componente de solución, se convierte en una dependencia publicada.
Las dependencias internas de la solución son dependencias en las que las acciones con un componente de la solución necesitan una acción para otro componente de la solución. Por ejemplo, si elimina una tabla, espera que todos los atributos de tabla se eliminen con ella. El sistema también elimina las relaciones de tabla con otras tablas.
Sin embargo, una dependencia interna puede llevar a una dependencia publicada y seguir necesitando intervención manual. Por ejemplo, si incluye un campo de búsqueda en un formulario de tabla y, a continuación, elimina la tabla principal de la relación, no puede completar esa eliminación hasta que quite la columna de búsqueda del formulario de tabla relacionada y, a continuación, publique el formulario.
Al realizar acciones mediante programación con soluciones, use mensajes relacionados con la tabla Dependency. Consulte Entidad de dependencia para ver los mensajes que puede usar para identificar las dependencias que pueden existir antes de eliminar un componente o desinstalar una solución.
Componentes comunes de la solución
Estos componentes de solución aparecen en la aplicación. Trabajas con ellos directamente al agregar o quitar componentes de solución a través de la página de la solución. Cada uno de los otros tipos de componentes de solución depende de uno o varios de estos componentes de solución.
- Cintas de la aplicación
- Entidad
- Informe
- Plantilla de artículo
- Perfil de seguridad de columna
- Paso de procesamiento de mensajes del SDK
- Función de conexión
- Plantilla de combinación de correspondencia
- Rol de seguridad
- Plantilla de contrato
- Conjunto de opciones
- Extremo de servicio
- Panel o formulario de entidad
- Ensamblaje del complemento
- Mapa del sitio web
- Plantilla de correo electrónico
- Proceso
- Recurso web
Cintas de la aplicación (RibbonCustomization)
Personalizaciones de cinta de opciones para las plantillas de la cinta de opciones de la tabla y la cinta de opciones de la aplicación. Las cintas de la aplicación no incluyen definiciones de cintas en el nivel de la tabla o del formulario.
Las cintas personalizadas de la aplicación con frecuencia tienen dependencias publicadas de recursos web. Utilice recursos web para definir iconos de botón de cinta de opciones y funciones de JavaScript que controlan cuándo se muestran los elementos de la cinta de opciones o qué acciones se realizan cuando se usa un control de cinta de opciones determinado. Las dependencias solo se crean cuando las definiciones de la cinta usan la $webresource: directiva para asociar el recurso web a la cinta de opciones. Para obtener más información, consulte $webresource directive.
Plantilla de artículo (KBArticleTemplate)
La plantilla que contiene los atributos estándar de un artículo. Siempre existe una dependencia interna entre la plantilla de artículo y la tabla KbArticle.
Rol de conexión (ConnectionRole)
Rol que describe una relación entre dos registros. Cada rol de conexión define qué tipos de registros de entidad se pueden vincular mediante el rol de conexión. Este rol crea una dependencia publicada entre el rol de conexión y la tabla.
Plantilla de contrato (ContractTemplate)
La plantilla que contiene los atributos estándar de un contrato. Siempre existe una dependencia interna entre la plantilla del contrato y la tabla del contrato.
Cuadro de mandos o formulario de entidad (SystemForm)
Utilice registros de la tabla de formularios del sistema para definir paneles y formularios de tabla. Al usar SystemForm como formulario de tabla, existe una dependencia interna de la tabla. Cuando se usa como un panel SystemForm, no hay dependencias internas. Tanto los formularios de tablas como los paneles suelen tener dependencias publicadas relacionadas con su contenido. Un formulario de tabla puede tener columnas de búsqueda que dependen de una relación de tabla. Tanto los paneles como los formularios de tablas pueden contener gráficos o subcuadrículas que crean una dependencia publicada respecto de una vista, que, a su vez, tiene una dependencia interna respecto de una tabla. Una dependencia publicada de recursos web se puede crear debido al contenido que aparece en el panel o el formulario o cuando un formulario contiene las bibliotecas de JavaScript. Los formularios de tablas tienen dependencias publicadas de cualquier atributo que se muestre como columna del formulario.
Plantilla de correo electrónico (EmailTemplate)
Plantilla que contiene los atributos estándar de un mensaje de correo electrónico. Una plantilla de correo electrónico normalmente incluye columnas que insertan datos de atributos especificados de la tabla. Puede vincular una plantilla de correo electrónico a una tabla específica al crearla, por lo que puede haber una dependencia interna de la tabla. Una plantilla de correo electrónico global no está asociada a una tabla específica, pero es posible que haya publicado dependencias en los atributos de tabla que se usan para proporcionar datos. Un proceso (flujo de trabajo) se configura con frecuencia para enviar un correo electrónico mediante una plantilla de correo electrónico, creando una dependencia publicada con el flujo de trabajo.
Entidad (Entidad)
Las tablas, anteriormente conocidas como entidades, son la estructura principal utilizada para modelar y administrar datos en Dataverse. Debido a las dependencias internas entre ellas, al eliminar una tabla, también se eliminan gráficos, formularios, relaciones de tabla, vistas y atributos asociados a esa tabla. Las tablas con frecuencia tienen publicadas dependencias con procesos, paneles y plantillas de correo electrónico.
Perfil de seguridad de columna (FieldSecurityProfile)
Perfil que define el nivel de acceso para los atributos protegidos.
Plantilla de combinación de correspondencia (MailMergeTemplate)
Plantilla que contiene los atributos estándar de un documento de combinación de correspondencia. Una plantilla de combinación de correspondencia tiene una dependencia publicada de la tabla con la que está asociada.
Conjunto de opciones (OptionSet)
Una columna de opciones, anteriormente conocida como conjunto de opciones, define un conjunto de opciones. Un atributo de lista desplegable usa una elección para definir las opciones que proporciona. Varios atributos de lista desplegable pueden usar una opción global de modo que las opciones que proporcionen sean siempre las mismas y pueden mantenerse en un solo lugar. Una dependencia publicada se produce cuando un atributo de lista desplegable hace referencia a una opción global. No puede eliminar una opción global que esté siendo usada por un atributo de lista desplegable.
Ensamblaje de complemento (PluginAssembly)
Ensamblado que contiene uno o más tipos de complementos. Los complementos modulares se registran en los eventos asociados normalmente con una tabla. Este registro crea una dependencia publicada.
Proceso (Flujo de trabajo)
Conjunto de reglas lógicas que definen los pasos necesarios para automatizar un proceso de negocio específico, una tarea o un conjunto de acciones a realizar. Los procesos proporcionan una amplia gama de acciones que crean dependencias declaradas en cualquier otro componente de la solución al que hace referencia el proceso. Cada proceso tiene también una dependencia publicada respecto de la tabla con la que está asociada.
Informe (Informe)
Resumen de datos en un diseño fácil de leer. Un informe ha publicado dependencias de los datos de cualquier tabla o atributo incluidos en el informe. Cada informe también debe estar asociado a una categoría de informe, creando una dependencia interna en un componente de solución denominado Report Related Category (ReportCategory). Puede configurar informes para que sean subinformes, creando una dependencia publicada con el informe principal.
Paso de procesamiento del mensaje de SDK (SDKMessageProcessingStep)
Fase de la canalización de ejecución en la que se debe ejecutar un complemento.
Rol de seguridad (Rol)
Agrupación de privilegios de seguridad. Asigne roles de seguridad a los usuarios para autorizar su acceso al sistema de Dataverse. Asocie formularios de tabla con roles de seguridad específicos para controlar quién puede ver el formulario. Esta asociación crea una dependencia publicada entre el rol de seguridad y el formulario.
Nota
Solo puede agregar roles de seguridad desde la unidad de negocio del entorno a una solución. Solo un usuario con acceso de lectura a estos roles de seguridad puede agregarlos a una solución.
Punto de conexión de servicio (ServiceEndpoint)
Endpoint del servicio con el que puede ponerse en contacto.
Mapa del sitio (SiteMap)
Datos de XML usados para controlar el panel de navegación de la aplicación. Puede vincular el mapa del sitio para mostrar un recurso web HTML o un icono en el mapa de sitio podría usar un recurso web de imagen. Cuando se usa la $webresource: directiva para establecer estas asociaciones, se crea una dependencia publicada. Para obtener más información, consulte la directiva $webresource.
Recurso web (WebResource)
Datos equivalentes a archivos utilizados para extender una aplicación basada en modelo o en el desarrollo web. Los recursos web proporcionan los componentes de cliente que se usan para proporcionar elementos de la interfaz de usuario personalizados. Los recursos web pueden haber publicado dependencias con formularios tabulares, cintas de opciones y el mapa del sitio. Cuando se usa la $webresource: directiva para establecer asociaciones en una cinta de opciones o el mapa del sitio, se crea una dependencia publicada. Para obtener más información, consulte $webresource directive.
Nota
Los recursos web pueden depender de otros recursos web basándose en los vínculos relativos. Por ejemplo, un recurso web HTML puede usar un recurso web de CSS o de script. Un recurso web de Silverlight mostrado fuera de un gráfico o formulario tabular debe tener un recurso web HTML para alojarlo. No se realiza un seguimiento de estas dependencias como dependencias de la solución.