Skip to content

Etiqueta: Distribución de aplicaciones

Muévete a 2GP Administrado con Migraciones de Paquetes ☁️

Muévete a 2GP Administrado con Migraciones de Paquetes ☁️

Esta es una traducción que desde EGA Futura ofrecemos como cortesía a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoamérica .

El enlace a la publicación original, lo encontrarás al final de este artículo.

Pasar a 2GP administrado con migraciones de paquetes | Blog de desarrolladores de Salesforce

Han pasado casi cuatro años desde que lanzamos por primera vez el paquete administrado de segunda generación (2GP) , que permite a nuestros socios de AppExchange crear y distribuir soluciones utilizando un modelo de desarrollo basado en CLI, basado en fuente y fácil de automatizar.

Desde entonces, recibimos una gran cantidad de excelentes comentarios de nuestra comunidad de desarrolladores, y continuamos innovando en múltiples áreas relacionadas con la experiencia del desarrollador, el rendimiento, la paridad del tipo de metadatos con el paquete administrado de primera generación (1GP), etc. Cada vez que nos reunimos con desarrolladores de ISV, constantemente escuchamos sobre la necesidad de que Salesforce los ayude a ellos y a sus clientes a pasarse al mundo de 2GP.

¡Hoy, tengo algunas noticias emocionantes para compartir con todos ustedes! Estamos abordando la pregunta n.º 1 de nuestros desarrolladores de ISV al presentar una nueva función: Migraciones de paquetes . En pocas palabras, Package Migrations automatiza por completo el proceso de convertir paquetes 1GP a 2GP y migra sin problemas a los clientes con paquetes instalados a 2GP. Si es un socio ISV que crea paquetes administrados, ¡esta publicación de blog es para usted!

Antes de sumergirnos en los detalles de las migraciones de paquetes, echemos un vistazo a algunos beneficios de usar 2GP para el desarrollo de paquetes.

Beneficios de usar 2GP para el desarrollo de paquetes

En el corazón de 2GP se encuentra un modelo de desarrollo basado en fuente, donde un repositorio de código fuente como Git representa la fuente de la verdad para su paquete. Esto es fundamentalmente diferente del mundo de 1GP, donde utiliza una organización de empaquetado para mantener todos los metadatos que desea empaquetar y distribuir a sus clientes.

Este modelo de desarrollo impulsado por la fuente, impulsado por la CLI de Salesforce , puede aumentar drásticamente la productividad y la colaboración de su equipo. Los desarrolladores pueden usar Dev Hub para activar rápidamente organizaciones temporales , crear una función de forma conjunta y comprometerla con el control de código fuente. Cuando esté listo para distribuir una nueva versión de su 2GP, simplemente extraiga la rama correspondiente a una máquina local y use la CLI para crear su nueva versión del paquete.

Es importante destacar que este enfoque basado en CLI también significa que puede integrar fácilmente su proceso de empaque por completo en CI/CD, lo que facilita la automatización completa de su flujo de trabajo. Puede, por ejemplo, ejecutar automáticamente Salesforce Code Analyzer en una base de código y, siempre que no se encuentren problemas, crear una nueva versión del paquete.

En el mundo de 1GP, estabas atrapado usando un espacio de nombres diferente para cada uno de tus paquetes. En 2GP, todos sus paquetes pueden compartir el mismo espacio de nombres, lo que le permite aprovechar un enfoque verdaderamente modular para el desarrollo de paquetes para mantener sus paquetes bien organizados. También es posible declarar explícitamente dependencias entre paquetes , asegurando que todo funcione en conjunto sin problemas.

Con 2GP, también obtiene un control de versiones flexible, lo que le permite abandonar versiones de paquetes que ya no desea utilizar. En su lugar, puede especificar un ancestro de la versión del paquete y crear efectivamente una nueva rama en la que desee continuar con su desarrollo.

Finalmente, apoyar a los clientes nunca ha sido tan fácil con 2GP. En el mundo de 1GP, los parches solo se pueden crear desde una organización de parches. Con el modelo de desarrollo basado en el código fuente de 2GP, puede simplemente crear una versión del paquete de parches directamente desde la CLI y, siempre que el parche cumpla con los requisitos relacionados con los cambios menores y la ascendencia del paquete, se crea y está listo para instalarse en la organización de su cliente.

Dicho todo esto, 2GP puede agregar mucho valor a su proceso de desarrollo. ¡Ahora, averigüemos cómo las Migraciones de paquetes pueden ayudarlo a llegar al mundo de 2GP!

Introducción a las migraciones de paquetes

Package Migrations amplía la funcionalidad de 2GP con comandos CLI adicionales y capacidades adicionales para ayudar a los desarrolladores de ISV a realizar una transición completa al mundo de 2GP. Actualmente se encuentra en Developer Preview y está abierto para que todos los desarrolladores de ISV lo prueben en sus paquetes 1GP existentes. ¡Siga leyendo para saber cómo participar en la versión preliminar para desarrolladores!

Hay dos elementos para las migraciones de paquetes: conversión de paquetes y migración de paquetes.

La conversión de paquetes se inicia a través del nuevo comando sf package convert . Toma una versión específica de su paquete 1GP existente (Acme v1.0 en este ejemplo) y usa algo de magia detrás de escena para convertirlo en una versión de paquete 2GP correspondiente (Acme v1.0.0.1 usando la numeración de versión 2GP).

Una vez que tenga una versión de paquete 2GP convertida, puede migrar clientes a 2GP. Si tiene un suscriptor con Acme v1.0 instalado, iniciaría el proceso tratándolo como una actualización de paquete normal: a través de la CLI con sf package install (ver documentos ), instalación de URL o actualizaciones automáticas.

Mientras intenta instalar su paquete 2GP convertido v1.0.0.1, que coincide con la versión mayor.menor del paquete 1GP instalado en el suscriptor A, ejecutamos una nueva lógica que inicia el proceso de migración del paquete . Sin cambiar ningún metadato en la organización del cliente, y sin requerir la intervención del usuario si usa actualizaciones automáticas, simplemente cambiamos las referencias del paquete para que apunten al nuevo paquete 2GP.

Una vez que un cliente migre a 2GP, cualquier parche o actualización del paquete de este cliente deberá usar 2GP.

Participación en la versión preliminar para desarrolladores de migraciones de paquetes

Para probar las migraciones de paquetes, debe ser un socio ISV con acceso a la comunidad de socios de Salesforce .

En la Comunidad de socios, encontrará un canal exclusivo para esta versión preliminar para desarrolladores. Le recomendamos que se una a este canal y configure las notificaciones para enviar por correo electrónico cada publicación para recibir las últimas actualizaciones del equipo de Migraciones de paquetes.

En este canal, encontrará una serie de enlaces útiles, incluido un formulario para registrarse en Developer Preview. Necesitaremos algunos detalles, como su ID de organización de empaquetado, para que podamos activar la función Migraciones de paquetes.

Es importante destacar que participar en Developer Preview no tendrá ningún impacto en su paquete de 1GP. Por lo tanto, no se preocupe y participe, ya que sus comentarios son esenciales para ayudarnos a identificar y resolver problemas lo antes posible.

Una vez que esté activado, puede comenzar a probar las migraciones de paquetes.

Probar la conversión de un paquete administrado de primera generación

Muy bien, ¡comencemos! En primer lugar, asegúrese de haber instalado la CLI de Salesforce.

Si lo instaló anteriormente, asegúrese de estar usando la última versión:

sf update

Ahora asegúrese de que está ejecutando dentro del contexto de un proyecto de SalesforceDX. Puedes crear un nuevo proyecto usando:

sf project generate --name <Your project name>

Vincule el espacio de nombres de su 1GP administrado iniciando sesión en su DevHub y siga los pasos .

¡Eso es todo para la configuración! Ahora puede continuar e intentar convertir su paquete.

sf package convert --installation-key mdpTest --package 033xxx --wait 20

Repasemos los parámetros. Estamos utilizando la clave de instalación mdpTest . Será necesario cada vez que intente instalar esta versión del paquete en el futuro. Alternativamente, puede usar --installation-key-bypass para omitir la clave de instalación. Deberá ingresar su ID de paquete 1GP completo comenzando con 033 después de --package . El proceso de conversión puede demorar un poco y, por lo tanto, agregamos la opción --wait para esperar 20 minutos.

A medida que se ejecuta el proceso de conversión, obtendrá una actualización de su estado. Suponiendo que todo salió bien, recibirá un mensaje de éxito con la ID y la URL de instalación para la versión del paquete 2GP recién convertida.

Converting Package... ... Successfully created the package version [08cxxx00000KzFSAA0]. Subscriber Package Version Id: 04txxx00000u1cqAAA
Package Installation URL: https://login.salesforce.com/packaging/installPackage.apexp?p0=04txxx00000u1cqAAA
As an alternative, you can use the "sfdx package:install" command.

¡Felicitaciones, su paquete ahora está convertido a 2GP! Si encontró algún problema en el camino, infórmenos utilizando el formulario en el grupo Comunidad de socios .

Nota: Al momento de escribir esta publicación de blog, este comando convertirá la última versión administrada y lanzada de su paquete. Estamos trabajando para permitirle convertir versiones de paquetes Beta y anteriores. Por otro lado, durante Developer Preview, no es posible promocionar paquetes 2GP convertidos al estado Lanzado.

Ahora que su paquete está convertido, probemos la migración de una organización suscriptora.

Probar la migración de un paquete administrado de primera generación instalado

Para probar la migración de un suscriptor, deberá crear una organización borrador ya que, durante la versión preliminar para desarrolladores, solo admitimos organizaciones borrador. Puede configurar una nueva organización borrador como esta:

sf org create scratch -f project-scratch-def.json -a MyScratchOrg

En el código anterior, -f apunta a su archivo de definición de organización borrador . Debe asegurarse de que su archivo de definición de organización borrador incluya cualquier función de Salesforce de la que pueda depender su paquete. Finalmente, estamos usando MyScratchOrg como el alias de esta organización.

Con la configuración de la organización borrador, continúe e instale la versión del paquete 1GP que convirtió anteriormente utilizando la URL de instalación que obtiene de su organización de empaquetado 1GP. Esta debería ser su última versión administrada y lanzada en este momento.

Puede confirmar que el paquete se instaló correctamente durante la pantalla de instalación. Vea el ejemplo a continuación.

Y consulte la sección Paquetes instalados del menú Configuración.

Ahora que instaló su 1GP en la organización borrador, está listo para la migración.

Inicie el proceso de migración utilizando la URL de instalación que recibió al final del proceso de conversión del paquete:

https://login.salesforce.com/packaging/installPackage.apexp?p0=04txxx00000u1cqAAA

Ahora pasará por el mismo conjunto de pantallas que el anterior, pero esta vez para su paquete 2GP convertido.

Actualmente, la interfaz de usuario muestra que la "instalación" se ha completado. En realidad, lo que hicimos fue una migración de paquetes que se completó con éxito.

Tenga en cuenta que en este ejemplo, he usado la segunda compilación Beta para la versión 1.7, que corresponde a la misma versión mayor.menor que la versión del paquete 1GP instalada anteriormente. Como el 2GP convertido, durante la Vista previa del desarrollador, se crea como una versión Beta, se muestra como tal.

Una vez más, puede confirmar la versión del paquete actualizado en la sección Paquetes instalados del menú Configuración, que también muestra, en este ejemplo, que el número de versión es 1.7 (Beta 2).

Una vez que haya migrado el paquete en su organización borrador, le recomendamos que lo pruebe para asegurarse de que funciona como se esperaba.

También debe aprovechar la oportunidad para verificar si las aplicaciones, como la aplicación de administración de licencias o la aplicación de administración de funciones, muestran la información correcta para su paquete migrado. Si encuentra algo que no está bien, por favor plantéelo como un problema y lo investigaremos.

Mientras tanto …

Se necesitarán algunos lanzamientos para que las migraciones de paquetes estén disponibles de forma general. Su participación en Developer Preview, probando sus paquetes y brindándonos comentarios, es esencial para ayudarnos a identificar y resolver problemas antes.

Mientras tanto, ¿qué más puedes hacer? Le recomendamos que experimente con el uso de paquetes de segunda generación como parte de su modelo de desarrollo actual basado en 1GP. ¿Confundido? Dejame explicar.

Como mencioné anteriormente, hay una serie de ventajas específicas de 2GP. De estos, hay algunos de los que puede comenzar a beneficiarse hoy. Estos son los pasos que puede seguir:

  1. Puede configurar su control de código fuente y alimentarlo con metadatos extraídos de su organización de empaquetado.
  2. Puede crear un DevHub y organizaciones borrador derivadas para el desarrollo utilizando metadatos de su control de código fuente.
  3. Puede crear un paquete 2GP para desarrollo interno y pruebas que reflejen su paquete 1GP, pero usando un espacio de nombres solo interno o el mismo que su paquete 1GP. Las colisiones de espacios de nombres evitarán que los paquetes 1GP y 2GP con el mismo espacio de nombres se instalen en el mismo entorno.
  4. Una vez que esté satisfecho con el contenido de su paquete 2GP, puede migrar los metadatos desde la rama de control de fuente correspondiente a su organización de empaquetado y emitir una nueva versión de su paquete para distribuir a los clientes.

Esto lo ayudará a sumergirse en el mundo de 2GP y, una vez que Package Migrations esté disponible de forma general, podrá abandonar su modelo de desarrollo de 1GP por completo y pasar por completo a un modelo de desarrollo de 2GP.

Conclusión

Estamos muy entusiasmados con las migraciones de paquetes, pero necesitamos su ayuda para asegurarnos de que sea lo mejor posible. Si es un desarrollador de ISV, continúe y regístrese para la Vista previa para desarrolladores en la Comunidad de socios.

¡Estamos ansiosos por recibir sus comentarios!

Más recursos

Grupo de vista previa para desarrolladores en la comunidad de socios

Embalaje gestionado de segunda generación (documentación)

Sobre el Autor

John Belo es director de gestión de productos para productos de experiencia de desarrollador y se centra en migraciones de paquetes, analizador de código de Salesforce y análisis de aplicaciones de AppExchange. Ha estado en Salesforce durante más de siete años y pasó la mayor parte de este tiempo en el equipo de AppExchange. Comenzó liderando un equipo de evangelistas técnicos de ISV en EMEA y ahora es parte del equipo de gestión de productos de experiencia de desarrollador, siempre con la intención de ayudar a los ISV a tener el mayor éxito posible.

Obtenga las últimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a través de Slack o RSS.

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Prepare su aplicación para pasar la revisión de seguridad de AppExchange ☁️

Prepare su aplicación para pasar la revisión de seguridad de AppExchange ☁️

Esta guía se publicó originalmente en Medium en 2021 y se actualizó con la orientación y los consejos más recientes, incluidas las nuevas funciones de seguridad como parte de los lanzamientos recientes y la nueva estructura de precios para las revisiones.

La publicación Prepare su aplicación para pasar la revisión de seguridad de AppExchange apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Las funciones y herramientas más recientes de LWC para dispositivos móviles ☁️

Recapitulamos las características actuales de LWC para dispositivos móviles y luego analizamos todas las características nuevas e innovadoras disponibles en la versión Spring '23.

La publicación Funciones y herramientas más recientes de LWC para dispositivos móviles apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Una introducción ilustrada a Redis ☁️

Bienvenido a la primera entrega de una miniserie ilustrada sobre el diseño de sistemas de bases de datos. En esta publicación, echamos un vistazo a Redis: qué es, cuándo resulta útil y cómo usar los comandos básicos de Redis. Los comandos son independientes del entorno, por lo que, en nuestro ejemplo, los ejecutaremos a través de una CLI de Redis provista […]

La publicación Una introducción ilustrada a Redis apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Analice puntos de acceso de rendimiento y escala en aplicaciones complejas de Salesforce ☁️

En ocasiones, los desarrolladores y arquitectos participan en la fase de extinción de incendios de la implementación de un cliente. Esto suele ser después de que se completa la implementación y las aplicaciones se encuentran con múltiples problemas relacionados con el rendimiento. Es posible que los usuarios se quejen de ralentizaciones periódicas o que surjan excepciones de límite de gobernador en varias áreas dentro de la aplicación. Estos problemas afectan […]

La publicación Analizar puntos de acceso de rendimiento y escala en aplicaciones complejas de Salesforce apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Dentro de una aplicación móvil React Native con Tableau Embedded ☁️

Como se discutió en una publicación de blog anterior, los desarrolladores buscan cada vez más opciones nativas para ampliar y personalizar sus aplicaciones de línea de negocio. Al mismo tiempo, los enfoques basados en datos son clave para la toma de decisiones efectiva y el impulso de las empresas. En esta publicación, compartiremos cómo desarrollamos una aplicación móvil React Native + Expo utilizando herramientas de código abierto con […]

La publicación Dentro de una aplicación móvil React Native con Tableau Embedded apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

The Codey Awards: celebrando el mejor contenido de 2021 ☁️

2021 fue un GRAN año para los desarrolladores de Salesforce. Vimos innumerables funciones nuevas y emocionantes, innovaciones inspiradoras en toda la comunidad y asistimos a algunos eventos increíbles, en persona y virtualmente. Celebramos los mejores momentos destacados del contenido de 2021 y se los traemos con The Codeys. Sigue leyendo para ver la lista y ponte al día con cualquier […]

La publicación Los premios Codey: celebrando el contenido principal de 2021 apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Conozca Kickboard: una aplicación de pizarra guiada para la transformación digital ☁️

Kickboard, una aplicación gratuita y de código abierto de Salesforce Labs, es un giro único en una aplicación de pizarra creada directamente en la plataforma de Salesforce. Kickboard es como Jamboard pero con una experiencia guiada para ayudarte a lograr un objetivo (es decir, te ayuda a nadar del punto A al B… porque es un kickboard). En esta entrada de blog, […]

La publicación Meet Kickboard: una aplicación de pizarra guiada para la transformación digital apareció por primera vez en el blog de desarrolladores de Salesforce .

Desarrollo de aplicaciones, distribución de aplicaciones, automatización, tutoriales Componentes, Ohana, Producto, Salesforce, Plataforma de Salesforce, Slack, Herramientas, trailhead, Salesforce.com, Desarrolladores

Seguir leyendo

Demostraciones de aplicaciones del Desafío para desarrolladores de la ASEAN ☁️

En los últimos meses, más de 3.000 participantes han estado aprendiendo a crear aplicaciones empresariales de Salesforce Developer Advocates y Trailhead como parte del Desafío para desarrolladores de la ASEAN. Todos los que se registraron y completaron el programa recibieron un vale de certificación de Salesforce de $ 200, y siete participantes enviaron aplicaciones que crearon para ser exhibidas en el Demo Day […]

La publicación App Demos From the ASEAN Developer Challenge apareció primero en el Blog de desarrolladores de Salesforce .

Seguir leyendo

Dominando las colecciones de Apex ☁️

Este tema fue presentado originalmente por Philippe Ozil durante una sesión de Apex Hours el 4 de septiembre de 2021. Trabajar con colecciones como List, Map y Set es parte de una rutina diaria para los desarrolladores de Apex. Si bien su uso básico es sencillo, existen algunas peculiaridades avanzadas que pueden llevarlo al siguiente nivel. En esto […]

La publicación Mastering Apex Collections apareció primero en el Blog de desarrolladores de Salesforce .

Seguir leyendo

Presentamos Foyer: integración nativa de Slack para la plataforma Salesforce ☁️

Conozca el SDK de Salesforce para crear aplicaciones de Slack La adquisición de Slack, que se cerró en julio, abre un mundo completamente nuevo para que los desarrolladores de Salesforce creen aplicaciones de conversación enriquecidas conectadas a sus datos y metadatos de Salesforce. Pero hacer esto no es una tarea fácil. Conectar Salesforce a Slack implica instalar middleware para administrar la autenticación, […]

La publicación Introducing Foyer – Native Slack Integration para la plataforma Salesforce apareció primero en el Blog de desarrolladores de Salesforce .

Seguir leyendo

Construyendo su primera aplicación web usando Node.js ☁️

En la publicación de blog anterior de esta serie, aprendió qué es Node.js y por qué es importante para los desarrolladores de Salesforce, pero creo firmemente que la mejor forma de aprender es haciendo. Bueno, ahora es el momento de comenzar a construir su primera aplicación web Node.js. Node.js es ideal para crear aplicaciones web, especialmente API. […]

La publicación Construyendo su primera aplicación web usando Node.js apareció primero en el Blog de desarrolladores de Salesforce .

Seguir leyendo

Aproveche al máximo sus proyectos DX con scripts de Node.js integrados ☁️

Cuando crea un nuevo proyecto con el comando force: project: create de la CLI de Salesforce o con la paleta de comandos de VS Code, el estado del proyecto predeterminado le proporciona algunas herramientas útiles. Una herramienta clave es un conjunto de scripts y utilidades de Node.js que mejoran su experiencia de desarrollador. En esta publicación, vamos a recorrer los aspectos clave de […]

La publicación Aproveche al máximo sus proyectos DX con scripts Node.js integrados apareció primero en el Blog de desarrolladores de Salesforce .

Seguir leyendo

Ofrezca experiencias escalables sin límites mediante funciones ☁️

Estamos orgullosos de lanzar Salesforce Functions Beta en nuestra versión Summer '21, y esperamos su GA en nuestra versión Winter '22. Salesforce Functions es un nuevo servicio en la plataforma Salesforce que le permite ofrecer experiencias más escalables al ampliar los datos y los flujos de trabajo que ya tiene, haciéndolos […]

La publicaciónOfrezca experiencias escalables sin límites mediante el uso de funciones apareció primero en el Blog de desarrolladores de Salesforce .

Seguir leyendo

Patrones de comunicación entre componentes para componentes web Lightning ☁️

Al crear aplicaciones con Lightning Web Components (LWC), los desarrolladores necesitan pasar información a través de los componentes para compartir el estado y volver a renderizar los componentes. En esta publicación, compartiré una descripción general de los diferentes patrones de comunicación junto con sus ventajas y casos de uso. Veremos los tres tipos de intercambios: Transmitir datos por la jerarquía de componentes. Pasando datos […]

La publicación Patrones de comunicación entre componentes para componentes web Lightning apareció primero en el Blog de desarrolladores de Salesforce .

Seguir leyendo