Personalización de la plataforma Lightning en Salesforce
Personalización de la plataforma Lightning en Salesforce
Comprender cuándo los procesos
estándar de Salesforce CRM y las funciones listas para usar no son apropiados o
no son suficientes para cumplir con los requisitos dados y requieren
personalización es clave para el conocimiento requerido para un creador de aplicaciones.
Ahora veremos los siguientes conceptos y consideraciones para personalizar la plataforma Lightning:
·
Personalización programática.
·
Personalización declarativa.
·
Tipos de acción de Process Builder.
·
Los tipos de acción Flujo de trabajo y
aprobaciones.
·
Casos de uso general para la personalización
programática.
Personalización programática
Las opciones programáticas para personalizar Salesforce Lightning Platform incluyen las siguientes:
· Código Apex: Apex es un lenguaje de programación
orientado a objetos que se ejecuta en la plataforma Salesforce Lightning. Al
igual que Java, el lenguaje de programación Apex permite la creación de
funciones que ejecutan declaraciones de control de transacciones dentro del
servidor.
·
Triggers de Apex: Los triggers de Apex se
utilizan para crear acciones personalizadas que se ejecutan antes o después de
eventos como la creación de registros, la actualización de registros y la
eliminación de registros, y se utilizan cuando no hay entrada del usuario.
·
Páginas de Visualforce: las páginas de
Visualforce comprenden conjuntos de etiquetas que se conectan al servidor y se
devuelven a la interfaz de usuario web. Las etiquetas están asociadas con
controladores estándar o personalizados que se utilizan para conectarse a la
base de datos.
·
Componentes Lightning: Los componentes Lightning
están disponibles en dos modelos de programación. En primer lugar, está el
modelo de programación de Aura Components y, en segundo lugar, está Lightning
Web Components (LWC), que utiliza un marco ligero con JavaScript y HTML.
Las ventajas de utilizar la
personalización mediante programación incluyen las siguientes:
·
Flexibilidad
·
Reutilización
·
Complejidad de la interfaz de usuario
·
Integración
Si bien existen beneficios,
también existen desventajas, como las siguientes:
·
Requisitos de prueba adicionales
·
Mayores costos de desarrollo
·
Una posible falta de escalabilidad
·
Menor capacidad de respuesta al cambio
·
Riesgo adicional al implementar cambios
·
Falta de disponibilidad de habilidades de
desarrollador.
· Habiendo delineado las opciones para el código y
las ventajas y desventajas, ahora describiremos las opciones para la
personalización declarativa.
Hay varios términos que puede
conocer y que se utilizan para describir la personalización declarativa.
Algunos de esos términos son Clicks not Code, Point and Click, Arrastrar y
soltar, Click v Code y Sin desarrollo de código.
Lo que estos términos significan
con respecto a Salesforce Lightning Platform es que permiten que las personas
creen soluciones sin la necesidad de escribir código.
Veamos las opciones para crear
aplicaciones mediante el desarrollo declarativo.
Las opciones declarativas para
personalizar la plataforma Salesforce Lightning incluyen las siguientes:
·
Process Builder: Process Builder es una
herramienta de automatización del flujo de trabajo que le permite automatizar
los procesos comerciales y utiliza una interfaz visual fácil de usar con
funciones de apuntar y hacer clic. La herramienta admite la construcción de
múltiples reglas con criterios y acciones asociados en un solo proceso donde
las acciones se activan cuando los registros nuevos o actualizados cumplen con
los criterios especificados. Process Builder se inicia cuando se crea o edita
un registro, otro proceso llama a Process Builder o se activa un mensaje de
evento de plataforma.
·
Flow: Flow es una herramienta de automatización
de flujo de trabajo que le permite automatizar asistentes de pantalla de
procesos de negocio o procesos en segundo plano complejos que utilizan una
lógica de ramificación extensa. Al igual que Process Builder, los flujos se
crean utilizando Flow Builder, una interfaz visual fácil de usar con apuntar y
hacer clic características. Los flujos pueden ser flujos de pantalla con una
interfaz de usuario o flujos iniciados automáticamente que no tienen pantalla.
·
Aprobaciones: los procesos de aprobación
permiten configurar los pasos que se utilizan para aprobar o rechazar los
registros que se han enviado para su aprobación. Los procesos de aprobación
incluyen criterios de entrada y usos designados que deben cumplirse para
permitir la aprobación durante los pasos. Además, los procesos de aprobación permiten
la creación de acciones que se activan cuando se envía, aprueba, rechaza o
recupera un registro.
·
Flujo de trabajo: las reglas de flujo de trabajo
inician acciones de flujo de trabajo cuando se cumplen las condiciones (o
criterios) especificados. Las acciones del flujo de trabajo se pueden
configurar para que se ejecuten inmediatamente o se pueden configurar
utilizando la función dependiente del tiempo que da como resultado que las
acciones del flujo de trabajo se ejecuten en una fecha futura. Essentials,
Professional, Enterprise, Performance, Unlimited y Developer. Las aprobaciones
y el flujo de trabajo están disponibles en las siguientes ediciones:
Enterprise, Performance, Unlimited y Developer.Referencia:
https://help.salesforce.com/articleView?id=process_which_tool.htm
Ahora veamos el tipo de acciones
que se pueden realizar en Process Builder.
Tipos de acción de Process Builder
En Process Builder, se pueden
realizar los siguientes tipos de acciones:
·
Apex: las acciones de Apex invocan una clase de
Apex con un método invocable.
·
Crear un registro: crea un registro; las
acciones le permiten crear un registro de cualquier tipo admitido.
·
Alertas de correo electrónico: las acciones de
alerta de correo electrónico utilizan una plantilla de correo electrónico que
se utiliza para completar los detalles del correo electrónico que se envían a
destinatarios específicos que pueden ser usuarios de Salesforce CRM o
destinatarios de correo electrónico externos.
·
Flujos: las acciones de flujo permiten la
activación de un flujo iniciado automáticamente.
·
Publicar en Chatter: esta acción permite la
creación de una publicación de Chatter.
·
Procesos: estas acciones permiten la invocación
de un proceso diferente.
·
Acciones rápidas: las acciones rápidas se
utilizan para invocar una acción.
· Quip: esta acción inicia una integración de
Quip. Quip para Salesforce proporciona un documento colaborativo y una
integración de chat dentro de Salesforce. Las acciones de Quip están
disponibles si tiene la integración de Quip para Salesforce.
·
Enviar notificaciones personalizadas: esta
acción envía notificaciones personalizadas, que se utilizan para notificar a
los usuarios cuando ocurren eventos importantes.
·
Enviar para aprobación: esta acción habilita el
envío automático de un proceso de aprobación.
·
Actualizar registros: esta acción habilita la
actualización de cualquier registro relacionado.
Tipos de
acciones de flow
Las acciones de automatización de procesos que se pueden
configurar en Flow se dividen en dos áreas: a saber, Elementos de Flow y
Acciones de Flow Core. Flow Elements permite realizar los siguientes tipos de
automatización:
·
Acción de Apex: las acciones de Apex invocan una
clase de Apex con un método invocable.
·
Subflujo: esta acción habilita la activación de
otro flujo.
·
Crear registros: esta acción permite la creación
de uno o varios registros.
·
Obtener registros: esta acción obtiene registros
según criterios especificados.
·
Eliminar registros: esta acción elimina
registros utilizando el ID de registro.
·
Actualizar registros: esta acción habilita la
actualización de cualquier registro relacionado.
·
Alerta de correo electrónico: las acciones de
alerta de correo electrónico utilizan una plantilla de correo electrónico que
se utiliza para completar los detalles del correo electrónico que se enviarán a
destinatarios específicos, que pueden ser usuarios de Salesforce CRM o
destinatarios de correo electrónico externos.
·
Acción principal: hay muchos tipos de acciones
principales, como alertas por correo electrónico, enviar para aprobación, etc.,
y se enumeran en la siguiente sección.
Anidados dentro de las opciones de acción principal de flujo
de elementos de flujo, se pueden realizar los siguientes tipos de acciones:
·
Actualizar registros: esta acción habilita la
actualización de cualquier registro relacionado.
·
Activar conjunto de permisos basado en sesión:
esta acción activa un conjunto de permisos basado en sesión para el usuario que
está ejecutando el flujo.
·
Desactivar conjunto de permisos basado en
sesión: esta acción desactiva un conjunto de permisos basado en sesión para el
usuario que está ejecutando el flujo.
·
Publicar en Chatter: esta acción permite la
creación de una publicación de Chatter.
·
Acción: las acciones rápidas se utilizan para
invocar una acción.
·
Enviar notificación personalizada: esta acción
envía notificaciones personalizadas, que se utilizan para notificar a los
usuarios cuando ocurren eventos importantes.
·
Alertas de correo electrónico: esta acción envía
un correo electrónico utilizando un asunto, cuerpo y destinatarios de correo
electrónico.
·
Enviar para aprobación: esta acción habilita el
envío automático de un proceso de aprobación.
Hay diferentes tipos de acciones de aprobación y flujo de
trabajo, que se enumeran aquí:
·
Alertas de correo electrónico: las acciones de
alertas de correo electrónico utilizan una plantilla de correo electrónico que
se utiliza para completar los detalles del correo electrónico que se enviarán a
destinatarios específicos, que pueden ser usuarios de Salesforce CRM o
destinatarios de correo electrónico externos.
·
Actualizaciones de campo: las acciones de
actualización de campo le permiten especificar un campo para actualizar y
establecer un nuevo valor para él. La acción de actualización del campo depende
del tipo de datos del campo, donde puede optar por aplicar un valor específico,
borrar el campo o calcular un valor de acuerdo con los criterios o una fórmula
derivada que puede especificar.
·
Tareas: las acciones de tareas permiten la
asignación de tareas a un usuario que usted puede especificar. También debe
especificar el Asunto, el Estado, la Prioridad y la Fecha de vencimiento de la
tarea. Las tareas se pueden asignar solas, pero también puede combinarlas con
una alerta por correo electrónico para informar al usuario.
·
Acción de envío: las acciones de envío se
utilizan para enviar automáticamente mensajes de correo electrónico al final de
un proceso de aprobación.
·
Mensajes salientes: esta es una acción que puede
ser activada tanto por flujos de trabajo como por aprobaciones, que envía
información a un punto final de URL web. El mensaje saliente contiene los datos
en campos especificados en lo que se conoce como mensaje SOAP para el punto
final.
Habiendo analizado previamente las ventajas y desventajas de
crear soluciones usando código, ahora consideraremos una de las opciones a
menudo difíciles al trabajar con la Plataforma Lightning, a saber, cuándo usar
soluciones programáticas y cuándo usar desarrollo declarativo.
Casos de
uso general para la personalización programática
Salesforce
fue pionera en la capacidad de proporcionar una plataforma que se puede
desarrollar mediante código y mecanismos no codificados. La plataforma permite
una arquitectura subyacente que admite el procesamiento empresarial y el
almacenamiento de datos; los bloques de construcción clave de metadatos
necesarios son para crear aplicaciones.
Aunque no existen reglas estrictas y rápidas sobre cuándo
usar el código, el caso de uso específico y los recursos disponibles ayudan a
determinar el mejor enfoque y, en otras situaciones, hay algunas soluciones que
deben construirse con código, ya que esta es la única opción.
A continuación, se muestran algunos casos de uso generales
para elegir soluciones programáticas:
·
Integración usando la API para conectarse con
otros sistemas
·
Cuando se requieren interfaces de usuario muy
complejas
·
Cuando es necesario agrupar y procesar grandes
volúmenes de datos en segundo plano
·
Cuando es necesario ampliar las funciones de
objeto estándar listas para usar
·
Cuando las herramientas de automatización listas
para usar no tienen las acciones necesarias
A continuación, se muestran algunos casos de uso específicos
en los que las herramientas de automatización listas para usar carecen de la
capacidad y requieren una solución programática:
·
Cuando los registros deben recuperarse
·
Cuando es necesario crear o actualizar varios
tipos de registros simultáneamente
·
Al agregar Apex a flujos o Process Builder
·
Al agregar componentes Lightning a flujos
A menudo, agregar componentes
Lightning a los flujos o incluir Apex en Process Builder ofrece una solución
mucho mejor que intentar construir una solución ya sea completamente en código
o usando herramientas declarativas.
Evite la construcción de flujos complejos
A menudo, es mejor evitar la creación de flujos complejos
que traspasan los límites de la herramienta Flow Builder y son difíciles de
administrar y, en su lugar, utilizar una solución programática.
Las soluciones programáticas como los componentes y las
aplicaciones Lightning se pueden obtener en Salesforce AppExchange, que ahora
exploraremos.
Explorando Salesforce AppExchange
Lanzado en 2006, Salesforce AppExchange es un mercado
empresarial en la nube proporcionado por Salesforce y está integrado dentro de
la plataforma Salesforce Lightning. El acceso a AppExchange se puede obtener a
través de un sitio web alojado por Salesforce y también desde la aplicación
Salesforce CRM.
Existe la expectativa de que los creadores de aplicaciones
estén familiarizados con lo que está disponible en AppExchange y cuáles son los
casos de uso para elegir instalar soluciones en una organización desde
AppExchange, como se indica en la Guía de examen de Creador de aplicaciones de
plataforma certificada de Salesforce:
Conceptos básicos de Salesforce: "Identificar
escenarios comunes para ampliar una organización mediante AppExchange"
Existe una variedad de soluciones y servicios que están
disponibles en AppExchange que sirven para extender la funcionalidad y
características principales dentro de Salesforce.
Nota
Se puede acceder a Salesforce AppExchange utilizando la
siguiente URL: https://appexchange.salesforce.com/.
En el momento de redactar este artículo, hay más de 5000
soluciones y al menos 1000 servicios de consultoría en el mercado de
AppExchange.
Veamos los tipos de soluciones que están disponibles en
Salesforce AppExchange.
Aplicaciones (Apps)
Las aplicaciones contienen funciones prediseñadas que se
pueden instalar en su instancia de Salesforce para ampliar las funciones listas
para usar. Una aplicación contiene elementos como objetos personalizados,
pestañas, código, componentes, etc. Junto con la lista de la aplicación en
AppExchange, hay una descripción de lo que hace, los elementos que contiene y
las opiniones de los clientes.
Además de las aplicaciones proporcionadas por la comunidad
de desarrolladores e integradores de sistemas externos, Salesforce proporciona
muchas de las aplicaciones a través de un equipo conocido como Force.com Labs.
Las aplicaciones se proporcionan utilizando varios modelos de precios que se
basan en un precio por usuario por mes, un precio por empresa por mes o se
proporcionan de forma gratuita. Además, algunas aplicaciones de pago ofrecen
descuentos para organizaciones sin fines de lucro.
Las aplicaciones pueden variar desde soluciones altamente
complejas, codificadas y ricas en funciones con varias pantallas hasta
conjuntos simples de paneles o informes. De hecho, hay algunos casos en los que
no se requiere la funcionalidad completa de una aplicación y solo necesita un
elemento específico de funcionalidad para proporcionar la solución, y este caso
de uso es donde se pueden usar componentes.
Componentes
Los componentes son elementos que pueden no funcionar por sí
mismos y, en cambio, se utilizan como bloques de construcción para construir la
solución general. Como ejemplo, puede encontrar componentes Lightning que
actualizan automáticamente registros en una variedad de tipos de objetos en un
escenario particular o valores preestablecidos automáticamente en una página de
edición de registros antes de guardar un registro, que no son características
listas para usar en Salesforce CRM.
Hay dos tipos de componentes:
·
Componentes que son de uso general y se utilizan
para procesar la lógica empresarial, fusionar registros, iniciar procesos, etc.
·
Componentes web, que están diseñados para
personalizar la interfaz de usuario de Lightning Experience.
Una alternativa a la instalación de una aplicación completa
o la creación de una solución personalizada con componentes Lightning separados
es instalar soluciones declarativas prediseñadas que están disponibles en
AppExchange, denominadas solución de flujo.
Soluciones
de flujo
Al crear nuevos flujos, vale la pena mirar AppExchange para
verificar las soluciones de flujo existentes, que a menudo están disponibles
gratuitamente, ya que puede no ser apropiado reinventar la rueda y construir o
configurar su propio flujo o instalar un flujo menos flexible. paquete de
aplicación administrado de AppExchange; aquí es donde se pueden utilizar las
soluciones de flujo.
Las soluciones de flujo son soluciones prediseñadas que han
sido creadas por desarrolladores externos y Salesforce para automatizar un
proceso empresarial, y existen dos tipos de soluciones de flujo:
·
Acciones de flujo: estos son flujos independientes
que realizan una función específica y realizan una acción.
·
Plantillas de flujo: son soluciones de flujo
completas y de un extremo a otro que actúan como un punto de partida que puede
guardar y personalizar para cumplir con los requisitos del proceso empresarial.
Otra alternativa a la instalación de una aplicación completa
o la creación de una solución personalizada es trabajar con un socio e instalar
una solución declarativa prediseñada que está disponible en AppExchange llamada
Solución Bolt.
Soluciones Bolts
Las soluciones Bolt son soluciones que han sido creadas por
desarrolladores e integradores de sistemas externos con los que los clientes de
Salesforce trabajarían para completar su instalación. Los socios ayudan a los
clientes a instalar y personalizar la solución para que se adapte a sus
necesidades. A veces, las organizaciones se enfrentan a un requisito de
estándar empresarial o industrial en particular, que debe ser flexible, donde
hay expertos de la industria disponibles que pueden proporcionar una solución
declarativa y una guía de personalización. En este escenario, puede que no sea
apropiado reinventar la rueda y crear o configurar su propia solución o
instalar un paquete de aplicación administrada menos flexible de AppExchange, y
aquí es donde se pueden utilizar Bolt Solutions.
Además de las extensiones funcionales de Salesforce CRM,
también puede encontrar soluciones que brinden mejoras de datos para sus
instancias de Salesforce, conocidas como Lightning Data.
Usaría Lightning Data para asegurarse de que los datos en su
instancia de Salesforce estén sincronizados y actualizados con un conjunto de
datos externo del proveedor de Lightning Data dado.
Lightning Data se puede considerar como tipos especiales de
aplicaciones que utilizan los servicios de un conector de datos para extraer
datos externos para enriquecer los datos almacenados en su instancia de
Salesforce CRM. El conector de datos es parte de un motor, llamado Lightning
Data Engine, que conecta automáticamente su instancia de Salesforce y el
sistema de terceros y la fuente de datos asociada.
Consultants
AppExchange también proporciona una lista de consultores que
ofrecen conocimientos especializados de Salesforce. Los consultores son
expertos con habilidades comprobadas de Salesforce, capaces de brindar
orientación en diversos entornos de la industria.
Mejores prácticas de
AppExchange
Se deben aplicar las siguientes mejores prácticas al
instalar aplicaciones desde el sitio web del mercado de AppExchange:
·
Aclare que la especificación de la aplicación
cumple con los requisitos y evalúe las revisiones y los comentarios.
·
Haga una prueba de manejo, si está disponible.
·
Revise todos los componentes que se incluyen en
el paquete y tenga en cuenta los problemas de seguridad relacionados con los
enlaces y los ID de sesión.
·
Pruebe la aplicación en una zona de pruebas
antes de implementarla en producción.
·
Intente conseguir soporte empresarial para
poseer y validar la aplicación antes de implementarla en producción.
·
Considere realizar una implementación piloto
para usuarios seleccionados si la aplicación es particularmente compleja.
·
Comunique la aplicación a la empresa antes de la
implementación y activación en producción.
Comentarios
Publicar un comentario