Skip to main content
Join the Agentforce Hackathon on Nov. 18-19 to compete for a $20,000 Grand Prize. Sign up now. Terms apply.

Organizar sus metadatos

Objetivos de aprendizaje

Después de completar esta unidad, podrá:
  • Enumerar las estrategias clave para la organización de metadatos no empaquetados en paquetes.
  • Identificar cómo los paquetes desbloqueados pueden ser interdependientes.
  • Describir los 3 modelos de desarrollo y cuándo utilizar cada uno.

Poner en práctica los principios del desarrollo de paquetes

¡Felicitaciones! En la unidad anterior, creó un paquete e instaló la aplicación DreamHouse en su Trailhead Playground. Ahora le mostraremos cómo poner en práctica los principios clave del desarrollo de paquetes. Recuerde, es mejor empezar poco a poco y crear con el tiempo su éxito.

La organización de sus metadatos en paquetes:

  • Es a menudo un proceso iterativo.
  • No es una propuesta de todo o nada.

Organizar metadatos para una aplicación personalizada nueva o existente

DreamHouse LWC es un gran ejemplo de cómo crear una nueva aplicación desde la base y empaquetarla en un paquete desbloqueado de modo que pueda introducir la aplicación en su organización y gestionar futuras personalizaciones. Pero también puede seguir este mismo proceso al actualizar nuevas funciones o funciones para una aplicación personalizada existente.

Para resumir, creamos DreamHouse para mostrarle cómo:

  • Integrar Salesforce CLI, proyectos y paquetes desbloqueados en el ciclo de vida de su aplicación.
  • Adoptar mejores prácticas en la organización de metadatos y la creación de límites de paquete.
  • Implementar paquetes desbloqueados cuando está creando una nueva aplicación.

¿Qué puede hacer ahora que creó un paquete desbloqueado para DreamHouse LWC?

  • Probar e implementar la fuente para la aplicación de forma independiente.
  • Aislar el esquema de la aplicación (objetos personalizados) de otros metadatos.
  • Continuar realizando mejoras en la aplicación repitiendo el proceso y agregando nuevas funciones.
  • Crear versión de la aplicación.
  • Instalar una segunda versión como una mejora de una versión existente.

Metadatos de DreamHouse

Metadatos Descripción
Esquema Incluye objetos personalizados para Agente, Propiedad y Favorito.

Ejemplos: Broker__c, Property__c, Favorite__c

Componentes y aplicaciones Lightning Explore propiedades y vea detalles de propiedad.

Ejemplos: Property_Explorer.flexipage-meta.xml, Property_Record_Page.flexipage-meta.xml

Procesos (flujos) Envíe notificaciones cuando se agregan nuevas propiedades o cambia el precio.

Ejemplos: Advertise_New_Property-2.flow-meta.xml, Price_Change_Push_Notification-1.flow-meta.xml

Servicios de Einstein Aplique procesamiento de imagen para distinguir automáticamente detalles de inicio de imágenes actualizadas.

Ejemplo: EinsteinVisionController.cls

Bots Permita a los clientes implicarse a través de Facebook Messenger, Slack o Alexa para buscar propiedades.

Ejemplo: HandlerFindProperties.cls

Desglosar los metadatos existentes de su organización

Como puede ver, el uso del ciclo de vida de desarrollo de los paquetes para nuevos proyectos tiene mucho sentido. No obstante, sabemos que los clientes existentes, que estuvieron utilizando el desarrollo de conjuntos de cambios durante un periodo de versiones o incluso años, están clamando directrices referentes a dónde empezar. ¿Cómo desenreda el contenido de su organización en proyectos separados y empaqueta directorios en última instancia?

Aunque nos gustaría darle la receta de la salsa secreta, no hay un plan de acción prescriptivo. El modo en que enfoque el desglose de los metadatos sin empaquetar es en parte una ciencia y en parte un arte. Usted es el mejor juez para determinar qué partes de los metadatos se ajustan a cada proyecto de Salesforce DX.

Para empezar a trabajar, responda a estas preguntas:

  • ¿Le gustaría que sus equipos de desarrollo pudieran publicar aplicaciones, nuevas funciones y personalizaciones de forma independiente?
  • ¿Puede identificar los metadatos que representan una aplicación?
  • ¿Puede organizar sus metadatos en módulos para funciones distintas?
  • Cuando crea un paquete no gestionado para esta función o aplicación, ¿qué dependencias ve?

Si tiene varias aplicaciones y personalizaciones en su organización, espere ver algunas dependencias entre proyectos de Salesforce DX.

Tres modelos para desenredar sus metadatos

En escenarios de la vida real, probablemente adoptará una combinación de estas estrategias y las alterará para que se ajusten lo mejor posible a sus necesidades de negocio.

Modelo Descripción
Basado en aplicaciones Identifique los metadatos que representan una aplicación. Este enfoque es parecido a crear un paquete para la aplicación DreamHouse con la excepción de que los metadatos ya están en su organización.
Basado en personalizaciones Organice los metadatos sin empaquetar para personalizaciones y cambios de funciones realizados en su organización de producción para una aplicación de Sales Cloud, Service Cloud o AppExchange.
Biblioteca compartida Cuando haya interdependencias, utilice un paquete común de Salesforce DX para organizar un conjunto de clases de Apex u objetos personalizados utilizados comúnmente. Otros paquetes que construya pueden depender de este paquete común.

Utilizar un paquete no gestionado como punto inicial

Este es un buen flujo de trabajo inicial para organizar sus metadatos sin gestionar en múltiples paquetes:

  1. Seleccione un pequeño conjunto de metadatos autocontenidos sin empaquetar procedentes de su organización de producción. Seleccione los metadatos que representan una aplicación, una personalización de una aplicación existente, una función o unidad funcional, o bien personalizaciones de objetos estándar.
  2. Cree un paquete no gestionado para aislar los metadatos que identificó entre la recopilación general de metadatos de la organización. A medida que agregue metadatos a este, vea qué metadatos dependientes se extraen automáticamente por el sistema. Este paso le ayuda a aflorar algunas dependencias no tan obvias entre sus metadatos.
  3. Recupere la fuente del paquete no gestionado con project retrieve start.
  4. Configure un proyecto de Salesforce DX y un repositorio git para gestionar los metadatos del paquete.
  5. Envíe estos metadatos en una organización borrador con project deploy start y compruebe que estos sean los metadatos que desea que formen parte de un paquete desbloqueado.
  6. Cree un paquete desbloqueado empleando el indicador --no-namespace.
  7. Pruebe e implemente el paquete desbloqueado.
  8. Una vez el paquete desbloqueado pase todas las ejecuciones CI y UAT en los entornos sandbox, promueva la versión del paquete.
  9. Instale el paquete desbloqueado en la organización de producción.

Una vez que crea un paquete para los metadatos, se traslada al paquete de forma automática. Ya que el nombre completo de la entidad identifica los metadatos en la organización y en el paquete, sobrescribimos los metadatos que ya están en la organización y actualizamos las referencias internas para mostrar que ahora está contenido en el paquete.

Acerca de las dependencias de paquetes

Un calor clave de los paquetes desbloqueados es que puede desarrollar y mantener un conjunto de paquetes interdependientes.

  • Un paquete desbloqueado puede depender de un paquete de AppExchange. Si está utilizando un paquete de AppExchange, puede poner su propia personalización para ese paquete en un paquete desbloqueado. Cuando instala el paquete desbloqueado, el paquete de AppExchange debe estar presente.
  • Un paquete desbloqueado puede depender de otro paquete desbloqueado. Digamos que está creando una nueva aplicación que los empleados pueden utilizar para enviar reportes de gastos. Comparte algunas funciones de integración de backend con su aplicación de nominas existente. En este escenario, el paquete desbloqueado de reportes de gastos dependerá del paquete desbloqueado de la aplicación de nóminas.
  • Un paquete desbloqueado puede depender de otro paquete desbloqueado, y ese paquete desbloqueado puede a su vez depender de otro paquete desbloqueado diferente. Se admiten múltiples niveles de dependencias.

Las dependencias se expresan en la sección packageDirectories del archivo sfdx-project.json. Al admitir dependencias, los paquetes desbloqueados promueven el desarrollo modular con un marco de trabajo de dependencias enriquecido. Consulte la Guía del desarrollador de Salesforce DX para obtener información sobre el archivo de configuración de proyectos.

Nota

Si descubre que desglosar los metadatos de su organización es una tarea muy difícil, los paquetes desbloqueados dependientes de organización podría ser lo que busca. Los paquetes desbloqueados dependientes de organización son una variación de los paquetes desbloqueados dependientes que dependen de metadatos desempaquetados en la organización donde tiene intención de instalar el paquete (organización de instalación).

Comparta sus comentarios de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios