Comportamiento especial de los componentes en paquetes

Al crear una aplicación para la distribución, es importante considerar cómo afectan los paquetes a su aplicación y sus componentes. Utilice la siguiente información para ayudarle a determinar qué incluir en sus paquetes, cómo diseñar su aplicación y cómo distribuir sus paquetes (gestionados o no gestionados).

Nota
  • Para obtener más información sobre las propiedades de cada componente en paquetes, consulte la tabla de propiedades de componentes en paquetes.
  • Para obtener más información sobre los atributos de cada componente en paquetes, consulte la tabla de atributos de componentes.
  • Los nombres de componentes deben ser exclusivos dentro de una organización. Para garantizar que sus nombres de componentes no entran en conflicto con los de la organización de un instalador, utilice un paquete gestionado para que todos sus nombres de componentes incluyan su prefijo de espacio de nombres.
Instantánea analítica
Los desarrolladores de paquetes gestionados deben considerar las implicaciones de introducir instantáneas analíticas que hagan referencia a reportes lanzados en una versión anterior del paquete. Si el suscriptor ha eliminado el reporte o lo ha trasladado a una carpeta personal, la instantánea analítica que haga referencia al reporte no se instalará, aunque la página Instalación de paquete indique que sí. Asimismo, si el suscriptor ha modificado el reporte, ese reporte puede devolver resultados que afecten a la información que muestra la instantánea analítica. Una práctica recomendada es que el desarrollador lance una instantánea analítica y los reportes relacionados en la misma versión.
Como el usuario que interviene está seleccionado por el suscriptor, algunas asignaciones de campos de instantáneas analíticas podrían dejar de ser válidas si el usuario que interviene no tiene acceso a los campos de origen o de destino.
Clases o desencadenadores de Apex

Cualquier Apex que se incluya como parte de un paquete debe tener como mínimo un 75% de cobertura de prueba acumulada. Cada desencadenador debe contar también con alguna cobertura de prueba. Cuando carga su paquete en AppExchange, se ejecutan todas las pruebas para garantizar que se realizan sin errores. Además, todas las pruebas se ejecutan cuando el paquete se instala en la organización del instalador. El instalador puede decidir si desea o no instalar el paquete si falla alguna prueba.

Sugerencia
Para evitar conflictos de nomenclatura, Salesforce recomienda utilizar paquetes gestionados para todos los paquetes que contengan Apex. De este modo, todos los objetos de Apex contienen su prefijo de espacio de nombres. Por ejemplo, si hay una clase de Apex denominada MyHelloWorld y el espacio de nombres de su organización es OneTruCode, se hará referencia a la clase como OneTruCode.MyHelloWorld.
Tenga en cuenta las siguientes consideraciones cuando incluya Apex en su paquete:
  • Los paquetes gestionados reciben un espacio de nombres exclusivo. Este espacio de nombres se antepone automáticamente a sus nombres de clases, métodos, variables, etc., lo que ayuda a evitar nombres duplicados en la organización del instalador.
  • En una única transacción, solo puede hacer referencia a 10 espacios de nombres exclusivos. Por ejemplo, supongamos que tiene un objeto que ejecuta una clase en un paquete gestionado cuando se actualiza el objeto. A continuación, esa clase actualiza un segundo objeto, que a su vez ejecuta una clase diferente en un paquete diferente. Aunque el primer paquete no accediera directamente al segundo paquete, como ocurre en la misma transacción, se incluye en el número de espacios de nombres a los que se accede en una única transacción.
  • Si está exponiendo métodos como servicios Web, incluya documentación detallada para que los suscriptores puedan escribir código externo que active su servicio Web.
  • Si una clase de Apex hace referencia a una etiqueta personalizada y esa etiqueta tiene traducciones, debe empaquetar de forma explícita los idiomas individuales que desee con el fin de que esas traducciones se incluyan en el paquete.
  • Si hace referencia a un objeto de colaboración de un objeto personalizado (como MyCustomObject__share) en Apex, esto agregará una dependencia de modelo de colaboración a su paquete. Debe establecer el nivel de acceso predeterminado de colaboración de toda la organización para el objeto personalizado como Privado con el fin de que otras organizaciones instalen su paquete correctamente.
  • El código incluido en una clase o desencadenador de Apex que forme parte de un paquete gestionado se confundirá automáticamente y no podrá visualizarse en una organización de instalación. Las únicas excepciones son métodos declarados globales, lo que significa que las firmas de los métodos pueden visualizarse en una organización de instalación.
  • Puede utilizar la anotación desaprobado en Apex para identificar métodos, clases, excepciones, enumeraciones, interfaces y variables global a los que ya no se puede hacer referencia en las versiones posteriores del paquete gestionado en el que residen. Esto es de utilidad cuando reelabora el código de paquetes gestionados a medida evolucionan los requisitos. Después de cargar otra versión de paquete como Gestionado y editado, los nuevos suscriptores que instalen la versión de paquete más reciente no podrán ver los elementos desaprobados, aunque los elementos siguen funcionando para los suscriptores y las integraciones de API existentes.
  • Cualquier Apex incluida en un paquete no gestionado que haga referencia explícitamente a un espacio de nombres no se podrá cargar.
  • El código Apex que haga referencia a Categorías de datos no se podrá cargar.
Motivos de colaboración de Apex
Los motivos de colaboración de Apex pueden agregarse directamente a un paquete, pero solo están disponibles para objetos personalizados.
Formatos compactos
Cuando empaqueta un formato compacto, no se incluyen las asignaciones del tipo de registro. Los suscriptores o instaladores de un paquete que contiene un formato compacto deben volver a crear sus asignaciones de tipo de registro en su organización.
Aplicaciones conectadas
  • Los suscriptores o instaladores de un paquete no pueden eliminar una aplicación conectada por sí misma; únicamente pueden desinstalar su paquete. Un desarrollador puede eliminar una aplicación conectada después de cargar un paquete como Gestionado y editado. La aplicación conectada se eliminará en la organización del suscriptor durante una actualización de paquete.
  • Si actualiza una aplicación conectada y la incluye en una nueva versión de paquete, al actualizar ese paquete en una organización de cliente actualizará la aplicación conectada existente.
  • Si realiza una actualización mediante envío de un paquete que contenga una aplicación conectada cuyo ámbito de OAuth o intervalos de IP hayan cambiado con respecto a la versión anterior, la actualización fallará. Se trata de una función de seguridad para bloquear a los usuarios no autorizados y que no tengan un acceso amplio a la organización de cliente mediante la actualización de un paquete instalado. Un cliente todavía puede realizar una actualización mediante consulta del mismo paquete; esto se permite porque se realiza con el conocimiento y consentimiento del cliente.
  • Puede agregar una aplicación conectada existente (es decir, una creada antes de Summer ‘13) a un paquete gestionado. También puede combinar aplicaciones conectadas nuevas y existentes en el mismo paquete gestionado.
  • Para aplicaciones conectadas creadas antes de Summer ‘13, la URL de instalación existente seguirá siendo válida hasta que empaquete y cargue una nueva versión. Una vez cargue una nueva versión del paquete con una aplicación conectada actualizada, la URL de instalación dejará de funcionar.
Campos personalizados
  • Los suscriptores pueden agregar, modificar o eliminar los valores de campos de listas de selección de campos personalizados. Un desarrollador debería considerar detenidamente esto cuando haga referencia de manera explícita a un valor de lista de selección en el código. El desarrollador puede agregar o eliminar valores de listas de selección. Durante la actualización de un paquete, no se instalan nuevos valores de listas de selección en la organización del suscriptor para campos existentes. Todos los valores de listas de selección eliminados por el desarrollador siguen estando disponibles en la organización del suscriptor.
  • Los desarrolladores pueden agregar campos personalizados obligatorios y necesarios para todos a paquetes gestionados siempre que tengan valores predeterminados.
  • Los campos de tipo numeración automática y los campos obligatorios no se pueden agregar después de que se haya cargado el objeto en un paquete gestionado y editado.
Etiquetas personalizadas
Si se traduce una etiqueta, el idioma debe incluirse explícitamente en el paquete para que las traducciones se incluyan en el paquete. Los suscriptores pueden sustituir la traducción predeterminada de una etiqueta personalizada.
Objetos personalizados
  • Si un desarrollador habilita los atributos Permitir reportes o Permitir actividades en un objeto personalizado empaquetado, la organización del suscriptor también tendrá habilitadas estas funciones durante una actualización. Una vez habilitados en un paquete gestionado y editado, el desarrollador y el suscriptor no podrán deshabilitar estos atributos.
  • Las sustituciones de botones y vínculos estándar también se pueden empaquetar.
Tipos de reportes personalizados
Un desarrollador puede modificar un tipo de reporte personalizado en un paquete gestionado después de que se haya editado, y agregar nuevos campos. Los suscriptores reciben automáticamente estos cambios cuando instalan una nueva versión del paquete gestionado. Sin embargo, los desarrolladores no pueden eliminar objetos o campos del tipo de reporte una vez se haya editado el paquete.
Configuración personalizada
  • Si una configuración personalizada se incluye en un paquete gestionado y la Visibilidad se especifica como Protegida, la configuración personalizada no se incluirá en la lista de componentes del paquete de la organización del suscriptor. Todos los datos de la configuración personalizada se ocultarán al suscriptor.
Fichas personalizadas
  • El Estilo de la ficha de una ficha personalizada debe ser exclusivo en su aplicación. Sin embargo, no tiene que ser exclusivo en la organización donde esté instalado. El estilo de una ficha personalizada no entrará en conflicto con una ficha personalizada existente del entorno del instalador.
  • Para proporcionar nombres a fichas personalizadas en diferentes idiomas, desde Configuración, haga clic en Personalizar | Nombres de ficha y etiquetas | Renombrar fichas y etiquetas.
  • Los suscriptores no pueden modificar fichas personalizadas de un paquete gestionado.
Portal de clientes y portal de socios
Los paquetes que hagan referencia a campos de portal de clientes o portal de socios son compatibles. El suscriptor que instale el paquete deberá tener habilitado el portal respectivo para instalar el paquete.
Componentes del tablero
Los desarrolladores de paquetes gestionados deben considerar las implicaciones de introducir componentes del tablero que hagan referencia a reportes lanzados en una versión anterior del paquete. Si el suscriptor ha eliminado el reporte o lo ha trasladado a una carpeta personal, el componente del tablero que haga referencia al reporte se omitirá durante la instalación. Asimismo, si el suscriptor ha modificado el reporte, ese reporte puede devolver resultados que afecten a la información que muestra el componente del tablero. Una práctica recomendada es que el desarrollador lance un tablero y los reportes relacionados en la misma versión.
Divisiones
  • Cuando se habilitan divisiones en un objeto personalizado de un paquete, la organización suscriptora deberá tener habilitada la función de divisiones para instalar el paquete.
  • Establecer el filtro de división en un reporte no causa una dependencia. El ajuste se omite cuando se instala en la organización del suscriptor.
  • Resumir según el campo de división del objeto (por ejemplo, División de cuentas) en un reporte causa una dependencia.
  • Si el campo de división del objeto de un reporte se incluye como columna y la organización del suscriptor no admite divisiones en el objeto, entonces la columna se omitirá durante la instalación.
  • Si instala un tipo de reporte personalizado que incluya un campo de división de objeto, como una columna, esa columna se omitirá si la organización no admite divisiones.
Dependencias de campos
  • Los desarrolladores y suscriptores pueden agregar, cambiar o eliminar dependencias de campos.
  • Si el desarrollador agrega una dependencia de campos, se agregará durante la instalación a menos que el suscriptor ya haya especificado una dependencia para el mismo campo.
  • Si un desarrollador elimina una dependencia, este cambio no se reflejará en la organización del suscriptor durante una actualización.
  • Si el desarrollador introduce una nueva asignación de valores de listas de selección entre los campos dependientes y los campos de control, la asignación se agregará durante una actualización.
  • Si un desarrollador elimina una asignación de valores de listas de selección, el cambio no se reflejará en la organización del suscriptor durante una actualización.
Conjuntos de campos
Los conjuntos de campos en paquetes instalados presentan diferentes comportamientos de combinación durante la actualización de un paquete:
Si un desarrollador de paquete:Entonces en la actualización de paquete:
Cambia un campo de No disponible a Disponible para el conjunto de campos o En el conjunto de camposEl campo modificado se coloca al final del conjunto de campos actualizado en la columna a la que se haya agregado.
Agrega un campo nuevoEl campo nuevo se coloca al final del conjunto de campos actualizado en la columna a la que se haya agregado.
Cambia un campo de Disponible para el conjunto de campos o En el conjunto de campos a No disponibleEl campo se elimina del conjunto de campos actualizado.
Cambia un campo de En el conjunto de campos a Disponible para el conjunto de campos (o viceversa)El cambio no se refleja en el conjunto de campos actualizado.
Nota
Los suscriptores no reciben notificaciones de los cambios en sus conjuntos de campos instalados. El desarrollador debe notificar a los usuarios (a través de notas de versión de paquete u otra documentación) de cualquier cambio en los conjuntos de campos editados. La combinación permite eliminar campos de su conjuntos de campos.
Una vez instalado un conjunto de campos, un suscriptor puede agregar o eliminar cualquier campo.
Páginas flexibles
Las vistas de lista no se incluyen de forma automática cuando empaqueta una página flexible ni se hace referencia a objetos personalizados en las propiedades de los componentes de la página flexible. Debe agregarlos manualmente.
Flujos
  • Únicamente puede empaquetar flujos activos. La versión activa del flujo se determina al hacer clic para cargar una versión del paquete. Si no hay ninguna versión activa del flujo, la carga puede fallar.
  • Si desea actualizar un paquete gestionado con una versión distinta del flujo, active esa versión y vuelva a cargar el paquete. No necesita agregar la versión activada recientemente al paquete. No obstante, si activa por error una versión del flujo y carga el paquete, distribuirá esa versión del flujo a todo el mundo. Asegúrese de comprobar la versión que verdaderamente desea cargar.
  • En una organización de desarrollo, no puede eliminar un flujo o versión del flujo una vez que lo haya cargado a un paquete gestionado publicado o beta.
  • No puede eliminar componentes del flujo desde las instalaciones de paquetes gestionados en versión beta en organizaciones de desarrollo.
  • No puede eliminar un flujo desde un paquete instalado. Para eliminar un flujo de un paquete desde su organización, primero tiene que desactivarlo, esperar 12 horas y, a continuación, desinstalar el paquete.
  • Si tiene varias versiones de un flujo instalado a partir de múltiples paquetes no gestionados, no podrá eliminar únicamente una versión mediante la desinstalación de su paquete. Si desinstala un paquete, gestionado o no gestionado, que contenga una única versión del flujo, se eliminará todo el flujo, incluyendo todas las versiones.
  • No se pueden incluir flujos en parches de paquetes.
  • Un flujo activo en un paquete estará activo una vez que se instale. La versión activa anterior del flujo en la organización de destino se desactivará a favor de la versión instalada más recientemente. Todo flujo que se esté realizando basado en la versión ahora desactivada continuará ejecutándose sin interrupciones pero reflejará la versión anterior del flujo.
  • Al actualizar un paquete gestionado en su organización, se instala una nueva versión del flujo solo si hay una versión del flujo más reciente del desarrollador. Tras varias actualizaciones, puede acabar teniendo varias versiones del flujo.
  • Si instala un paquete que contiene varias versiones del flujo en una nueva organización de destino, solo se implementará la última versión del flujo que se haya incluido en el paquete.
  • Si instala un flujo desde un paquete no gestionado que tenga el mismo nombre que un flujo que ya se encuentre en su organización pero un número de versión diferente, el flujo recién instalado se convertirá en la versión más reciente del flujo existente. Sin embargo, si el flujo de paquete tiene el mismo nombre y el mismo número de versión que un flujo que ya se encuentre en su organización, la instalación del paquete fallará. No puede sobrescribir un flujo.
  • Cloud Flow Designer no puede abrir flujos instalados a partir de paquetes gestionados.
Carpetas
  • Los componentes que Salesforce almacena en carpetas, como documentos, no se pueden agregar a paquetes cuando se almacenan en carpetas personales y sin archivar. Coloque los documentos, reportes y otros componentes que Salesforce almacena en carpetas en una de sus carpetas con acceso público.
  • Los componentes como documentos, plantillas de email, reportes o tableros se almacenan en carpetas nuevas en la organización del instalador utilizando los nombres de carpetas del editor. Proporcione a estas carpetas nombres que indiquen que forman parte del paquete.
  • Si se instala un nuevo reporte, tablero, documento o plantilla de email durante una actualización y el suscriptor ha eliminado la carpeta que contenía el componente, la carpeta vuelve a crearse. Los componentes de la carpeta eliminada anteriormente no se restauran.
  • El nombre de un componente incluido en una carpeta debe ser exclusivo en todas las carpetas del mismo tipo de componente, excluyendo las carpetas personales. Los componentes incluidos en una carpeta personal deben ser exclusivos únicamente en la carpeta personal.
Componentes de la página de inicio
Cuando empaqueta un formato de página de inicio personalizado, se agregan todos los componentes de página de inicio personalizados incluidos en el formato de página. Los componentes estándar como Mensajes y alertas no se incluyen en el paquete y no sobrescriben el componente Mensajes y alertas del instalador. Para incluir un mensaje en su formato de página de inicio personalizado, cree un componente personalizado de la ficha Inicio de tipo área HTML con su mensaje, bajo Configuración, en Personalizar | Inicio | Componentes de la página de inicio y agréguelo a su formato de página de inicio personalizado.
Formatos de página de inicio
Una vez instalados, sus formatos de página de inicio personalizados se enumeran con todos los formatos de página de inicio del suscriptor. Haga distinciones entre ellos incluyendo el nombre de su aplicación en el nombre del formato de página.
Vistas de lista
Las vistas de lista asociadas a colas no se pueden incluir en un paquete.
Varias divisas
  • Si un suscriptor instala un reporte o un tipo de reporte personalizado que incluye un campo de divisa de un objeto, como una columna, esa columna se omitirá si la organización del suscriptor no tiene habilitadas varias divisas.
  • Hacer referencia al campo de divisa de un objeto en los criterios de un reporte (por ejemplo, Divisa de la cuenta) causa una dependencia.
  • Resumir según el campo de divisa de un objeto en un reporte causa una dependencia.
  • Utilizar una designación de divisa en un valor de criterios de reporte (por ejemplo, “Ingresos anuales iguales a GBP 100”) no causa una dependencia. El reporte genera un error cuando se ejecuta en la organización del instalador si no admite la divisa.
  • Si el campo de divisa de un objeto de un reporte se incluye como columna y la organización del suscriptor no tiene habilitadas varias divisas, la columna se omitirá durante la instalación.
  • Si un suscriptor instala un tipo de reporte personalizado que incluye un campo de divisa de un objeto, como una columna, esa columna se omitirá si la organización no tiene habilitadas varias divisas.
Formatos de página
El formato de página de la persona que carga un paquete es el formato utilizado para las organizaciones con Group Edition y Professional Edition y se convierte en el formato de página predeterminado para las organizaciones con Enterprise Edition, Unlimited Edition, Performance Edition y Developer Edition.
Los formatos de página deben empaquetarse junto con tipos de registros de cortesía si el formato se va a instalar en un objeto existente. De lo contrario, los formatos de página instalados deberán aplicarse manualmente a los perfiles.
Si se crean un diseño de página y un tipo de registro como resultado de la instalación de un paquete, entonces el formato de página del usuario que realiza la carga para ese tipo de registro se asigna a ese tipo de registro para todos los perfiles de la organización del suscriptor a menos que se asigne un perfil durante una instalación o actualización.
Conjuntos de permisos
Puede incluir conjuntos de permisos como componentes en un paquete, con los siguientes permisos y configuración de acceso:
  • Permisos de objeto personalizados
  • Permisos de campos personalizados
  • Acceso de clase de Apex
  • Acceso a la página de Visualforce
Nota
Las aplicaciones asignadas y la configuración de fichas no están incluidas en los componentes del conjunto de permisos.
Utilice conjuntos de permisos para instalar o actualizar un conjunto de permisos. A diferencia de la configuración de perfil, los conjuntos de permisos no sobrescriben los perfiles.
Cuentas personales
Los paquetes que hacen referencia a campos relacionados con cuentas personales del objeto Cuenta (por ejemplo, Es cuenta personal, Nombre, Apellidos o Título) no se pueden cargar.
Valores de lista de selección
  • Los suscriptores pueden cambiar el nombre o eliminar valores de campos de listas de selección. Un desarrollador debería considerar detenidamente esto cuando haga referencia de manera explícita a un valor de campo de lista de selección en Apex.
  • Se pueden agregar o eliminar valores de campos de listas de selección en la organización del desarrollador. Tras la actualización, no se instalarán valores nuevos. Todos los valores eliminados por el desarrollador siguen estando disponibles en la organización del suscriptor hasta que el suscriptor los elimine.
Configuración de perfil
La configuración de perfil incluye lo siguiente para los componentes del paquete:
  • Aplicaciones asignadas
  • Configuración de fichas
  • Asignaciones de formatos de página
  • Asignaciones de tipo de registro
  • Permisos de objeto personalizados
  • Permisos de campos personalizados
  • Acceso de clase de Apex
  • Acceso a la página de Visualforce
La configuración de perfil sobrescribe los perfiles existentes en la organización del instalador con permisos específicos y cambios de configuración.
Tipos de registro
  • Si se incluyen tipos de registro en el paquete, la organización del suscriptor debe admitir tipos de registro para instalar el paquete.
  • Cuando se instala un nuevo valor de lista de selección, se asocia con todos los tipos de registro instalados de acuerdo con las asignaciones especificadas por el desarrollador. Un suscriptor puede cambiar esta asociación.
  • Hacer referencia al campo de tipo de registro de un objeto en los criterios de un reporte (por ejemplo, Tipo de registro de cuenta) causa una dependencia.
  • Resumir según el campo de tipo de registro de un objeto en los criterios de un reporte (por ejemplo, Tipo de registro de cuenta) causa una dependencia.
  • Si el campo de tipo de registro de un objeto se incluye como columna en un reporte y la organización del suscriptor no utiliza tipos de registro en el objeto o no admite tipos de registro, entonces la columna se omitirá durante la instalación.
  • Si instala un tipo de reporte personalizado que incluye un campo de tipo de registro de un objeto como una columna, esa columna se omitirá si la organización no admite tipos de registro o si el objeto no tiene definido ningún tipo de registro.
Reportes
Si un reporte incluye elementos que no se pueden empaquetar, esos elementos se omitirán o reducirán, o fallará la carga del paquete. Por ejemplo:
  • Se eliminan los desgloses de jerarquía de los reportes de actividades y oportunidades.
  • Se eliminan automáticamente los filtros de campos que no se pueden empaquetar (por ejemplo, en filtros sobre tipos de registro de objetos estándar).
  • La carga de paquetes falla si un reporte incluye lógica de filtro en un campo que no se puede empaquetar (por ejemplo, en filtros sobre tipos de registro de objetos estándar).
  • Se eliminan los valores de búsqueda en el campo Seleccionar campaña de reportes de campaña estándar.
  • Se eliminan los reportes de los paquetes si se han trasladado a una carpeta privada o a la carpeta Reportes públicos no archivados.
  • Cuando un paquete se instala en una organización que no tiene Chart Analytics 2.0:
    • Los gráficos de combinación se reducen en lugar de eliminarse. Por ejemplo, un gráfico de columnas verticales de combinación con una línea agregada se reduce a un gráfico de columnas verticales sencillo; un gráfico de barras de combinación con barras adicionales se reduce a un gráfico de barras sencillo.
    • Se eliminan los tipos de gráficos no admitidos, como los gráficos de anillos o de embudo.
S-Control
Los suscriptores únicamente pueden instalar S-Controls en paquetes no gestionados creados antes del 1 de enero de 2010.
Los S-Controls se han desaprobados y han sido sustituidos por páginas de Visualforce.
Sistema de traducción
  • Si ha habilitado el sistema de traducción y ha agregado un idioma a su paquete, los valores traducidos asociados se empaquetan automáticamente para los componentes adecuados de su paquete. Asegúrese de que ha proporcionado traducciones para todos los componentes posibles.
  • Un instalador de su paquete puede ver qué idiomas son compatibles en la página de detalles del paquete. El instalador no necesita habilitar nada para que aparezcan las traducciones del idioma del paquete. El único motivo por el que los instaladores pueden querer habilitar el sistema de traducción es para cambiar las traducciones de los componentes no gestionados tras la instalación, sustituir traducciones de etiquetas personalizadas en un paquete gestionado o traducir los componentes a otros idiomas.
  • Si está diseñando una ampliación de paquete, puede incluir traducciones para los componentes de la ampliación pero no traducciones adicionales para componentes del paquete base.
Reglas de validación
Para los objetos personalizados empaquetados, las reglas de validación asociadas también se empaquetan implícitamente.
Flujo de trabajo
  • Salesforce impide que cargue alertas de flujo de trabajo que tengan un destinatario que sea un grupo público, usuario de socio o función. Cambie el destinatario a un usuario antes de cargar su aplicación. Durante la instalación, Salesforce sustituye ese usuario por el usuario que instala la aplicación y el instalador podrá personalizarlo según sea necesario.
  • Salesforce impide que cargue actualizaciones de campos de flujo de trabajo que cambien un campo Propietario a una cola. Cambie el valor del campo actualizado a un usuario antes de cargar su aplicación. Durante la instalación, Salesforce sustituye ese usuario por el usuario que instala la aplicación y el instalador podrá personalizarlo según sea necesario.
  • Salesforce impide que cargue reglas de flujo de trabajo, actualizaciones de campo y mensajes salientes que hagan referencia a un tipo de registro en un objeto estándar o gestionado instalado.
  • Salesforce impide que cargue tareas de flujo de trabajo asignadas a una función. Cambie el campo Asignar a a un usuario antes de cargar su aplicación. Durante la instalación, Salesforce sustituye ese usuario por el usuario que instala la aplicación y el instalador podrá personalizarlo según sea necesario.
  • Puede empaquetar reglas de flujo de trabajo y todas las acciones de flujo de trabajo asociadas, como alertas y actualizaciones de campo. Sin embargo, los desencadenadores basados en el tiempo no se incluyen en el paquete. Notifique a sus instaladores que configuren los desencadenadores basados en el tiempo que sean esenciales para su aplicación.
  • El desarrollador puede proteger las alertas de flujo de trabajo, actualizaciones de campo, mensajes salientes y tareas. Para obtener más información sobre los componentes protegidos, consulte Componentes protegidos.
  • Los desarrolladores pueden asociar o eliminar la asociación de acciones de flujo de trabajo con una regla de flujo de trabajo en cualquier momento. Estos cambios, incluida la eliminación de asociación, se reflejan en la organización del suscriptor tras la instalación. En los paquetes gestionados, un suscriptor no puede eliminar la asociación de acciones de flujo de trabajo de una regla de flujo de trabajo si el desarrollador la asoció.
  • El usuario que instale el paquete sustituirá las referencias a un usuario específico en acciones de flujo de trabajo, como el destinatario de email de una alerta de email de flujo de trabajo. Quizás no se puedan cargar las acciones de flujo de trabajo que hagan referencia a funciones, grupos públicos, equipos de cuentas, equipos de oportunidades o funciones de equipos de casos.
  • Las referencias a una dirección de toda la organización, como Dirección del remitente del email de una alerta de email de flujo de trabajo, se restablecen a Usuario actual durante la instalación.
  • En la instalación, todas las reglas de flujo de trabajo recién creadas en el paquete instalado o actualizado tienen el mismo estado de activación que en el paquete cargado.

Componentes protegidos

Los desarrolladores pueden marcar ciertos componentes como protegidos. Los componentes creados en una organización de suscriptor no pueden hacer referencia a componentes protegidos ni se pueden vincular los unos con los otros. Un desarrollador puede eliminar un componente protegido en una futura versión sin necesidad de preocuparse de errores en las instalaciones. Sin embargo, si se marca un componente como no protegido y se publica de forma global, el desarrollador no podrá eliminarlo. Los desarrolladores pueden marcar los siguientes componentes como protegidos en los paquetes gestionados:

© Copyright 2000–2013 salesforce.com, inc. Todos los derechos reservados.
Las distintas marcas comerciales pertenecen a sus respectivos propietarios.