Novedades de la release Spring 21 para Developers

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)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”

  1. Avatar Jaime dice:

    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.

  2. Oriol Oriol dice:

    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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tambien te puede interesar...

Suscríbete a nuestro blog