El próximo 12 de Febrero, para San Valentín, Salesforce nos va a obsequiar con un nueva release cargada como siempre de novedades como las que destacamos a continuación.
Creación de Quick Actions con Lightning Web Components
Finalmente, vamos a poder crear Acciones con un Lightning Web Component directamente sin tener que usar un componente Aura como contenedor. Aunque esté en fase piloto, es una gran noticia para dejar de depender de Aura.
En el ejemplo podemos ver que ahora al crear la acción tenemos un nuevo tipo de acción Lightning Web Component.
Enlace a la nota de la release aquí
Accede a registros de Custom Metadata Types usando métodos estáticos
Ahora podemos usar los métodos getAll(), getInstance(recordId), getInstance(qualifiedApiName) y getInstance(developerName) para recuperar información de los registros de custom metadata types más rápido. Estos métodos no se basan en el motor SOQL y devuelven los detalles de sObject directamente desde la llamada. Entonces ya no necesitamos hacer consultas SOQL. Además, si agregamos nuevos campos en custom metadata, no necesitamos actualizar nuestro SOQL.
Games__mdt mc = Games__mdt.getInstance(‘m00000000000001’)
Enlace a la nota de la release aquí
SELECT * en SOQL
Salesforce Object Query Language (SOQL) ahora facilita la inclusión de agrupaciones predefinidas de campos dentro de una declaración de consulta utilizando la nueva función FIELDS(). Utiliza FIELDS(ALL), FIELDS(STANDARD) o FIELDS(CUSTOM) en tus sentencias SELECT.
Enlace a la nota de la release aquí
Más soporte para acciones dinámicas
Podemos asignar acciones en Lightning App Builder en lugar de en el page layout y aplicar filtros para controlar la visibilidad de las acciones para los usuarios. Las acciones dinámicas para objetos personalizados ahora son GA para dispositivos móviles y han sido GA para escritorio desde Winter ’21. Para Account, Case, Contact, Lead y Oportunidad ahora son GA para escritorio. Las acciones dinámicas para todos los demás objetos estándar son Beta para escritorio.
Enlace a la nota de la release aquí
Personalizar marcadores y controlar el comportamiento del mapa en el componente base lightning-map
Ahora podemos cambiar los marcadores del mapa o definir un círculo, rectángulo o polígono sombreado alrededor de una ubicación. Modifica o deshabilita el comportamiento de zoom y arrastra, o deshabilita los controles del mapa por completo para crear un mapa estático.
En el componente, usa el atributo options para especificar propiedades que habiliten o deshabiliten los controles de usuario y la propiedad map-markers para añadir marcadores customizados en el mapa.
Enlace a la nota de la release aquí
Einstein OCR para detectar texto en archivos PDF (Beta)
Einstein OCR (reconocimiento óptico de caracteres) ahora admite documentos en formato PDF además de formatos de imágenes gráficas. Entonces, para detectar texto en un PDF, podemos pasar el archivo como lo haría con un archivo de imagen. Utiliza el sampleLocationparámetro que contiene la URL del archivo PDF o el sampleContentparámetro que contiene el contenido binario del archivo cargado como multipart / form-data.
Enlace a la nota de la release aquí
Salesforce Functions: amplia Salesforce con funciones (Beta)
Salesforce Functions es un servicio que nos permite a los desarrolladores escribir código que se integra con los datos y eventos en la plataforma Salesforce y ejecutarlo bajo demanda con escala elástica en un entorno sin servidor. Finalmente, podemos escribir código JavaScript o TypeScript que use Salesforce Functions Node SDK para comunicarse con la organización de Salesforce.
Enlace a la nota de la release aquí
Llamar de forma segura a la API de Visualforce Remoting (actualización)
Para mejorar la seguridad de la API de Visualforce JavaScript Remoting, esta actualización modifica cómo se crea el token CSRF para la variable global de Visualforce $RemoteAction. Esta validación agrega más protección a las llamadas remotas de API por parte de usuarios invitados. Además, esta actualización valida el parámetro {«apexType»: «Object»} utilizado por la variable global de Visualforce $RemoteAction con el parámetro del método Apex y arroja un error si el parámetro apexType no es válido. Esta validación evita que los usuarios proporcionen objetos de Apex a los que no pueden acceder o que proporcionen objetos de Apex que no satisfagan el parámetro del método de Apex.
Enlace a la nota de la release aquí
Adjuntar Acciones a trabajos de Apex asincrónicos mediante Transaction Finalizers (Beta)
La función Transaction Finalizers nos permite adjuntar acciones, utilizando el interfaz System.Finalizer, a trabajos Apex asincrónicos que utilizan el marco Queueable. Un caso de uso específico es diseñar acciones de recuperación cuando falla un trabajo en cola. Antes de Transaction Finalizers, no existía una forma directa de especificar las acciones a realizar cuando los trabajos asincrónicos tenían éxito o fallaban. Solo puedes realizar una query sobre el estado de AsyncApexJob mediante una consulta SOQL y volver a poner en cola el trabajo si falla. Con los Transaction Finalizers, podemos adjuntar una secuencia posterior a la acción a un trabajo que se puede poner en cola y tomar las acciones relevantes en función del resultado de la ejecución del trabajo.
Enlace a la nota de la release aquí
Marcar Métodos Apex invocables que realizan callouts
Ahora podemos agregar un atributo de llamada a la anotación del método Apex invocable. Con esta información, un flujo que llama a la acción sabe cómo administrar la transacción en tiempo de ejecución.
Enlace a la nota de la release aquí
Convierta clientes potenciales en una cuenta personal y una cuenta comercial al mismo tiempo con los nuevos métodos LeadConvert
Ahora podemos convertir un cliente potencial en una cuenta comercial y una cuenta personal en lugar de un contacto. Se han creado nuevos métodos en la clase LeadConvert():
getRelatedPersonAccountId()
Obtiene el ID de una cuenta de persona existente en la que convertir el cliente potencial, además de la cuenta comercial.
setRelatedPersonAccountId(relatedPersonAccountId)
Establece el ID de la cuenta de persona existente en la que convertir el cliente potencial, además de la cuenta comercial.
getRelatedPersonAccountRecord()
Obtiene el registro de entidad de una nueva cuenta personal en la que convertir el cliente potencial, además de la cuenta comercial.
setRelatedPersonAccountRecord(Entity relatedPersonAccountRecord)
Establece el registro de entidad de una nueva cuenta personal en la que convertir el cliente potencial, además de la cuenta comercial.
También hay un nuevo método en la clase LeadConverResult():
getRelatedPersonAccountId
Devuelve el id del nuevo o existente registro relacionado de Person Account especificado cuando se invocó convertLead().
Ejemplos de uso:
setRelatedPersonAccountId
setRelatedPersonAccountRecord
Enlace a la nota de la release aquí
Ajusta la seguridad de los datos de tu organización con Data Mask
Ahora tenemos más control en la configuración de enmascaramiento de datos, o enmascaramos incrementalmente solo los datos recién agregados. Las funciones de máscara de datos mejoradas nos brindan nuevas y poderosas formas de proteger todos nuestros datos confidenciales. Utiliza Data Mask para enmascarar automáticamente los datos en una Sandbox. Anteriormente, necesitábamos ejecutar un script personalizado para enmascarar datos importantes.
Data Mask es un managed package que se instala y ejecuta en una organización de producción. Luego, ejecuta el proceso de enmascaramiento en cualquier Sandbox creada a partir de una organización de producción.
Enlace a la nota de la release aquí
Puedes consultar aquí las notas completas de la versión Spring ’21. También puede registrarse en una organización de release preview aquí.
Y hasta aquí todo por hoy, no dudéis en comentar qué novedad es la que más te gusta o la que estás deseando probar de la release Spring ’21.
Feliz 2021 a todos!!!!
2 comentarios en “Novedades de la release Spring 21 para Developers”
Quick Actions con Lightning Web Components es un gran avance. Espero que pronto podamos también tener Quick Actions en listas relacionadas de manera declarativa. Respecto a la creación simultánea de person accounts y business accounts, entiendo que la org tendrá que tener activadas las person accounts.
Hola Jaime, las Quick Actions de momento en Spring ’21 solo va a ser un piloto, pero ya es un avance. Esperemos mas adelante como bien dices poder agregar también acciones a vistas relacionadas. Seria de gran ayuda.
En cuanto a la conversión de lead a person account no lo indica en la documentación pero entiendo que si será necesario tener activado person account.
Saludos