Skip to main content

Distribuir sus actualizaciones

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Enumerar las diferentes maneras de ofrecer actualizaciones a sus clientes.
  • Describir las herramientas que puede usar para facilitar las actualizaciones a sus clientes.

¡La última versión, por favor!

En la última unidad, aprendió sobre los números de versión de paquetes, que identifican versiones exclusivas para sus paquetes gestionados.

Como mencionamos, el mantenimiento de diferentes versiones de un producto no es lo ideal. Trate de mantener a todos sus clientes en una sola versión (la más reciente) de su producto. De este modo, todos tendrán la misma experiencia, las últimas correcciones de errores y todas las funciones más interesantes.

Veamos cómo se hace.

Actualizaciones de envío para sus clientes

Si realmente quiere que sus clientes usen la última versión del producto, hay una manera fácil de asegurarse de que lo hagan: Use las actualizaciones de envío. En una actualización de envío, se entrega la última versión de su oferta a los clientes. No tienen que hacer nada para completar la actualización: solo usan la nueva versión una vez que la tienen.

Puede usar las actualizaciones de envío para actualizaciones principales o secundarias, y nuevas versiones de parches. Cuando se completa una actualización de envío, los clientes ven un nuevo número de versión en la página Detalle de paquete correspondiente al producto. Y, por supuesto, también ven todas las nuevas funciones más interesantes.

Lo importante es comunicar

Esperamos haberlo convencido de usar actualizaciones de envío. Ahora puede difundir el mensaje a sus clientes, que, sin duda, querrán saber acerca de una próxima actualización de envío antes de conseguirla.

En qué consiste un envío

Así es como funciona una actualización de envío:

  • Selecciona una o más organizaciones de clientes para actualizar.
  • Elige la versión de su aplicación para instalar en esas organizaciones.
  • Programa la actualización para una fecha y una hora determinadas.
  • Hace un seguimiento del progreso de la actualización. Comprueba si se completa correctamente o aborta una actualización pendiente si quiere reprogramarla.

Esa es la vista detallada. Usted decide exactamente cómo funciona la actualización: qué organizaciones se actualizan primero y qué sucede con cada organización.

Nota

Salesforce recomienda que las actualizaciones de envío se programen para que se produzcan fuera de las horas de mayor actividad.

Más poder conlleva mayor responsabilidad

Las actualizaciones aportan control. Puede distribuir cualquier cosa, desde un simple parche hasta una revisión importante de su aplicación. Puede enviar una actualización a un solo cliente o a todos.

Si se hace correctamente, una actualización de envío puede ser perfecta: todos obtienen la nueva versión y la usan. Distinta es la situación si no la realiza correctamente. Quien usa una computadora sabe qué es una actualización fallida.

Use su criterio. Si está agregando muchas funciones o componentes, considere el impacto:

  • ¿Funcionarán los componentes con las instalaciones existentes?
  • ¿Su actualización interfiere en las personalizaciones comunes?
  • ¿Su actualización modifica los datos del cliente de una manera disruptiva?

Las nuevas funciones son fáciles de gestionar; ninguno de sus clientes las usa hasta que usted envía su actualización. Las funciones existentes son más complicadas. Trate de preservar lo que funciona para que sus clientes permanezcan productivos.

Los socios de Salesforce necesitan un permiso especial a fin de realizar actualizaciones. Para solicitar acceso, registre un caso de asistencia en Salesforce Partner Community (inicio de sesión obligatorio). 

Automatizar los detalles

Las actualizaciones son más complicadas que las instalaciones nuevas porque hacen cambios en un sistema existente. ¿Y quién sabe qué está sucediendo en la organización de un cliente?

A veces, es necesario hacer tareas con posterioridad a la instalación. Por ejemplo, puede modificar los datos del cliente para adaptar una fórmula actualizada o para corregir inconsistencias. Con los metadatos de Apex, incluso puede actualizar un formato de página al agregar un campo personalizado a su paquete.

Salesforce le permite escribir una clase de Apex para el trabajo posterior a la instalación. Esta clase realiza su trabajo después de que su actualización se instaló en una organización.

¿Cómo es esa clase? El siguiente es un ejemplo sencillo:

global class PostInstallClass implements InstallHandler { 
global void onInstall(InstallContext context) { 
if(context.previousVersion() == null) { 
// This means the package is being installed for the first time // 
Perform required activities for the first time install Account a = new Account(name='NewAccount'); 
insert(a); 
} 
else if(context.previousVersion().compareTo(new Version(1,0)) == 0) { // 
This means the previous version is 1.0
} if(context.isUpgrade()) { 
// This means the package is getting upgraded // 
Perform required activities for package upgrades } 
if(context.isPush()) { 
//This means the package is getting pushed //
Perform required activities for push upgrades
} 
} 
}

Cada nueva clase de Apex necesita una clase de prueba; esta es una para nuestro ejemplo:

@isTest 
static void testInstallScript() { 
PostInstallClass postinstall = new PostInstallClass(); 
Test.testInstall(postinstall, null); 
Test.testInstall(postinstall, new Version(1,0), true); 
List<Account> a = [Select id, name from Account where name ='NewAccount']; 
System.assertEquals(a.size(), 1, 'Account not found'); 
}

Use el método testInstall de la clase Test para probar su clase PostInstall. ¿En qué consiste ese método? ¡Usted decide!

Automatización bien pensada

La automatización es excelente cuando funciona. Piense en la mejor manera de usarla con las funciones existentes y nuevas.

Para mejorar las funciones existentes, use una clase posterior a la instalación a fin de asignar automáticamente cualquier permiso nuevo para componentes de funciones a los usuarios existentes. De esa manera, todos pueden seguir usando el paquete sin interrupciones.

No use una secuencia de comandos de Apex después de la instalación a fin de asignar automáticamente permisos de componentes para nuevas funciones. En cambio, alerte a los administradores de clientes sobre estas funciones y deje que ellos trabajen en los detalles.

Programar una actualización

Ahora que definió la actualización, es hora de programarla. ¿Quién recibe la actualización y cuándo?

Programar actualizaciones con la API de SOAP

La API de SOAP le permite programar y controlar actualizaciones de manera programática, además de hacer un seguimiento de su progreso. Con la API de SOAP, puede hacer lo siguiente:

  • Encontrar a los clientes usando su paquete con consultas SOQL
  • Programar actualizaciones de envío para estos clientes
  • Supervisar el estado de una actualización y comprobar si hay errores

La API le da mucha flexibilidad para implementar actualizaciones. Por ejemplo, puede crear un formulario web que permita a los clientes actualizar a una nueva versión. Al hacer clic en un botón en el formulario, puede programar una actualización de envío para estos clientes.

No describimos aquí cómo usar la API de SOAP, ya que es un poco más complicado. La Guía del desarrollador de Empaquetado gestionado de segunda generación describe cómo puede programar sus propias actualizaciones de envío.

El cambio es lo único constante

Cuando desarrolla un software, las cosas cambian. Se arreglan errores, se agregan funciones, y los algoritmos y las estructuras evolucionan. Ya lidió con cambios en su propio equipo de desarrollo. Ahora aprendió a ofrecer estos cambios a sus clientes.

Use estas herramientas para ofrecer a sus clientes actualizaciones oportunas y sin interrupciones. Los clientes de Salesforce esperan todos los beneficios del software como servicio (SaaS). Cumpla la promesa del SaaS y mantenga a los clientes felices.

Recursos

¡Siga aprendiendo gratis!
Regístrese para obtener una cuenta y continuar.
¿Qué hay para usted?
  • Consiga recomendaciones personalizadas para sus objetivos profesionales
  • Practique sus aptitudes con retos prácticos y pruebas
  • Siga y comparta su progreso con empleadores
  • Póngase en contacto para recibir asesoramiento y oportunidades laborales