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.

 

 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.

 

 Tipos de acciones de aprobación y flujo de trabajo

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.

 En realidad, en la mayoría de las instancias de Salesforce, ciertamente las que se han personalizado durante un período de tiempo razonable, no existe una separación clara entre las personalizadas de forma declarativa y las que contienen soluciones programáticas. Suele haber una combinación de ambos métodos de personalización tanto a nivel de organización como a nivel de solución.

 Ahora veremos cómo podemos evaluar el método de personalización más apropiado para los tipos de requisitos que pueden encontrar los creadores de aplicaciones. Identifiquemos ahora los límites de la personalización declarativa y los casos de uso generales para la personalización programática.

 

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/.

 Las soluciones y servicios enumerados en AppExchange son proporcionados por la comunidad de desarrolladores e integradores de sistemas externos de Salesforce, así como de Salesforce, e incluyen aplicaciones, componentes, soluciones de Bolt, datos Lightning, soluciones de flujo y consultores, como se muestra en la siguiente captura de pantalla:


 Soluciones y servicios

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.

 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

Entradas más populares de este blog

Mejores practicas para migración de datos a Salesforce

AWS Lambda

Modelado de datos en Salesforce