Skip to content

Etiqueta: interfaz de usuario

Preparando tu aplicaci贸n para la actualizaci贸n de color del Lightning Design System 鈽侊笍

Preparando tu aplicaci贸n para la actualizaci贸n de color del Lightning Design System 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Preparaci贸n de su aplicaci贸n para la actualizaci贸n de color de Lightning Design System | Blog de desarrolladores de Salesforce

En 2023, Salesforce planea actualizar los colores en nuestra interfaz de usuario de iluminaci贸n para que sean m谩s accesibles para las personas con baja visi贸n y para cumplir con las Pautas de accesibilidad de contenido web (WCAG) para el contraste de color que no es de texto y el contraste de color de texto. WCAG es un est谩ndar de accesibilidad moderno requerido por numerosos 贸rganos de gobierno de todo el mundo.

Para hacer esto, actualizaremos las plataformas en las que se crea nuestra interfaz de usuario Lightning: Salesforce Lightning Design System (SLDS) y Base Lightning Components (ambas versiones, Aura y Lightning Web Component). En estas plataformas, actualizaremos componentes, tokens de dise帽o, ganchos de estilo e 铆conos. Estos cambios no solo aparecer谩n en los productos de Salesforce, como Sales Cloud y Service Cloud, sino que tambi茅n aparecer谩n en cualquier interfaz de usuario personalizada que haya creado con SLDS o Base Lightning Components.

Para obtener m谩s detalles y ejemplos visuales de las actualizaciones, eche un vistazo a las publicaciones del blog de administraci贸n y noticias de Salesforce.

驴Cu谩l es el motivo de la actualizaci贸n?

Con los colores actuales en Salesforce, los usuarios con problemas de visi贸n tienen dificultades para reconocer los elementos clave de la interfaz de usuario, lo que no solo los frustra, sino que tambi茅n les impide adoptar Salesforce. Adem谩s, Salesforce y sus clientes enfrentan problemas de cumplimiento clave debido a que un n煤mero cada vez mayor de gobiernos en todo el mundo, incluida la Uni贸n Europea (UE) , requieren contraste de color de acuerdo con WCAG 2.1 . WCAG 2.1 ha requerido que los sitios web de las empresas usen texto que cumpla con un contraste de color de 4.5: 1 de su fondo y elementos funcionales que no sean texto que cumplan con un contraste de color de 3: 1 . Aumentar nuestro contraste de color para cumplir con estos est谩ndares nos permitir谩 brindar una mejor experiencia a los usuarios con baja visi贸n y permitir谩 a las empresas que usan nuestros productos evitar fuertes multas por accesibilidad.

驴Cu谩ndo est谩 ocurriendo la actualizaci贸n?

Todos los 铆conos se actualizar谩n como parte del lanzamiento de Summer '23. Las p谩ginas de inicio de registros seleccionados, incluidos los LWC incrustados en las p谩ginas, se actualizar谩n como parte del lanzamiento de Summer '23. Todas las dem谩s p谩ginas, SLDS y los componentes b谩sicos de Lightning se actualizar谩n como parte de la versi贸n Winter '24.

驴Qu茅 es lo que hay que hacer?

Si descarg贸 铆conos de Salesforce y seleccion贸 铆conos espec铆ficos para usarlos como recursos est谩ticos, aseg煤rese de actualizarlos con los nuevos 铆conos . Si est谩 utilizando nuestro paquete SLDS NPM , actualice ese paquete a la 煤ltima versi贸n para ver los cambios. Si tiene p谩ginas personalizadas desarrolladas con SLDS, vea cu谩les de los siguientes escenarios se aplican a su base de c贸digo y realice los cambios correspondientes.

1. Componente base Lightning/Aura

Utiliza un componente Lightning sin anulaciones adicionales. Su c贸digo podr铆a verse como el Ejemplo 1 a continuaci贸n.

驴Qu茅 es lo que hay que hacer?

  1. Nada. Las actualizaciones de color se realizan de forma gratuita a medida que Lightning Base Components implementa un plan SLDS .
  2. Se aplican excepciones a algunos componentes a continuaci贸n.

Ejemplo 1

<dx-code-block title language="html" code-block="
Save
芦>

2. Componente personalizado con plano SLDS

Utiliza un componente personalizado que implementa un modelo SLDS y solo usa clases SLDS para dise帽ar. Su c贸digo podr铆a verse como el Ejemplo 2 a continuaci贸n.

驴Qu茅 es lo que hay que hacer?

  1. Nada. Las actualizaciones de color se realizan de forma gratuita si su componente implementa exactamente un modelo SLDS .

Ejemplo 2

<dx-code-block title language="html" code-block="

芦>

3. Componente personalizado con plano parcial de SLDS

Similar a 2. Componente personalizado con modelo SLDS , pero en este caso, usa un componente personalizado que implementa parcialmente un modelo SLDS o usa m谩s clases de SLDS para dise帽ar. Su c贸digo podr铆a verse como el Ejemplo 3 a continuaci贸n.

驴Qu茅 es lo que hay que hacer?

  1. Es posible que deba actualizar los colores en su CSS personalizado si ve regresiones visuales.
    1. Si existe un componente base Lightning para ese modelo y variante, recomendamos reemplazar su componente personalizado con el componente base Lightning.
      1. Si necesita personalizar el estilo de los componentes, le recomendamos que utilice los nuevos ganchos de estilo --slds para cualquier valor de color codificado. Si el valor de color codificado no tiene una coincidencia exacta en t茅rminos de ganchos de estilo, querr谩 considerar usar el gancho de estilo m谩s parecido.
    2. Es posible que desee verificar si hay suficiente contraste de color para el componente antes de actualizar el valor codificado a un gancho de estilo.
  2. Los cambios de color en las clases de SLDS se realizan de forma gratuita. Debido a que los cambios se limitan al color, estas clases deber铆an continuar funcionando como se esperaba.

Ejemplo 3

<dx-code-block title language="html" code-block="

芦><dx-code-block title language="css" code-block="/* CSS */
.my-class { color: #ccc;

En este caso, la clase de CSS personalizada .my-class anula un valor de .slds-button_neutral . Este valor no solo debe actualizarse para tener un mejor contraste, sino que toda la implementaci贸n tambi茅n ser铆a m谩s f谩cil de mantener si se reemplazara con un componente base Lightning y luego se usara el enlace de estilo --slds-c-button-text-color para hacer una anulaci贸n accesible.

Nota: Si no existe un gancho de estilo para el valor codificado, recomendamos usar el gancho de estilo m谩s cercano disponible.

<dx-code-block title language="html" code-block="
Save
芦>

4. Componente personalizado con tokens o clases SLDS

Est谩 usando un componente personalizado que usa directamente tokens SLDS dentro de CSS personalizado o usa clases SLDS en el marcado. Su c贸digo podr铆a verse como el Ejemplo 4 a continuaci贸n.

驴Qu茅 es lo que hay que hacer?

  1. Es posible que deba reemplazar los tokens que est谩 utilizando en CSS personalizado con los ganchos de estilo global relevantes seg煤n sea necesario.
    1. Consulte el ejemplo 4 a continuaci贸n.

Ejemplo 4

<dx-code-block title language="html" code-block="

芦>

En este ejemplo, el token t(colorBorder) est谩 dise帽ado para bordes decorativos como tarjetas y divisores. Debe reemplazarse con un gancho de estilo que est茅 alineado con el plano del bot贸n SLDS.

5. Componente personalizado con fichas personalizadas

Est谩 usando un componente personalizado que usa tokens personalizados. Su c贸digo podr铆a verse como el Ejemplo 5 a continuaci贸n.

驴Qu茅 es lo que hay que hacer?

Recomendamos reemplazar tokens personalizados con ganchos de estilo SLDS cuando sea posible. Cuando use ganchos de estilo, aseg煤rese de usar ganchos que tengan el contexto sem谩ntico correcto. Por ejemplo, un gancho como --slds-g-color-border-base-1 solo debe usarse para bordes. Esto ayudar谩 a garantizar que su producto siga siendo coherente con el estilo de Salesforce a medida que se produzcan futuras actualizaciones de color.

Si debe mantener su token personalizado por cualquier motivo, vuelva a verificar que su token personalizado no haya experimentado ninguna regresi贸n visual.

Ejemplo 5

<dx-code-block title language="html" code-block="

芦><dx-code-block title language="html" code-block="

芦>

En este ejemplo, el token t(myBackgroundColor) usa un valor de color desactualizado de SLDS. El lenguaje visual Lightning actual ya no usa este color. El token personalizado debe reemplazarse con el color m谩s parecido de la lista de ganchos de estilo. En este ejemplo, 鈥攕lds-g-color-neutral-base-95: #f3f3f3 es el gancho de estilo SLDS m谩s parecido.

6. Componente personalizado con valores codificados

Est谩 usando un componente personalizado que usa un valor de color codificado como #444 o rgb(68,68,68) . Su c贸digo podr铆a parecerse al Ejemplo 3 anterior.

驴Qu茅 es lo que hay que hacer?

  1. Recomendamos reemplazar los colores codificados con ganchos de estilo si existe un color an谩logo. Al seleccionar tokens, aseg煤rese de usar tokens sem谩nticos de manera que conserven su significado. Por ejemplo, --slds-g-color-border-base-1 solo debe usarse como el color del borde de los elementos del formulario. Si desea mantener su valor de color codificado, verifique que estos colores no hayan experimentado ninguna regresi贸n visual.
    Nota: Los valores alternativos pueden permanecer como valores de color codificados.

7. Componente base con anulaci贸n --lwc

Est谩 utilizando un componente Lightning o Aura base y est谩 anulando un token --lwc para personalizar el estilo de uno o m谩s componentes. Su c贸digo podr铆a verse como el Ejemplo 7.

NOTA: Esta no es una forma recomendada de personalizar componentes y no hay garant铆a de que las personalizaciones realizadas de esta manera contin煤en funcionando.

驴Qu茅 es lo que hay que hacer?

  1. Verifique si est谩 anulando y --lwc tokens para cualquiera de estos componentes .
    1. Reemplace el token --lwc que se anula con el enlace de estilo actualizado --slds introducido.

Ejemplo 7

<dx-code-block title language="html" code-block="

芦>

En este ejemplo, al anular 鈥攍wc-colorBorder a rojo, todos los bordes de los botones se vuelven rojos. El equipo de SLDS actualiz贸 esta variante de componente para usar un enlace de estilo global, por lo que esta anulaci贸n dejar谩 de funcionar. En este caso, simplemente use --slds-g-color-border-base-4 en el 谩mbito del selector para anular el color del borde.

Mejores pr谩cticas

  • Reemplace los valores de color codificados de forma r铆gida con ganchos de estilo globales cuando sea posible (los valores de colores codificados de forma r铆gida est谩n bien como valores alternativos).
  • Reemplace los tokens de dise帽o con ganchos de estilo global donde sea posible.
  • Reemplace los ganchos de estilo --lwc con ganchos de estilo globales.
  • Elija ganchos de estilo que correspondan al contexto de uso. Por ejemplo, al reemplazar el valor codificado de #747474 que se usa para un borde con un gancho de estilo, hay dos alternativas para elegir: --slds-g-color-border-base-4 o --slds-g-color-neutral-base-50 . Se recomienda usar --slds-g-color-border-base-4 para el contexto de estilo CSS de "border" en lugar de --slds-g-color-neutral-base-50 .
  • Use declaraciones var(..) y coloque valores de color codificados como respaldo en caso de que un navegador heredado no pueda leer el enlace de estilo o el token de dise帽o. Esto es opcional.
    • background: var(鈥攕lds-g-color-neutral-base-50, #747474);
  • Intente que sus personalizaciones de color cumplan con los est谩ndares de contraste de color de texto y no texto de WCAG 2.1.

M谩s recursos

Sobre el Autor

Timothy Yeh es Gerente de Producto para Sistemas de Dise帽o en Salesforce, enfocado en ayudar a los clientes a construir una interfaz de usuario de mayor calidad m谩s r谩pido al proporcionar sistemas s贸lidos de patrones.

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Herramientas para desarrolladores desde cero (Parte 1 de 2) 鈽侊笍

Herramientas para desarrolladores desde cero (Parte 1 de 2) 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Herramientas para desarrolladores desde cero (Parte 1 de 2) | Blog de desarrolladores de Salesforce

Tanto si es un nuevo desarrollador que acaba de empezar su carrera en el ecosistema de Salesforce como si es un desarrollador experimentado de Salesforce que a煤n no se ha cambiado a nuestras nuevas herramientas para desarrolladores, esta serie de publicaciones de blog es para usted. Le mostraremos c贸mo configurar y utilizar las herramientas que pueden ayudar a todos los desarrolladores de Salesforce a ser mucho m谩s productivos y felices.

Antes de que empieces

Si es nuevo en Salesforce y no tiene una organizaci贸n (instancia de Salesforce) disponible para practicar, reg铆strese en una organizaci贸n Developer Edition . Es completamente gratis y tiene la mayor铆a de las funciones de Salesforce preinstaladas para que pruebe y aprenda. Deber谩 proporcionar un nombre de usuario en forma de direcci贸n de correo electr贸nico, pero no es necesario que sea uno real. Es solo un nombre de usuario que debe ser 煤nico en todos los productos de Salesforce. Despu茅s de solicitar una organizaci贸n, recibir谩 un correo electr贸nico con los pasos para iniciar sesi贸n. Tome nota del nombre de usuario de la organizaci贸n que proporcion贸, ya que tendr谩 que usarlo m谩s adelante.

Si es un desarrollador de Salesforce establecido y un usuario de Developer Console, este es el momento adecuado para adoptar las nuevas herramientas de desarrollador. Si bien Developer Console puede ser una forma r谩pida de cambiar algunas l铆neas de c贸digo, usar las herramientas m谩s modernas cambiar谩 las reglas del juego, ya que incluyen un mont贸n de capacidades que simplificar谩n su trabajo. Usar las nuevas herramientas requiere un cambio de h谩bitos al principio, pero te prometo que muy pronto entender谩s sus beneficios. Adem谩s, tenga en cuenta que ya no estamos invirtiendo en Developer Console, y problemas como la falta de soporte para Lightning Web Components son algo que no abordaremos.

Instalaci贸n de las herramientas de desarrollador

Los metadatos de su organizaci贸n est谩n en la nube, pero para desarrollarse de una manera m谩s productiva, desarrollar谩 localmente. El modus operandi ser谩 trabajar con los metadatos en su m谩quina local y sincronizarlos con su organizaci贸n, lo que significa recuperarlos o implementarlos cuando sea necesario.

Una alternativa al desarrollo local es usar Code Builder (Beta) , un IDE basado en web que puede iniciar desde su organizaci贸n y que tiene las herramientas de desarrollador instaladas. Sin embargo, en este blog, nos centraremos en el flujo de trabajo de desarrollo local.

El primer paso es instalar las siguientes herramientas en su m谩quina:

  • CLI de Salesforce : esta es la herramienta de interfaz de l铆nea de comandos que utilizar谩 para escribir comandos para mover su c贸digo entre su entorno local y su organizaci贸n, ejecutar pruebas, implementar datos de muestra y mucho m谩s. Si no le gusta escribir comandos en una terminal, no tema, ya que tenemos opciones alternativas como se describe en esta publicaci贸n de blog.
  • C贸digo VS : este es el IDE que usar谩 para desarrollar en su m谩quina local.
  • Java : algunas funciones en las extensiones de Salesforce para VS Code dependen de la plataforma Java, kit de desarrollo de edici贸n est谩ndar (JDK). Inst谩lelo siguiendo las instrucciones vinculadas.
  • Extensiones de Salesforce para VS Code : Este es un grupo de extensiones de VS Code que aumentan las capacidades de VSCode, exponiendo la mayor铆a de los comandos de la CLI de Salesforce en la interfaz de usuario de VS Code, para que pueda ejecutarlos con clics. Las extensiones tambi茅n agregan funciones para habilitar la depuraci贸n, facilitar las pruebas, permitirle explorar los metadatos en su organizaci贸n y m谩s.

Creaci贸n de un proyecto de Salesforce DX

Cuando trabaja con los metadatos de una organizaci贸n localmente, los archivos de metadatos deben almacenarse en una carpeta de proyecto, siguiendo una estructura determinada. Eso es lo que llamamos un proyecto de Salesforce DX.

Una vez instaladas las herramientas para desarrolladores, puede continuar y crear un proyecto de Salesforce DX que luego conectar谩 a su organizaci贸n. Una forma de hacerlo es escribir un comando que utilice la CLI de Salesforce para crear el proyecto. Puede escribir ese comando en una terminal normal.

sf project generate -n myProject

Nota: la CLI de Salesforce contiene dos ejecutables, sfdx y sf . En este blog, escribiremos los comandos utilizando el ejecutable y la sintaxis m谩s modernos, que es sf .

El indicador -n indica el nombre del proyecto. La CLI de Salesforce aplicar谩 scaffolding a un proyecto en una carpeta con ese nombre. Una vez que se crea el proyecto, puede abrirlo en VS Code, con File 鈫 Open Folder .

Gracias a las extensiones de Salesforce para VS Code, existe una forma sin escribir para ejecutar los comandos de la CLI de Salesforce. Simplemente abra la paleta de comandos de VS Code con View 鈫 Command Palette y escriba SFDX para ver todos los comandos disponibles. Tambi茅n podr铆amos haber creado el proyecto con SFDX: Create Project en lugar de escribir el comando.

Autorizar y establecer una organizaci贸n como predeterminada

Una vez que su proyecto est茅 configurado, el siguiente paso es autorizar la CLI de Salesforce para que funcione con su organizaci贸n. Comencemos esta vez con la forma de hacerlo sin escribir. Cuando abra el proyecto por primera vez, simplemente haga clic en el bot贸n Sin conjunto de organizaciones predeterminado y aparecer谩 la paleta de comandos, sugiriendo que autorice una organizaci贸n. Proceda siguiendo las instrucciones del comando.

Otra forma de hacerlo es ejecutar un comando CLI de Salesforce. Esta vez, y de ahora en adelante, le recomiendo que use el terminal integrado de VS Code para ejecutar comandos, ya que tener todas las herramientas en la misma pantalla reduce el cambio de contexto. Puede abrirlo en Terminal 鈫 New Terminal .

El comando CLI de Salesforce utilizado para autorizar una organizaci贸n es:

sf org login web -s

Luego, siga las instrucciones dadas por el comando. El indicador -s configurar谩 esa organizaci贸n como su organizaci贸n predeterminada para este proyecto. Puede ver la organizaci贸n predeterminada de su proyecto en la barra inferior de VS Code.

Todos los comandos de la CLI de Salesforce tienen varios indicadores disponibles. Por ejemplo, si desea conectarse a una zona de pruebas, puede pasar la URL de la instancia de la zona de pruebas a sf org login web usando -r . Para ver la ayuda del comando y todos sus indicadores disponibles, ejecute el comando agregando --help al final.

Cuando trabaja con varias organizaciones, ser谩 com煤n autorizar la CLI de Salesforce con varias organizaciones. Puede ver las organizaciones a las que la CLI de Salesforce tiene autorizaci贸n para acceder ejecutando sf org list . Puede cambiar la organizaci贸n predeterminada de un proyecto haciendo clic en el nombre de la organizaci贸n en la barra inferior de VS Code, como hicimos para autorizar por primera vez, o ejecutando:

sf config set target-org=your-org-username@sf.com

Perm铆tanme compartir con ustedes un 煤ltimo consejo. Las organizaciones pueden tener alias. Esto es 煤til cuando no desea recordar nombres de usuario largos o complejos. Para establecer un alias, escriba el siguiente comando.

sf alias set myalias=your-org-username@sf.com

Cuando se establece un alias, puede utilizar el alias en lugar del nombre de usuario de la organizaci贸n en cualquiera de los comandos de la CLI de Salesforce.

Implementaci贸n de metadatos en la organizaci贸n

Una vez que la CLI de Salesforce y su IDE est茅n autorizados con su organizaci贸n, y la organizaci贸n est茅 configurada como la organizaci贸n predeterminada para su proyecto, puede comenzar a desarrollar e implementar cambios. Por ejemplo, digamos que queremos crear una clase de Apex. Puede crear el archivo de metadatos que representa la clase de Apex manualmente en la carpeta classes . Sin embargo, es mucho m谩s efectivo crear la clase desde la paleta de comandos.

Tambi茅n puede crear una clase escribiendo el siguiente comando de la CLI de Salesforce:

sf apex generate class -n myClass -d force-app/main/default/classes

Una vez que su clase est茅 lista para implementarse en su organizaci贸n, hay varias formas de hacerlo. Una forma es especificar los metadatos en el comando.

sf project deploy start -m ApexClass

Una segunda forma es especificar una carpeta para implementar.

sf project deploy start -p force-app/main/default/classes

Y una tercera forma, disponible gracias a Salesforce Extensions for VS Code, es hacer clic con el bot贸n derecho en el archivo y hacer clic en Deploy This Source to Org .

Todas esas opciones le permiten ejecutar las implementaciones usted mismo. Si desea automatizar este paso e implementar un archivo cada vez que se guarda, puede establecer la configuraci贸n Implementar al guardar VS Code en "Verdadero" y ahorrar algo de tiempo.

Cuando se implementan sus metadatos, normalmente querr谩 abrir su organizaci贸n para realizar pruebas. Puede iniciar sesi贸n utilizando su navegador como de costumbre. Pero para los desarrolladores, es m谩s eficiente hacer clic en el bot贸n de abrir organizaci贸n en la barra inferior de VS Code.

Conclusi贸n

En esta publicaci贸n de blog, aprendi贸 c贸mo obtener una organizaci贸n gratuita para el desarrollo y c贸mo instalar las herramientas de desarrollo que todo desarrollador de Salesforce deber铆a usar hoy. Ha entendido c贸mo crear un proyecto y autorizarlo con su organizaci贸n y, por 煤ltimo, c贸mo implementar metadatos mediante la CLI de Salesforce o VS Code. En la Parte 2 de esta serie, aprender谩 c贸mo recuperar metadatos, trabajar con organizaciones con seguimiento de origen y usar bibliotecas de Node para cuidar la calidad de su c贸digo. Adem谩s, compartiremos otras gemas ocultas de las extensiones de Salesforce para VS Code. Si te gusta un formato de video, mira nuestro episodio de codeLive . Y si tiene preguntas, no dude en hacerlas en Salesforce Developers Trailblazer Community . 隆Est茅n atentos para la segunda publicaci贸n de blog de esta serie ma帽ana!

Sobre el Autor

Alba Rivas trabaja como Principal Developer Advocate en Salesforce. Puedes seguirla en Linkedin , Twitter o GitHub .

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Aspectos destacados de la versi贸n para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Aspectos destacados de la versi贸n para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Aspectos destacados de la versi贸n para desarrolladores | Aprende Moar Verano '23 | Blog de desarrolladores de Salesforce

隆Haz un gran revuelo con el lanzamiento de Summer '23!

Sabemos que cada versi贸n trae consigo muchas funciones nuevas y sorprendentes, y puede haber mucho que digerir. Con Learn MOAR, empaquetamos el lanzamiento y se lo ofrecemos en un formato f谩cil de digerir con blogs, videos y m谩s.

隆Es f谩cil empezar!

  • 隆Explore los trailmixes de Trailhead con aspectos destacados de lanzamiento clave para desarrolladores o administradores, o ambos!
  • 隆脷nase a nosotros para Release Readiness Live ! Los expertos en productos y los defensores de los desarrolladores analizar谩n y demostrar谩n las nuevas funciones en el lanzamiento de Summer '23 y, al final de nuestra transmisi贸n, responderemos sus preguntas. Sintonice a las 9 am PT el 19 de mayo para la sesi贸n de desarrolladores. 驴No puedes unirte a nosotros en vivo? La grabaci贸n se publicar谩 unas horas despu茅s de que finalice la transmisi贸n.

Siga y complete un trailmix de Learn MOAR Summer '23 para administradores o desarrolladores para obtener una insignia exclusiva de la comunidad.

Introducci贸n

隆El lanzamiento de Summer '23 est谩 aqu铆 y est谩 repleto de funciones para desarrolladores! En esta publicaci贸n de blog, resumiremos los aspectos m谩s destacados, para que pueda obtener una descripci贸n general de las novedades y decidir qu茅 es lo m谩s interesante para usted. En publicaciones posteriores de Learn MOAR, profundizaremos en algunos de estos aspectos destacados, para que pueda explorarlos con mayor detalle. Mantenerse actualizado con las 煤ltimas innovaciones lo ayudar谩 a aumentar su experiencia y convertirse en un desarrollador m谩s exitoso.

Componentes web Lightning

Comencemos hablando de Lightning Web Components, que presentar谩 una gran cantidad de nuevas funciones en Summer '23.

Un par de funciones que estaban en Beta ahora estar谩n disponibles de forma general (GA). Esto incluye DOM ligero , que permite integraciones de terceros y estilo global, Lightning Web Security para LWC y Aura , que facilita el uso de bibliotecas de JavaScript de terceros en LWC. La API RefreshView , que le permite actualizar la vista de un componente, tambi茅n ser谩 GA. Adem谩s, el adaptador de cable GraphQL se est谩 moviendo a Beta, lo que significa que puede probarlo de inmediato, sin tener que registrarse para el programa piloto. Esto cambiar谩 las reglas del juego sobre c贸mo se leen los datos en Lightning Web Components.

Hay varias mejoras en la sintaxis de LWC que facilitar谩n la escritura de sus componentes. Se est谩 lanzando una nueva directiva de plantilla lwc:spread (consulte los documentos ), que le permite distribuir propiedades de objetos a un componente secundario, lo que reduce significativamente la cantidad de c贸digo que necesita escribir. A partir de Summer '23, podr谩 establecer un valor din谩mico para el atributo de ranura de un elemento HTML. Adem谩s, se habilitar谩 la inyecci贸n program谩tica de hojas de estilo, lo que le permitir谩 establecer la propiedad est谩tica de las hojas de estilo para un componente.

驴Ha comenzado a escribir pruebas de extremo a extremo con UTAM? Esta versi贸n tambi茅n trae mejoras a las capacidades de manejo de errores de UTAM y una extensi贸n de Chrome para identificar objetos de p谩gina de UTAM (en Beta).

M贸vil sin conexi贸n

Salesforce Mobile App Plus (Salesforce App+) es una versi贸n de la aplicaci贸n Salesforce Mobile que habilita LWC Offline. LWC Offline es un entorno de tiempo de ejecuci贸n avanzado para componentes web Lightning que aumenta el tiempo de ejecuci贸n est谩ndar con funciones dise帽adas espec铆ficamente para uso m贸vil y sin conexi贸n. Si bien LWC Offline anteriormente solo estaba disponible en la aplicaci贸n m贸vil Salesforce Field Service, Salesforce App+ le permite usarlo en un contexto m谩s gen茅rico. Salesforce App+ se cerr贸 en Beta en Spring '23 y se trasladar谩 a GA en Summer '23. Salesforce App+ est谩 disponible bajo la licencia Salesforce Mobile Plus.

Integraci贸n de plataforma

Tener una plataforma robusta es tan importante como tener capacidades de integraci贸n s贸lidas. Es por eso que la versi贸n Summer '23 trae muchas funciones de integraci贸n nuevas.

En esta versi贸n, ampliamos la API REST de Salesforce para admitir la recuperaci贸n de elementos secundarios mediante la definici贸n de hasta cinco niveles de consultas SOQL anidadas . Tambi茅n ampliamos la API REST de Connect y la API de Connect (Connect in Apex) para permitir que los desarrolladores creen y administren credenciales con nombre mediante programaci贸n. Adem谩s, la API GraphQL, que se hizo GA en Spring, ahora admitir谩 consultas con funciones agregadas y mejorar谩 sus capacidades de manejo de errores . Los eventos de la plataforma tambi茅n incluyen nuevas funciones, como la capacidad de agregar una clase de devoluci贸n de llamada a su c贸digo de publicaci贸n de Apex , que proporcionar谩 una confirmaci贸n cuando el evento de la plataforma se publique correctamente. Adem谩s, podr谩 obtener m茅tricas de uso de eventos de la plataforma consultando el objeto PlatformEventUsageMetric .

Tambi茅n se est谩n mejorando las capacidades de integraci贸n en Flow. Flow Builders ahora podr谩 configurar llamadas HTTP GET a sistemas externos que no tienen una especificaci贸n de API abierta a trav茅s de la funci贸n Servicios externos. Las llamadas HTTP POST est谩n en Beta. Si es un Muley , puede leer m谩s sobre las innovaciones de Flow plus MuleSoft en la siguiente secci贸n.

Adem谩s de todo esto, el adaptador GraphQL de Salesforce Connect que anunciamos en febrero se mudar谩 a GA, y Event Relay ahora admitir谩 Shield Platform Encryption y tendr谩 una nueva interfaz de usuario de configuraci贸n f谩cil de usar.

Innovaciones entre nubes

Aunque MuleSoft, Tableau y Slack siguen sus propios ciclos de lanzamiento, son partes integrales del ecosistema de Salesforce y de vital importancia para los desarrolladores.

Mula Suave

Una de las innovaciones m谩s recientes de MuleSoft es Anypoint Code Builder (Beta), el IDE de pr贸xima generaci贸n de MuleSoft para dise帽ar, desarrollar e implementar API, integraciones y automatizaci贸n desde un solo entorno. 隆Compru茅balo si a煤n no lo has hecho!

Si ley贸 la secci贸n "Integraci贸n de la plataforma" anterior, es posible que haya recibido un spoiler: MuleSoft se est谩 integrando en Flow m谩s que nunca. En Summer '23, habr谩 una nueva secci贸n en la interfaz de usuario de configuraci贸n de Salesforce Platform, desde la cual podr谩 configurar y administrar los servicios de MuleSoft , que luego se pueden usar en Flow Builder. Adem谩s, el soporte de MuleSoft se est谩 agregando a Flow Orchestrator , lo que facilita la creaci贸n de procesos comerciales automatizados de varios pasos que utilizan los servicios de MuleSoft.

Por 煤ltimo, se lanzar谩 Anypoint Experience Hub . Es la pr贸xima evoluci贸n de Anypoint API Community Manager y permite a los clientes crear portales de API en minutos para una mejor participaci贸n de API.

Cuadro

Si trabaja con API, es posible que est茅 familiarizado con la colecci贸n Postman de API de Salesforce . Esta colecci贸n se ha vuelto muy popular y es ampliamente adoptada en el ecosistema de Salesforce, con actualmente m谩s de 500 bifurcaciones y m谩s de 800 estrellas. Tableau recientemente se subi贸 al carro al agregar sus propias muestras de la API REST de Tableau a la colecci贸n. Para obtener m谩s informaci贸n, lea nuestra entrada de blog .

Si le gust贸 la colecci贸n, le encantar谩 la innovaci贸n m谩s reciente de Tableau, cuya vista previa p煤blica se anunci贸 en la Conferencia de Tableau (TC) 2023 del 9 al 11 de mayo. El nuevo Tableau Embedding Playground ofrece a los desarrolladores un entorno de aprendizaje interactivo para desarrollar r谩pidamente soluciones de an谩lisis integradas. Integre visualizaciones de Tableau y agregue r谩pidamente interacciones que establezcan filtros y par谩metros, obtengan marcas y datos seleccionados, utilizando los componentes b谩sicos de los m茅todos y las propiedades de la API de incorporaci贸n. En el futuro, use sus propias visualizaciones en Tableau Cloud, Tableau Server o Tableau Public para desarrollar sus aplicaciones personalizadas con c贸digo que puede exportar y ejecutar en cualquier lugar.

La diversi贸n no se detiene ah铆. Para admitir an谩lisis integrados personalizados y seguros, Tableau introdujo recientemente dos nuevas funciones de usuario que permiten a los desarrolladores y administradores pasar cualquier atributo de usuario en tiempo de ejecuci贸n dentro del flujo de autenticaci贸n integrado. Para obtener m谩s informaci贸n, leanuestra entrada de blog .

Flojo

Finalmente, nos complace compartir que Slack acaba de anunciar la disponibilidad general de su plataforma Slack de pr贸xima generaci贸n. En la nueva plataforma, puede crear aplicaciones modulares mediante el desarrollo de componentes b谩sicos, como funciones, flujos de trabajo y activadores, mediante TypeScript y Deno . Ahora puede implementar en la infraestructura administrada por Slack, ahorrando tiempo y aumentando la eficiencia. En el futuro, los usuarios de Slack podr谩n aprovechar cada capacidad que ofrece y combinarlas con otras funciones, servicios y proveedores de software para crear automatizaciones potentes y personalizadas. La plataforma tambi茅n incluye una CLI, que puede usar para desarrollar, probar e implementar sus funciones y flujos de trabajo. Para obtener m谩s informaci贸n al respecto y obtener experiencia pr谩ctica, dir铆jase a la gu铆a de inicio r谩pido .

Aprende MOAR

Nuestros gerentes de producto y defensores de desarrolladores est谩n de vuelta para compartir las 煤ltimas caracter铆sticas y funcionalidades que llegar谩n en Summer '23. Para ayudarlo a desarrollarse m谩s r谩pido, hay una gran cantidad de contenido nuevo del equipo de relaciones con desarrolladores que cubre sus nuevas caracter铆sticas favoritas. 隆Aseg煤rese de consultar Release Readiness Live el viernes 19 de mayo a las 9:00 a. m. PST, y lea lo 煤ltimo en el blog de desarrolladores de Salesforce para conocer m谩s innovaciones relacionadas con desarrolladores en el lanzamiento de Summer '23!

Sobre el Autor

Alba Rivas trabaja como Principal Developer Advocate en Salesforce. Actualmente se enfoca en el desarrollo de Lightning Web Components y Slack. Puedes seguirla en Twitter o Linkedin .

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Sube de nivel tus habilidades Apex 鈽侊笍

Sube de nivel tus habilidades Apex 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Subiendo de nivel tus habilidades de Apex | Blog de desarrolladores de Salesforce

Apex es una habilidad 煤nica que los desarrolladores deben dominar al crear soluciones personalizadas con Salesforce. Hay algunos conceptos b谩sicos que son esenciales. Ciertas cosas, como la sintaxis y el flujo de control, son como aprender cualquier otro idioma. Otras cosas, como operaciones masivas, l铆mites reguladores y disparadores, son particulares de Apex y c贸mo se implementa en la Plataforma de Salesforce. Una vez que tenga una idea de estas caracter铆sticas y modismos clave, 驴a d贸nde va despu茅s?

En esta publicaci贸n, aprender谩 sobre algunas caracter铆sticas de Apex que son cr铆ticas para cualquier desarrollador de Apex que busque mejorar m谩s all谩 de lo b谩sico, junto con d贸nde puede ir para aprender sobre ellas.

Nota: Siempre que sea posible, los ejemplos de c贸digo en esta publicaci贸n se toman directamente o se adaptan de la aplicaci贸n de muestra Recetas de Apex o la Gu铆a para desarrolladores de Apex. Ver las referencias al final del art铆culo.

En estos d铆as, si desea un proceso automatizado o una interfaz de usuario similar a un asistente, Flow siempre debe ser una opci贸n que considere. El alcance, la flexibilidad y la madurez de Flow han crecido enormemente. A煤n as铆, es raro que los problemas comerciales complejos se puedan resolver sin ning煤n tipo de c贸digo.

Introduzca Apex invocable.

La anotaci贸n @InvocableMethod se usa para definir m茅todos llamados por Flow. Y @InvocableVariable muestra los par谩metros para que Flow pase datos a su c贸digo Apex. 驴Por qu茅 llamar铆a a Apex desde Flow? Quiz谩s la l贸gica de su flujo se est谩 volviendo demasiado compleja. Tal vez su automatizaci贸n necesite realizar una operaci贸n que no sea accesible para Flow. En casos como estos, Apex puede ser su amigo.

Aqu铆 hay una ilustraci贸n b谩sica del uso de la anotaci贸n @InvocableMethod :

<dx-code-block title language="java" code-block="public class AccountQueryAction {   @InvocableMethod(label='Get Account Names' description='Returns the list of account names corresponding to the specified account IDs.' category='Account')   public static List getAccountNames(List ids) {     List accountNames = new List();     List accounts = [SELECT Name FROM Account WHERE Id in :ids];     for (Account account : accounts) {       accountNames.add(account.Name);     }     return accountNames;   } }禄>

Este ejemplo de la Gu铆a para desarrolladores de Apex ilustra c贸mo la anotaci贸n marca esto como un m茅todo que Flow puede invocar. Tenga en cuenta que la anotaci贸n tambi茅n define detalles como una etiqueta y una descripci贸n que determinan lo que se muestra al usuario de Flow Builder.

Un efecto secundario importante de las anotaciones de @Invocable鈥 del que pocas personas hablan es que esto muestra autom谩ticamente su Apex al punto final de la API <INSTANCEURL>/data/<VERSION>/actions/custom/apex .

Otra cosa 煤til que puede hacer al invocar Apex desde su flujo es acceder a los diferentes tipos de Apex as铆ncrono. Lo que trae a colaci贸n la siguiente caracter铆stica de Apex que se debe abordar.

La ejecuci贸n as铆ncrona desacopla una acci贸n que queremos realizar del contexto de ejecuci贸n actual. Siguiendo las mejores pr谩cticas actuales, existen tres formas de ejecutar Apex de forma asincr贸nica: en cola, programable y por lotes. Aunque t茅cnicamente el bus de eventos es as铆ncrono, lo omitiremos por el momento.

Si solo necesita activar un poco de c贸digo para ejecutarlo de forma asincr贸nica, la opci贸n en cola es la herramienta de referencia. Si tiene varias tareas asincr贸nicas, queueable las ejecuta de manera determinista en orden. Debido a que est谩n en cola en orden, tambi茅n puede encadenar una llamada as铆ncrona de otra. Y Apex en cola admite entradas de objetos o tipos primitivos.

Apex programado funciona tal como lo esperar铆a: ejecute alg煤n c贸digo de Apex en un horario. Batch Apex est谩 optimizado para trabajar con conjuntos de datos muy grandes. Para utilizar Apex as铆ncrono, debe crear una clase de Apex que implemente una interfaz espec铆fica: Queueable , Schedulable o Batchable , respectivamente.

Nota: algunos desarrolladores pueden estar familiarizados con la anotaci贸n @Future para hacer que un solo m茅todo sea asincr贸nico, tambi茅n conocido como "m茅todos futuros". Los m茅todos futuros, aunque r谩pidos y f谩ciles, tienen limitaciones que los hacen menos 煤tiles. No hay nada que pueda hacer con un m茅todo futuro que no se pueda hacer mejor con una clase en cola. Por este motivo, no recomendamos implementaciones de producci贸n con m茅todos futuros.

Por lo tanto, echemos un vistazo a un ejemplo de una clase de Apex que se puede poner en cola.

<dx-code-block title language="Java" code-block="public with sharing class QueueableRecipes implements Queueable { public static void execute(QueueableContext qc) { List accounts = [ SELECT Id, Description FROM Account LIMIT 1000 ]; for (Account acct : accounts) { acct.Description += ‘ Edited by Queueable class’; } try { update accounts; } catch (DmlException dmle) { System.debug( LoggingLevel.INFO, ‘real life use cases should do more than just logging the error: ‘ + dmle.getMessage() ); } }
} 芦>

Todas las interfaces as铆ncronas de Apex tienen un m茅todo execute() que debe implementarse como se muestra arriba. Para ejecutar su clase Queueable , debe ponerla en cola.

Si bien no se muestra en este ejemplo de la aplicaci贸n de muestra Recetas de Apex, para pasar datos a su cola, anule el constructor con los par谩metros que necesita.

El t茅rmino "Apex din谩mico" es un poco inapropiado. O, al menos, podr铆a malinterpretarse como que Apex de alguna manera funciona como un lenguaje de programaci贸n din谩mico. Esto no es a lo que se refiere (por ejemplo, no hay Apex
funci贸n eval !).

Dynamic Apex es un c贸digo que se adapta a diferentes tipos de SObject ( Account , Contact , My_Custom_Object__c , etc.) en tiempo de ejecuci贸n. Esto se hace abstrayendo referencias espec铆ficas de SObject. La clave es usar la superclase SObject cuando se trabaja con datos. Tambi茅n utilizar谩 las funciones de "descripci贸n" de Apex para detectar con qu茅 objetos y campos est谩 trabajando y qu茅 puede hacer con ellos (por ejemplo, si este usuario puede consultar este objeto).

Esta es una habilidad esencial para los desarrolladores de ISV. A menudo, crear谩 una aplicaci贸n que debe adaptarse al entorno local del cliente que instala su aplicaci贸n. Esto significa que su c贸digo necesita detectar, describir y adaptar su comportamiento dependiendo de datos conocidos o incluso desconocidos.

Aunque es esencial para un desarrollador de ISV, tambi茅n es importante para cualquier persona que quiera escribir c贸digo m谩s reutilizable.

Tome este ejemplo de consulta muy b谩sico:

<dx-code-block title language="Java" code-block="List accts = [SELECT Id, Name, Website FROM Account];禄>

Esto funcionar谩 todo el d铆a consultando los datos de la cuenta. Pero, 驴y si queremos construir una consulta para cualquier SObject?

Para convertir esto en un Apex "din谩mico", necesitamos abstraer las referencias de campo y SObject espec铆ficas. Y tal vez lo incluir铆amos en un m茅todo que permitiera a otro desarrollador pasarlos. Tambi茅n podr铆amos verificar para asegurarnos de que el usuario tenga los permisos de objeto para realizar la operaci贸n que estamos a punto de intentar.

<dx-code-block title language="Java" code-block="public static List executeDynamicQuery(Schema.DescribeSObjectResult obj, List fields){ // Create a result-set list List resultRecords; if (obj.isQueryable()){ // Set up a query string String queryTemplate = ‘SELECT {0} FROM {1}’; List queryDetails = new List{String.join(fields, ‘, ‘), obj.getName()}; String queryString = String.format(queryTemplate, queryDetails); // Run your query resultRecords = Database.query(queryString); } return resultRecords; } 芦>

Lo anterior construye una consulta para un SObject que se pasa al m茅todo y una lista arbitraria de campos. Utiliza el objeto DescribeSObjectResult para detectar la capacidad de consulta e inferir el nombre de la API de SObject al construir y ejecutar la consulta. A continuaci贸n, debe invocarlo.

As铆 es como podr铆amos hacer eso con los objetos Cuenta y Contacto, respectivamente:

<dx-code-block title language="Java" code-block="List accountRecords = DynamicApexClass.dynamicQuery(Account.SObjectType.getDescribe(), new List{‘Id’,’Name’,’Website’}); List contactRecords = DynamicApexClass.dynamicQuery(Contact.SObjectType.getDescribe(), new List{‘Id’,’FirstName’,’LastName’}); 芦>

Este ejemplo no aborda algunos riesgos de SOQL din谩mico, como la inyecci贸n de SOQL. Por lo tanto, aseg煤rese de leer sobre Apex din谩mico. Aprender a escribir Apex seguro har谩 que sea menos probable que implemente c贸digo vulnerable en su organizaci贸n (o la de un cliente). El enlace de variables en sus consultas SOQL es una herramienta clave para proteger su Apex din谩mico de ser explotado. El m茅todo escapeSingleQuotes() es otra herramienta m谩s antigua que tambi茅n puede encontrar. El modo de usuario tambi茅n es clave para garantizar que cualquier acci贸n realizada tenga que cumplir con todas y cada una de las restricciones del usuario que la ejecuta.

Para obtener un ejemplo m谩s completo y seguro de Apex din谩mico, consulte la receta de Apex del m茅todo invocable en la aplicaci贸n de ejemplo Recetas de Apex. Esa acci贸n invocable funciona con el objeto Cuenta o Tarea.

Con Salesforce, hay algunas formas de realizar la integraci贸n sin c贸digo. Espec铆ficamente, si solo necesita una aplicaci贸n o servicio de cliente para obtener datos de Salesforce, hay muchas API que se muestran autom谩ticamente sin ning煤n tipo de codificaci贸n en el lado de Salesforce. Incluso se ajustan a su esquema personalizado. Si est谩 integrando su organizaci贸n a un sistema externo compatible con OData, puede usar Salesforce Connect y objetos externos (nuevamente, no se requiere c贸digo).

Pero a veces, es posible que deba llamar desde su organizaci贸n a un servicio externo. O tal vez desee mostrar un punto final personalizado que agrupe m谩s complejidad que una de las API est谩ndar. Nuevamente, Apex contiene funciones que admiten tanto la aparici贸n de nuevas API personalizadas como la llamada a servicios web.

Al pensar en API personalizadas, en estos d铆as, la mayor铆a de los desarrolladores pensar铆an en API REST. Puede crear una API REST personalizada en Salesforce Platform creando una clase de Apex que se anota con la anotaci贸n @RestResource . Parte del trabajo de la anotaci贸n es definir tambi茅n el nombre del recurso. Todas las API REST personalizadas basadas en Apex se encuentran en <INSTANCEURL>/services/apexrest/ .

Para definir los comportamientos que necesita admitir, hay una serie de anotaciones de m茅todos que corresponden a verbos HTTP, como @HttpGet y @HttpPost . La clase RestContext contiene un conjunto de elementos de acceso para obtener el estado de la solicitud HTTP entrante y la respuesta saliente que devuelve. A continuaci贸n, se muestra un ejemplo de un extremo REST b谩sico que aparece en el m茅todo HTTP GET. Tenga en cuenta c贸mo se utilizan las anotaciones.

<dx-code-block title language="Java" code-block="@RestResource(urlmapping='/integration-service/*')
global inherited sharing class CustomRestEndpointRecipes( … @HttpGet global static String getRecordsToReturn() { RestResponse response = RestContext.response; try { List accounts = [ SELECT Id, Name, Phone, Website FROM Account WITH USER_MODE ]; response.statusCode = 200; String serializedAccounts = JSON.serialize(accounts); return serializedAccounts; } catch (QueryException qe) { System.debug( LoggingLevel.INFO, ‘Failed to query a list of Accounts. Error is: ‘ + qe.getMessage() ); response.statusCode = 400; return qe.getMessage(); } }
} 芦>

Si su requisito es crear un servicio SOAP, tambi茅n hay un conjunto de caracter铆sticas para admitir ese protocolo.

Fuera del c贸digo real, necesitar谩 una sesi贸n autorizada para acceder a cualquier servicio web que cree. Pero si ya tiene un cliente autorizado, la solicitud es solo otra llamada al punto final personalizado que defina.

La llamada a un punto final REST externo se realiza a trav茅s de un conjunto de clases. La clase HttpRequest le permite definir los par谩metros de c贸mo se comportar谩 su solicitud (punto final, verbo HTTP, encabezados, etc.). La solicitud se realiza a trav茅s del m茅todo est谩tico Http.request() . Esto devuelve un objeto HttpResponse que le proporciona los datos devueltos o el error si la solicitud falla.

Nota: Las clases HttpRequest y HttpResponse son las mismas para las llamadas REST y los servicios REST personalizados.

Se requiere cierta configuraci贸n para su texto destacado. Espec铆ficamente, deber谩 configurar una credencial con nombre en la mayor铆a de los casos. Esta configuraci贸n le permite descargar el protocolo de enlace de autenticaci贸n de su c贸digo. Aunque, si est谩 llamando a un servicio an贸nimo no autenticado, tambi茅n puede optar por usar una configuraci贸n de sitio remoto m谩s simple.

= 200 && response.getStatusCode()

El ejemplo anterior hace una llamada simple a un punto final. Tenga en cuenta que no se utilizan las opciones para establecer encabezados ni usar una credencial con nombre, ya que esta solicitud es para una API simple que no requiere autenticaci贸n.

La transmisi贸n de eventos es una herramienta valiosa para crear arquitecturas d茅bilmente acopladas en aplicaciones complejas. La plataforma de Salesforce implementa la transmisi贸n de eventos a trav茅s de dos caracter铆sticas principales: eventos de plataforma y captura de datos modificados. La columna vertebral de estas funciones es el bus de eventos.

De la Gu铆a para desarrolladores de eventos de plataforma, el bus de eventos es "Un servicio de entrega y almacenamiento de eventos de m煤ltiples inquilinos y m煤ltiples nubes basado en un modelo de publicaci贸n-suscripci贸n". Tanto su organizaci贸n como los sistemas externos pueden publicar y suscribirse a eventos. Por supuesto, es clave que si publicas un mensaje, algo debe haberse suscrito para que suceda cualquier otra cosa.

Los eventos de plataforma representan los datos que pasan a trav茅s del bus de eventos. Los eventos se procesan en el orden en que se reciben. Una forma de pensar en ellos es como un SObject ef铆mero que se almacena temporalmente en el bus de eventos en su camino hacia su destino. De hecho, los metadatos de un evento se almacenan en el mismo lugar de su proyecto que sus SObjects. Puede distinguir los eventos de plataforma personalizados de los SObjects por su sufijo __e (por ejemplo Order_Complete__e ).

Una vez que completa un evento con sus datos, el m茅todo EventBus.publish() es similar a una llamada DML en su SObject normal. Tenga en cuenta el c贸digo a continuaci贸n que publica un evento.

En Apex, se suscribe a un evento creando un disparador as铆ncrono para 茅l. Pero los disparadores as铆ncronos son diferentes de la operaci贸n DML transaccional est谩ndar de un disparador normal. Por esta raz贸n, debe tener en cuenta algunas diferencias. Con disparadores as铆ncronos, el tama帽o del lote es diferente. Necesitas configurar tu usuario de ejecuci贸n. Las operaciones de activaci贸n de eventos tambi茅n se pueden volver a intentar. Aseg煤rese de conocer estas diferencias a medida que comience a implementar activadores de eventos de plataforma. Tenga en cuenta el disparador a continuaci贸n.

A diferencia de los disparadores DML t铆picos, los disparadores de eventos de plataforma solo admiten el contexto after insert . Tampoco existe una acci贸n expl铆cita para suscribir un disparador a un evento de plataforma. Una vez que el activador se implementa en su organizaci贸n, se suscribe autom谩ticamente.

Adem谩s de Apex, los eventos de la plataforma pueden activarse y suscribirse mediante sistemas externos y Flow. Son clave en las integraciones d茅bilmente acopladas. Como tal, es raro que Apex active y se suscriba al mismo evento.

Hemos cubierto mucho. Pero de ninguna manera esto es todo lo que necesita saber como desarrollador de Apex. Los elementos cubiertos se basan en algunas caracter铆sticas bastante comunes. Pero es posible que deba aprender otras funciones de Apex seg煤n los requisitos de su proyecto. Aqu铆 hay algunos otros elementos que debe tener en cuenta.

Cach茅 de plataforma : si proviene de otras plataformas de programaci贸n, estar谩 familiarizado con la noci贸n de una variable est谩tica o global persistente en todas las transacciones. Pero en Apex, las est谩ticas se limitan a la transacci贸n. La memoria cach茅 de la plataforma es una caracter铆stica de Apex que permite la persistencia de datos en memoria entre transacciones. Si encuentra un retraso en el rendimiento relacionado con la recuperaci贸n de datos, la memoria cach茅 de la plataforma puede ayudar.

Marcos de activaci贸n : no es una caracter铆stica del lenguaje, sino bibliotecas que facilitan el uso de activadores. Estos proyectos creados por la comunidad abstraen el c贸digo de activaci贸n repetitivo que a menudo necesita escribir. Al usar un marco de activaci贸n, deber铆a permitirle concentrarse solo en la l贸gica que debe abordarse. Para algo m谩s que un disparador trivial, se recomienda encarecidamente adoptar un marco. Y conozco a algunos que argumentar铆an que deber铆a considerar un marco incluso para ese disparador trivial. Pero este no es el lugar para debatir el tiempo de valor frente a la optimizaci贸n prematura. Hay una implementaci贸n muy simple de esto en la aplicaci贸n Apex Recipes .

SOSL : el lenguaje de b煤squeda de objetos de Salesforce ( SOSL ) es el primo subestimado de SOQL. SOSL permite consultas basadas en texto no deterministas. Es muy eficiente para encontrar datos de texto en comparaci贸n con la b煤squeda de campos de texto con SOQL y comodines. Admite la b煤squeda de varios SObjects simult谩neamente y contiene funciones para filtrar de forma determinista los resultados de la b煤squeda. Si tiene consultas SOQL de texto que son lentas, definitivamente consulte esta herramienta.

AuraEnabled : para mostrar el c贸digo Apex personalizado en sus componentes web Lightning (LWC), esta anotaci贸n es clave. Es muy probable que ya est茅 usando este si comenz贸 su viaje de Salesforce creando LWC. Pero si a煤n no lo ha usado, b煤squelo en cualquier proyecto que involucre una interfaz de usuario personalizada. 驴Por qu茅 "Aura" habilitado si es para LWC? Bueno, esta anotaci贸n se cre贸 inicialmente para admitir el predecesor de LWC, el marco Aura. Ten铆a sentido no reinventar una nueva anotaci贸n cuando la existente funcionar铆a igual de bien para LWC.

Cada viaje para aprender un nuevo lenguaje de programaci贸n tiene algunas caracter铆sticas clave que todos deben conocer. La sintaxis b谩sica, el control de flujo y el modelo de ejecuci贸n de la plataforma son fundamentales para comprender. Pero una vez que tenga esos conceptos b谩sicos, trabajar en funciones m谩s avanzadas es clave para aumentar su conjunto de habilidades. Las acciones invocables, el Apex as铆ncrono, el Apex "din谩mico", la integraci贸n y el bus de eventos son funciones que probablemente utilizar谩 a medida que avanza. Al familiarizarse con estos ahora, no solo se preparar谩 para abordar proyectos en el futuro, sino que tambi茅n podr谩 tomar mejores decisiones de soluci贸n.

Si cree que est谩 listo para aprender, los senderos para desarrolladores intermedios y avanzados en Trailhead pueden ayudarlo a encaminarse con todos estos temas y m谩s.

Aplicaci贸n de muestra Apex Recipes en Github

Gu铆a para desarrolladores de Apex

Gu铆a de referencia de idiomas de Apex

Centro de desarrolladores de Apex

Peter Chittum ha trabajado en software empresarial y habilitaci贸n para desarrolladores durante m谩s de 20 a帽os. Pas贸 los 煤ltimos 12 a帽os ayudando a miles de desarrolladores a tener 茅xito en la plataforma de Salesforce, y m谩s recientemente lider贸 el equipo de promotores de desarrolladores en Salesforce. Pasa su tiempo libre con su familia, anda en bicicleta de monta帽a, cocina y toca m煤sica. S铆galo en Twitter (@pchittum), LinkedIn (en/PeterChittum) o BlueSky Social (@pchittum.bsky.social).

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Cambios en la estructura del DOM interno del componente Lightning base para compatibilidad futura con sombras nativas 鈽侊笍

Cambios en la estructura del DOM interno del componente Lightning base para compatibilidad futura con sombras nativas 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Cambios en la estructura del DOM interno del componente Lightning base para la futura compatibilidad con sombras nativas | Blog de desarrolladores de Salesforce

Salesforce est谩 preparando los componentes base de Lightning para adoptar Shadow DOM nativo , lo que mejorar谩 el rendimiento de los componentes y los alinear谩 mejor con los est谩ndares de los componentes web. Como parte de esta fase de preparaci贸n, hemos cambiado la estructura DOM interna de algunos de nuestros componentes. Reci茅n comenzamos y continuaremos modificando las partes internas de los componentes en versiones posteriores. En esta publicaci贸n, discutiremos qu茅 cambiar谩 y c贸mo puede prepararse para ello.

驴Qu茅 es el DOM de sombra nativo?

Shadow DOM es un est谩ndar web que encapsula la estructura del modelo de objeto de documento (DOM) interno de un componente web. Esto nos da la capacidad de proporcionarle componentes robustos y seguros protegi茅ndolos de ser manipulados por HTML, CSS y JavaScript arbitrarios.

Actualmente, Salesforce mantiene un polyfill de sombra sint茅tico para navegadores heredados, como versiones anteriores de Microsoft Edge, pero ahora que todos los principales navegadores admiten DOM de sombra nativo, estamos preparando nuestros componentes para hacer lo mismo.

Con la introducci贸n del shadow DOM nativo, mejoraremos la encapsulaci贸n de los componentes, haci茅ndolos m谩s consistentes y seguros, y brindaremos una forma m谩s predecible de dise帽arlos. Esto resolver谩 una gran cantidad de problemas de compatibilidad con versiones anteriores y alinear谩 los componentes web Lightning con los est谩ndares web.

Sin embargo, puede provocar una fase de adaptaci贸n a medida que hacemos el cambio.

La implementaci贸n interna de los componentes b谩sicos est谩 cambiando

Hemos estado trabajando en la preparaci贸n de nuestros componentes base para adoptar el shadow DOM nativo. Los escenarios espec铆ficos en los que se romp铆a la encapsulaci贸n de los componentes base requer铆an que cre谩ramos un nuevo elemento contenedor dentro del l铆mite de la sombra. Para ayudar a ilustrar esto, veamos un componente base de ejemplo llamado lightning-foo . Antes, el componente se ve铆a as铆:

<dx-code-block title language code-block="

Example base component

芦>

A partir de Summer '23, se ver谩 as铆:

<dx-code-block title language code-block="

Example base component

芦>

La mec谩nica interna de los componentes b谩sicos no se dise帽贸 para acceder directamente y tratarse como una API confiable para su uso. En cambio, nuestros componentes preempaquetados estaban destinados a usarse tal como son, utilizando las API p煤blicas oficiales que hemos compartido abiertamente. Sin embargo, sabemos que algunos clientes est谩n utilizando componentes internos de manera no documentada. Si est谩 accediendo a los elementos internos de un componente base con fines de personalizaci贸n y prueba, tenga en cuenta estos cambios.

驴C贸mo puede arreglar su c贸digo personalizado y sus pruebas?

Al probar manualmente sus aplicaciones, es posible que detecte un componente personalizado que funcionaba anteriormente y que no tiene el aspecto esperado. Debido a estos cambios, sus pruebas automatizadas de un extremo a otro tambi茅n pueden fallar. En ambos casos, puede significar que su c贸digo personalizado o c贸digo de prueba depende de las partes internas de un componente base que ha cambiado . Exploremos estos dos problemas con m谩s profundidad:

Un componente no se ve como se esperaba:

  • Problema: Intentar dise帽ar el elemento o las clases personalizadas dentro de un componente base puede generar resultados imprevistos.
  • Soluci贸n: El cambio de sombra sint茅tica a componentes totalmente encapsulados con DOM de sombra nativo puede cambiar su estrategia de CSS. Al migrar sus personalizaciones de estilo a la sombra nativa, siga estos pasos:
    • Consulte la disponibilidad de un gancho para peinar . Ofrecen un excelente m茅todo para adaptar un componente sin profundizar en las complejidades del CSS subyacente o el shadow DOM.
    • Aseg煤rese de que el valor que est谩 aplicando al gancho de estilo est茅 vinculado a su sistema de dise帽o en lugar de un valor fijo y predefinido. Evite usar un valor codificado.

Una prueba de extremo a extremo falla:

  • Problema: Cualquier implementaci贸n que use combinadores CSS fallar谩. Por ejemplo, lightning-foo > p no coincidir谩 con nuestro marcado actualizado.
  • Soluci贸n: Los combinadores hacen que el CSS sea fr谩gil y deben evitarse a menos que se usen por una buena raz贸n. La mayor铆a de las veces, los combinadores se pueden eliminar sin ninguna regresi贸n. Si se desea un elemento espec铆fico, se pueden usar otros m茅todos de orientaci贸n que no se basen en el marcado que nunca cambia. Es decir, evite apuntar expl铆citamente a elementos HTML siempre que sea posible. Use otros selectores disponibles, como clases que permiten que su uso de CSS sea abstracto, modular y separado del elemento HTML. Si sus pruebas se basan en combinadores de CSS, le recomendamos que adopte el Modelo de automatizaci贸n de pruebas de interfaz de usuario (UTAM) para evitar cambios importantes en el futuro, ya que los objetos de la p谩gina se mantienen actualizados con todos los cambios de componentes.

Conclusi贸n

En resumen, estamos logrando avances significativos al preparar los componentes base de Lightning para adoptar Shadow DOM nativo, lo que garantizar谩 un mejor rendimiento y la alineaci贸n con los est谩ndares de los componentes web, adem谩s de mejorar la seguridad y la confiabilidad de los componentes. Al encapsular la estructura DOM interna, nos esforzamos por brindar una experiencia m谩s s贸lida y predecible tanto para los desarrolladores como para los usuarios.

Si bien estos cambios pueden presentar algunos desaf铆os iniciales, son pasos necesarios hacia un sistema m谩s estandarizado y preparado para el futuro. Seguimos comprometidos a informar y apoyar a los desarrolladores durante esta transici贸n.

En preparaci贸n para estos cambios, recomendamos adoptar ganchos de estilo y m茅todos de orientaci贸n como clases para garantizar que el uso de CSS siga siendo modular y adaptable. Adem谩s, recomendamos enf谩ticamente adoptar UTAM como su soluci贸n de prueba de extremo a extremo.

Est茅n atentos a m谩s actualizaciones y cambios a medida que Salesforce contin煤a optimizando y mejorando el marco de componentes Lightning. Al adoptar estas pr贸ximas mejoras, los desarrolladores pueden esperar una experiencia de desarrollo m谩s fluida y eficiente mientras crean aplicaciones poderosas en la Plataforma Salesforce.

M谩s recursos

Sobre los autores

Maeve Tuntivate es Gerente s茅nior en el equipo de Gesti贸n de productos en Salesforce.

Jesse Brack es ingeniero principal de UX en el equipo de ingenier铆a de sistemas de dise帽o de Salesforce.

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Actualizaciones de integraci贸n de plataforma para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Actualizaciones de integraci贸n de plataforma para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Actualizaciones de integraci贸n de plataforma para desarrolladores | Aprende Moar Verano '23 | Blog de desarrolladores de Salesforce

隆脷nase a nosotros para Release Readiness Live esta semana! Los expertos en productos y los defensores de los desarrolladores analizar谩n y demostrar谩n las nuevas funciones en el lanzamiento de Summer '23 y, al final de nuestra transmisi贸n, responderemos sus preguntas. Sintonice a las 9 am PT el 19 de mayo para la sesi贸n de desarrolladores. 驴No puedes unirte a nosotros en vivo? La grabaci贸n se publicar谩 unas horas despu茅s de que finalice la transmisi贸n.

Introducci贸n

El verano finalmente est谩 aqu铆, y para nosotros los desarrolladores, 隆eso significa un nuevo y emocionante lanzamiento! Exploremos las pr贸ximas caracter铆sticas que trae la versi贸n Summer '23 para los desarrolladores centrados en la integraci贸n de plataformas.

Consultas SOQL anidadas en API

A partir de la API de la plataforma de Salesforce v58.0, SOQL ahora admite consultas de relaci贸n que atraviesan hasta cinco niveles de registros primarios y secundarios . Anteriormente, solo se admit铆a un nivel. Esta caracter铆stica est谩 disponible para objetos est谩ndar y personalizados, y est谩 limitada a consultas realizadas a trav茅s de llamadas de consulta REST y SOAP.

Prob茅moslo probando una relaci贸n padre-hijo de cuatro niveles usando la API REST con la siguiente consulta:

La llamada API ahora devuelve los registros anidados solicitados en la siguiente jerarqu铆a: Cuenta (Nivel 1) 鈫 Contacto (Nivel 2) 鈫 Caso (Nivel 3) 鈫 Comentarios del caso (Nivel 4).

Credenciales con nombre en Connect API

Otra caracter铆stica 煤til introducida en esta versi贸n es la capacidad de administrar credenciales con nombre tanto desde la API REST de Connect como desde la API de Connect . Ya no necesita interrumpir su configuraci贸n para crear credenciales a trav茅s de la interfaz de usuario; ahora, se puede hacer program谩ticamente,

Por ejemplo, puede recuperar la lista de todas las credenciales con nombre existentes realizando la siguiente llamada a la API:

GET /services/data/v58/named-credentials/named-credential-setup

Alternativamente, puede usar Apex con lo siguiente:

Tambi茅n puede crear credenciales con nombre mediante programaci贸n con la API y Apex. Este es un ejemplo de c贸mo hacerlo con Apex:

Consulte nuestra colecci贸n Postman para desarrolladores de Salesforce que presenta las nuevas API de Named Credentials y consulte la documentaci贸n de la clase NamedCredentials Apex para obtener m谩s informaci贸n.

Consultas API de GraphQL con funciones agregadas

Nuestra API GraphQL sigue mejorando y, con esta versi贸n, estamos agregando soporte para registros de consulta que usan funciones agregadas con o sin agrupaci贸n .

Podr谩 contar la cantidad de registros que coinciden con ciertos criterios, calcular el ingreso promedio en todas las cuentas o ver la cantidad total de todas las oportunidades.

Se admiten las siguientes funciones agregadas:

  • avg : devuelve el valor promedio de un campo num茅rico
  • count : devuelve el n煤mero de resultados que coinciden con los criterios de consulta
  • countDistinct : devuelve el n煤mero de valores de campo distintos y no nulos que coinciden con los criterios de consulta
  • grouping : especifica si se utiliza un campo al componer el grupo; usar con el argumento de consulta groupBy y el tipo ROLLUP o CUBE
  • max 鈥 Devuelve el valor m谩ximo de un campo
  • min 鈥 Devuelve el valor m铆nimo de un campo
  • sum : devuelve la suma total de un campo num茅rico

Echemos un vistazo a una consulta de ejemplo. La siguiente consulta calcula el ingreso anual promedio de todas las cuentas, agrupadas por industria. Tenga en cuenta que estamos usando el campo aggregate en uiapi en lugar de query , lo que nos permite aprovechar las funciones agregadas.

A continuaci贸n, una consulta de GraphQL utilizando la funci贸n de agregado promedio y la funci贸n de agrupaci贸n.

Tambi茅n puede realizar consultas tradicionales dentro de la misma solicitud:

Si desea probarlo, puede usar el cliente Altair GraphQL o nuestra colecci贸n Postman de desarrolladores de Salesforce .

Adaptador GraphQL de Salesforce Connect

En febrero de 2023, anunciamos la versi贸n piloto de nuestro adaptador GraphQL de Salesforce Connect y ahora nos complace anunciar que estar谩 disponible de forma general en esta versi贸n de verano de 2023.

El nuevo adaptador de Salesforce Connect para GraphQL act煤a como un cliente para integrar datos de fuentes externas que exponen sus capacidades a trav茅s de GraphQL. Lo hace de una manera de copia cero al hacer llamadas en vivo a los puntos finales de la API cuando una acci贸n del usuario o del sistema requiere registros espec铆ficos. Solo los datos necesarios para esa acci贸n en particular se consultan a trav茅s de GraphQL y Salesforce Connect no almacena ni almacena en cach茅 los registros devueltos por el servidor. Adem谩s, este adaptador incluye extensiones especiales para AWS AppSync y brinda acceso sin inconvenientes a Amazon RDS.

Para aprovechar este nuevo adaptador, simplemente cree una nueva fuente de datos externa y seleccione el tipo GraphQL .

Apex publica devoluciones de llamada en eventos de la plataforma

Con el lanzamiento de Summer '23, ahora puede realizar un seguimiento de la publicaci贸n de eventos de la plataforma utilizando Apex Publish Callbacks . Con esta nueva versi贸n, puede obtener el resultado final de una llamada EventBus.publish a trav茅s de una devoluci贸n de llamada de publicaci贸n de Apex que implemente. Esto le da la opci贸n de realizar un seguimiento de los errores o los 茅xitos para recibir el resultado final de la publicaci贸n. En funci贸n de ese resultado, puede decidir qu茅 acci贸n tomar, como intentar volver a publicar eventos fallidos, por ejemplo.

Para realizar un seguimiento de un evento fallido publicado, escriba una clase de Apex e implemente la interfaz EventBus.EventPublishFailureCallback . Si la operaci贸n asincr贸nica falla, se invocar谩 el m茅todo onFailure . El par谩metro result contiene los valores del campo EventUuid para cada evento fallido, pero no incluye los datos del evento en s铆.

Para realizar un seguimiento de las publicaciones de eventos exitosas, escriba una clase de Apex e implemente la interfaz EventBus.EventPublishSuccessCallback . Debido a que la mayor铆a de las llamadas de publicaci贸n suelen tener 茅xito, el procesamiento de publicaciones de eventos exitosas probablemente no sea una preocupaci贸n. Observe siempre los l铆mites de rendimiento y del gobernador de Apex cuando procese este tipo de resultado.

Como pr谩ctica recomendada, siempre cree eventos usando sObjectType.newSObject , ya que esto incluye un EventUuid que puede usar para rastrear el evento. Al crear eventos con este enfoque, recomendamos no publicar el mismo evento m谩s de una vez para evitar duplicaciones EventUuid .

M茅tricas mejoradas para eventos de plataforma

Con esta actualizaci贸n, ahora puede obtener m茅tricas de uso de eventos mejoradas para eventos de plataforma consultando el objeto PlatformEventUsageMetric . Esto le permite agregar datos de uso por nombre de evento y determinar qu茅 evento consume m谩s de sus asignaciones. Adem谩s, puede agrupar el uso por cliente para descubrir cu谩ntos clientes se suscribieron a un evento en particular y c贸mo se distribuye el uso de entrega de eventos entre los clientes. Adem谩s, utilice agregaciones granulares de tiempo de per铆odos diarios, por hora y de 15 minutos para segmentar los datos de uso para obtener informaci贸n m谩s detallada.

Cuando consulta PlatformEventUsageMetric , puede usar estos nuevos campos: EventName , Client , EventType y UsageType .

La siguiente consulta de ejemplo devuelve el uso de eventos por hora para eventos entregados entre el 1 y el 2 de abril en horario UTC. Tambi茅n agrega los resultados en intervalos de una hora seg煤n lo especificado por el campo TimeSegment . Dado que los campos EventName y Client se especifican en la consulta, los resultados se agrupar谩n por evento y cliente.

= 2023-04-01T00:00:00.000Z AND EndDate

Un resultado de muestra de la consulta anterior ser铆a similar al siguiente, incluir谩 datos de uso para todos los eventos, Order_Event__e y AccountChangeEvent .

Para obtener m谩s informaci贸n sobre esta funci贸n, consulte la documentaci贸n .

Acci贸n HTTP en flujo: GET es GA, POST es Beta

HTTP Callout ahora est谩 generalmente disponible para solicitudes GET , lo que le permite traer datos externos a Flow Builder sin ning煤n c贸digo. Usted crea una acci贸n de Llamada HTTP desde dentro de Flow, que puede llamar a cualquier API de servicio basado en la web. Despu茅s de agregar los detalles de la API, Flow Builder genera una acci贸n de llamada reutilizable que puede usar para diferentes flujos y en todo Salesforce.

Para ponerlo en uso, desde el elemento Acciones, seleccione Crear llamada HTTP .

Junto con GA, hemos incluido algunos cambios desde la 煤ltima versi贸n que agilizan el proceso de configuraci贸n.

Ahora puede editar una acci贸n de llamada HTTP de forma declarativa. Las API cambian regularmente, por ejemplo, cuando se agrega un nuevo campo obligatorio a un sistema externo. Anteriormente, para editar la acci贸n de llamada HTTP reutilizable, modific贸 la especificaci贸n de API generada autom谩ticamente, lo que requer铆a conocimientos de JSON. Ahora, puede editar la acci贸n con clics en el men煤 de configuraci贸n de Servicios externos.

Tambi茅n se simplific贸 la configuraci贸n de la estructura de datos de la respuesta de la API. Proporciona una respuesta de API de muestra y Flow infiere los tipos de datos y analiza el JSON para que los datos se puedan utilizar en los flujos. Anteriormente, si necesitaba cambiar los tipos de datos inferidos, editaba el propio JSON. Ahora, selecciona los tipos de datos del campo con clics. Ahora tambi茅n se admiten los tipos de datos de fecha, fecha/hora y booleano.

Como bonificaci贸n adicional, obtiene mensajes de error m谩s intuitivos al crear su acci贸n de llamada HTTP para ayudar a resolver el error y evitar problemas en el tiempo de ejecuci贸n.

Y si no puede OBTENER suficiente con HTTP Callout, ahora puede usar el m茅todo POST (Beta) para enviar datos de Salesforce a un servidor externo en Flow Builder. Por ejemplo, una nueva cuenta en Salesforce activa un flujo que crea una factura en un sistema externo. Seleccione POST (Beta) , ingrese un cuerpo de solicitud JSON de muestra que la API espera al configurar la llamada HTTP, y Flow infiere la estructura de datos externos.

Aprende MOAR

Guau, 隆son bastantes nuevas caracter铆sticas de integraci贸n de plataforma para probar! Conf铆o en que facilitar谩n la vida de muchos desarrolladores. 隆Pero hay m谩s por descubrir! Lo invito a explorar nuestras otras publicaciones de blog para conocer las 煤ltimas actualizaciones de LWC, Mobile, MuleSoft y Tableau.

Nuestros gerentes de producto y defensores de desarrolladores est谩n de vuelta para compartir las 煤ltimas caracter铆sticas y funcionalidades que llegar谩n en Summer '23. Para ayudarlo a desarrollarse m谩s r谩pido, hay una gran cantidad de contenido nuevo del equipo de relaciones con desarrolladores que cubre sus nuevas funciones favoritas. 隆Aseg煤rese de consultar Release Readiness Live el viernes 19 de mayo a las 9:00 a. m. PST, y lea lo 煤ltimo en el blog de desarrolladores de Salesforce para conocer m谩s innovaciones relacionadas con desarrolladores en el lanzamiento de Summer '23!

隆Explore los trailmixes de Trailhead con aspectos destacados de lanzamiento clave para desarrolladores o administradores, o ambos! Siga y complete un trailmix de Learn MOAR Summer '23 para administradores o desarrolladores para obtener una insignia exclusiva de la comunidad.

Otras lecturas

Sobre el Autor

Juli谩n Duque es un defensor principal de desarrolladores en Salesforce, donde se enfoca en Node.js, JavaScript y desarrollo backend. Le apasiona la educaci贸n y el intercambio de conocimientos y ha estado involucrado en la organizaci贸n de comunidades tecnol贸gicas y de desarrolladores desde 2001.

S铆galo en Twitter @julian_duque , @julianduque.co en Bluesky o LinkedIn .

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Mu茅vete a 2GP Administrado con Migraciones de Paquetes 鈽侊笍

Mu茅vete a 2GP Administrado con Migraciones de Paquetes 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Pasar a 2GP administrado con migraciones de paquetes | Blog de desarrolladores de Salesforce

Han pasado casi cuatro a帽os desde que lanzamos por primera vez el paquete administrado de segunda generaci贸n (2GP) , que permite a nuestros socios de AppExchange crear y distribuir soluciones utilizando un modelo de desarrollo basado en CLI, basado en fuente y f谩cil de automatizar.

Desde entonces, recibimos una gran cantidad de excelentes comentarios de nuestra comunidad de desarrolladores, y continuamos innovando en m煤ltiples 谩reas relacionadas con la experiencia del desarrollador, el rendimiento, la paridad del tipo de metadatos con el paquete administrado de primera generaci贸n (1GP), etc. Cada vez que nos reunimos con desarrolladores de ISV, constantemente escuchamos sobre la necesidad de que Salesforce los ayude a ellos y a sus clientes a pasarse al mundo de 2GP.

隆Hoy, tengo algunas noticias emocionantes para compartir con todos ustedes! Estamos abordando la pregunta n.潞 1 de nuestros desarrolladores de ISV al presentar una nueva funci贸n: Migraciones de paquetes . En pocas palabras, Package Migrations automatiza por completo el proceso de convertir paquetes 1GP a 2GP y migra sin problemas a los clientes con paquetes instalados a 2GP. Si es un socio ISV que crea paquetes administrados, 隆esta publicaci贸n de blog es para usted!

Antes de sumergirnos en los detalles de las migraciones de paquetes, echemos un vistazo a algunos beneficios de usar 2GP para el desarrollo de paquetes.

Beneficios de usar 2GP para el desarrollo de paquetes

En el coraz贸n de 2GP se encuentra un modelo de desarrollo basado en fuente, donde un repositorio de c贸digo fuente como Git representa la fuente de la verdad para su paquete. Esto es fundamentalmente diferente del mundo de 1GP, donde utiliza una organizaci贸n de empaquetado para mantener todos los metadatos que desea empaquetar y distribuir a sus clientes.

Este modelo de desarrollo impulsado por la fuente, impulsado por la CLI de Salesforce , puede aumentar dr谩sticamente la productividad y la colaboraci贸n de su equipo. Los desarrolladores pueden usar Dev Hub para activar r谩pidamente organizaciones temporales , crear una funci贸n de forma conjunta y comprometerla con el control de c贸digo fuente. Cuando est茅 listo para distribuir una nueva versi贸n de su 2GP, simplemente extraiga la rama correspondiente a una m谩quina local y use la CLI para crear su nueva versi贸n del paquete.

Es importante destacar que este enfoque basado en CLI tambi茅n significa que puede integrar f谩cilmente su proceso de empaque por completo en CI/CD, lo que facilita la automatizaci贸n completa de su flujo de trabajo. Puede, por ejemplo, ejecutar autom谩ticamente Salesforce Code Analyzer en una base de c贸digo y, siempre que no se encuentren problemas, crear una nueva versi贸n del paquete.

En el mundo de 1GP, estabas atrapado usando un espacio de nombres diferente para cada uno de tus paquetes. En 2GP, todos sus paquetes pueden compartir el mismo espacio de nombres, lo que le permite aprovechar un enfoque verdaderamente modular para el desarrollo de paquetes para mantener sus paquetes bien organizados. Tambi茅n es posible declarar expl铆citamente dependencias entre paquetes , asegurando que todo funcione en conjunto sin problemas.

Con 2GP, tambi茅n obtiene un control de versiones flexible, lo que le permite abandonar versiones de paquetes que ya no desea utilizar. En su lugar, puede especificar un ancestro de la versi贸n del paquete y crear efectivamente una nueva rama en la que desee continuar con su desarrollo.

Finalmente, apoyar a los clientes nunca ha sido tan f谩cil con 2GP. En el mundo de 1GP, los parches solo se pueden crear desde una organizaci贸n de parches. Con el modelo de desarrollo basado en el c贸digo fuente de 2GP, puede simplemente crear una versi贸n del paquete de parches directamente desde la CLI y, siempre que el parche cumpla con los requisitos relacionados con los cambios menores y la ascendencia del paquete, se crea y est谩 listo para instalarse en la organizaci贸n de su cliente.

Dicho todo esto, 2GP puede agregar mucho valor a su proceso de desarrollo. 隆Ahora, averig眉emos c贸mo las Migraciones de paquetes pueden ayudarlo a llegar al mundo de 2GP!

Introducci贸n a las migraciones de paquetes

Package Migrations ampl铆a la funcionalidad de 2GP con comandos CLI adicionales y capacidades adicionales para ayudar a los desarrolladores de ISV a realizar una transici贸n completa al mundo de 2GP. Actualmente se encuentra en Developer Preview y est谩 abierto para que todos los desarrolladores de ISV lo prueben en sus paquetes 1GP existentes. 隆Siga leyendo para saber c贸mo participar en la versi贸n preliminar para desarrolladores!

Hay dos elementos para las migraciones de paquetes: conversi贸n de paquetes y migraci贸n de paquetes.

La conversi贸n de paquetes se inicia a trav茅s del nuevo comando sf package convert . Toma una versi贸n espec铆fica de su paquete 1GP existente (Acme v1.0 en este ejemplo) y usa algo de magia detr谩s de escena para convertirlo en una versi贸n de paquete 2GP correspondiente (Acme v1.0.0.1 usando la numeraci贸n de versi贸n 2GP).

Una vez que tenga una versi贸n de paquete 2GP convertida, puede migrar clientes a 2GP. Si tiene un suscriptor con Acme v1.0 instalado, iniciar铆a el proceso trat谩ndolo como una actualizaci贸n de paquete normal: a trav茅s de la CLI con sf package install (ver documentos ), instalaci贸n de URL o actualizaciones autom谩ticas.

Mientras intenta instalar su paquete 2GP convertido v1.0.0.1, que coincide con la versi贸n mayor.menor del paquete 1GP instalado en el suscriptor A, ejecutamos una nueva l贸gica que inicia el proceso de migraci贸n del paquete . Sin cambiar ning煤n metadato en la organizaci贸n del cliente, y sin requerir la intervenci贸n del usuario si usa actualizaciones autom谩ticas, simplemente cambiamos las referencias del paquete para que apunten al nuevo paquete 2GP.

Una vez que un cliente migre a 2GP, cualquier parche o actualizaci贸n del paquete de este cliente deber谩 usar 2GP.

Participaci贸n en la versi贸n preliminar para desarrolladores de migraciones de paquetes

Para probar las migraciones de paquetes, debe ser un socio ISV con acceso a la comunidad de socios de Salesforce .

En la Comunidad de socios, encontrar谩 un canal exclusivo para esta versi贸n preliminar para desarrolladores. Le recomendamos que se una a este canal y configure las notificaciones para enviar por correo electr贸nico cada publicaci贸n para recibir las 煤ltimas actualizaciones del equipo de Migraciones de paquetes.

En este canal, encontrar谩 una serie de enlaces 煤tiles, incluido un formulario para registrarse en Developer Preview. Necesitaremos algunos detalles, como su ID de organizaci贸n de empaquetado, para que podamos activar la funci贸n Migraciones de paquetes.

Es importante destacar que participar en Developer Preview no tendr谩 ning煤n impacto en su paquete de 1GP. Por lo tanto, no se preocupe y participe, ya que sus comentarios son esenciales para ayudarnos a identificar y resolver problemas lo antes posible.

Una vez que est茅 activado, puede comenzar a probar las migraciones de paquetes.

Probar la conversi贸n de un paquete administrado de primera generaci贸n

Muy bien, 隆comencemos! En primer lugar, aseg煤rese de haber instalado la CLI de Salesforce.

Si lo instal贸 anteriormente, aseg煤rese de estar usando la 煤ltima versi贸n:

sf update

Ahora aseg煤rese de que est谩 ejecutando dentro del contexto de un proyecto de SalesforceDX. Puedes crear un nuevo proyecto usando:

sf project generate --name <Your project name>

Vincule el espacio de nombres de su 1GP administrado iniciando sesi贸n en su DevHub y siga los pasos .

隆Eso es todo para la configuraci贸n! Ahora puede continuar e intentar convertir su paquete.

sf package convert --installation-key mdpTest --package 033xxx --wait 20

Repasemos los par谩metros. Estamos utilizando la clave de instalaci贸n mdpTest . Ser谩 necesario cada vez que intente instalar esta versi贸n del paquete en el futuro. Alternativamente, puede usar --installation-key-bypass para omitir la clave de instalaci贸n. Deber谩 ingresar su ID de paquete 1GP completo comenzando con 033 despu茅s de --package . El proceso de conversi贸n puede demorar un poco y, por lo tanto, agregamos la opci贸n --wait para esperar 20 minutos.

A medida que se ejecuta el proceso de conversi贸n, obtendr谩 una actualizaci贸n de su estado. Suponiendo que todo sali贸 bien, recibir谩 un mensaje de 茅xito con la ID y la URL de instalaci贸n para la versi贸n del paquete 2GP reci茅n convertida.

Converting Package... ... Successfully created the package version [08cxxx00000KzFSAA0]. Subscriber Package Version Id: 04txxx00000u1cqAAA
Package Installation URL: https://login.salesforce.com/packaging/installPackage.apexp?p0=04txxx00000u1cqAAA
As an alternative, you can use the "sfdx package:install" command.

隆Felicitaciones, su paquete ahora est谩 convertido a 2GP! Si encontr贸 alg煤n problema en el camino, inf贸rmenos utilizando el formulario en el grupo Comunidad de socios .

Nota: Al momento de escribir esta publicaci贸n de blog, este comando convertir谩 la 煤ltima versi贸n administrada y lanzada de su paquete. Estamos trabajando para permitirle convertir versiones de paquetes Beta y anteriores. Por otro lado, durante Developer Preview, no es posible promocionar paquetes 2GP convertidos al estado Lanzado.

Ahora que su paquete est谩 convertido, probemos la migraci贸n de una organizaci贸n suscriptora.

Probar la migraci贸n de un paquete administrado de primera generaci贸n instalado

Para probar la migraci贸n de un suscriptor, deber谩 crear una organizaci贸n borrador ya que, durante la versi贸n preliminar para desarrolladores, solo admitimos organizaciones borrador. Puede configurar una nueva organizaci贸n borrador como esta:

sf org create scratch -f project-scratch-def.json -a MyScratchOrg

En el c贸digo anterior, -f apunta a su archivo de definici贸n de organizaci贸n borrador . Debe asegurarse de que su archivo de definici贸n de organizaci贸n borrador incluya cualquier funci贸n de Salesforce de la que pueda depender su paquete. Finalmente, estamos usando MyScratchOrg como el alias de esta organizaci贸n.

Con la configuraci贸n de la organizaci贸n borrador, contin煤e e instale la versi贸n del paquete 1GP que convirti贸 anteriormente utilizando la URL de instalaci贸n que obtiene de su organizaci贸n de empaquetado 1GP. Esta deber铆a ser su 煤ltima versi贸n administrada y lanzada en este momento.

Puede confirmar que el paquete se instal贸 correctamente durante la pantalla de instalaci贸n. Vea el ejemplo a continuaci贸n.

Y consulte la secci贸n Paquetes instalados del men煤 Configuraci贸n.

Ahora que instal贸 su 1GP en la organizaci贸n borrador, est谩 listo para la migraci贸n.

Inicie el proceso de migraci贸n utilizando la URL de instalaci贸n que recibi贸 al final del proceso de conversi贸n del paquete:

https://login.salesforce.com/packaging/installPackage.apexp?p0=04txxx00000u1cqAAA

Ahora pasar谩 por el mismo conjunto de pantallas que el anterior, pero esta vez para su paquete 2GP convertido.

Actualmente, la interfaz de usuario muestra que la "instalaci贸n" se ha completado. En realidad, lo que hicimos fue una migraci贸n de paquetes que se complet贸 con 茅xito.

Tenga en cuenta que en este ejemplo, he usado la segunda compilaci贸n Beta para la versi贸n 1.7, que corresponde a la misma versi贸n mayor.menor que la versi贸n del paquete 1GP instalada anteriormente. Como el 2GP convertido, durante la Vista previa del desarrollador, se crea como una versi贸n Beta, se muestra como tal.

Una vez m谩s, puede confirmar la versi贸n del paquete actualizado en la secci贸n Paquetes instalados del men煤 Configuraci贸n, que tambi茅n muestra, en este ejemplo, que el n煤mero de versi贸n es 1.7 (Beta 2).

Una vez que haya migrado el paquete en su organizaci贸n borrador, le recomendamos que lo pruebe para asegurarse de que funciona como se esperaba.

Tambi茅n debe aprovechar la oportunidad para verificar si las aplicaciones, como la aplicaci贸n de administraci贸n de licencias o la aplicaci贸n de administraci贸n de funciones, muestran la informaci贸n correcta para su paquete migrado. Si encuentra algo que no est谩 bien, por favor plant茅elo como un problema y lo investigaremos.

Mientras tanto 鈥

Se necesitar谩n algunos lanzamientos para que las migraciones de paquetes est茅n disponibles de forma general. Su participaci贸n en Developer Preview, probando sus paquetes y brind谩ndonos comentarios, es esencial para ayudarnos a identificar y resolver problemas antes.

Mientras tanto, 驴qu茅 m谩s puedes hacer? Le recomendamos que experimente con el uso de paquetes de segunda generaci贸n como parte de su modelo de desarrollo actual basado en 1GP. 驴Confundido? Dejame explicar.

Como mencion茅 anteriormente, hay una serie de ventajas espec铆ficas de 2GP. De estos, hay algunos de los que puede comenzar a beneficiarse hoy. Estos son los pasos que puede seguir:

  1. Puede configurar su control de c贸digo fuente y alimentarlo con metadatos extra铆dos de su organizaci贸n de empaquetado.
  2. Puede crear un DevHub y organizaciones borrador derivadas para el desarrollo utilizando metadatos de su control de c贸digo fuente.
  3. Puede crear un paquete 2GP para desarrollo interno y pruebas que reflejen su paquete 1GP, pero usando un espacio de nombres solo interno o el mismo que su paquete 1GP. Las colisiones de espacios de nombres evitar谩n que los paquetes 1GP y 2GP con el mismo espacio de nombres se instalen en el mismo entorno.
  4. Una vez que est茅 satisfecho con el contenido de su paquete 2GP, puede migrar los metadatos desde la rama de control de fuente correspondiente a su organizaci贸n de empaquetado y emitir una nueva versi贸n de su paquete para distribuir a los clientes.

Esto lo ayudar谩 a sumergirse en el mundo de 2GP y, una vez que Package Migrations est茅 disponible de forma general, podr谩 abandonar su modelo de desarrollo de 1GP por completo y pasar por completo a un modelo de desarrollo de 2GP.

Conclusi贸n

Estamos muy entusiasmados con las migraciones de paquetes, pero necesitamos su ayuda para asegurarnos de que sea lo mejor posible. Si es un desarrollador de ISV, contin煤e y reg铆strese para la Vista previa para desarrolladores en la Comunidad de socios.

隆Estamos ansiosos por recibir sus comentarios!

M谩s recursos

Grupo de vista previa para desarrolladores en la comunidad de socios

Embalaje gestionado de segunda generaci贸n (documentaci贸n)

Sobre el Autor

John Belo es director de gesti贸n de productos para productos de experiencia de desarrollador y se centra en migraciones de paquetes, analizador de c贸digo de Salesforce y an谩lisis de aplicaciones de AppExchange. Ha estado en Salesforce durante m谩s de siete a帽os y pas贸 la mayor parte de este tiempo en el equipo de AppExchange. Comenz贸 liderando un equipo de evangelistas t茅cnicos de ISV en EMEA y ahora es parte del equipo de gesti贸n de productos de experiencia de desarrollador, siempre con la intenci贸n de ayudar a los ISV a tener el mayor 茅xito posible.

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Innovaciones de MuleSoft para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Innovaciones de MuleSoft para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Innovaciones de MuleSoft para desarrolladores | Aprende Moar Verano '23 | Blog de desarrolladores de Salesforce

隆脷nase a nosotros para Release Readiness Live esta semana! Los expertos en productos y los defensores de los desarrolladores analizar谩n y demostrar谩n las nuevas funciones en el lanzamiento de Summer '23 y, al final de nuestra transmisi贸n, responderemos sus preguntas. Sintonice a las 9 am PT el 19 de mayo para la sesi贸n de desarrolladores. 驴No puedes unirte a nosotros en vivo? La grabaci贸n se publicar谩 unas horas despu茅s de que finalice la transmisi贸n.

Introducci贸n

Con la digitalizaci贸n y la adopci贸n de la nube, estamos cobrando impulso en el espacio de integraci贸n. Para acelerar las innovaciones en el mundo digital, veamos qu茅 emocionantes funciones y lanzamientos MuleSoft tiene para ofrecer en Summer '23 a los desarrolladores.

Anypoint Code Builder: nuevas funciones beta en junio de 23

Anypoint Code Builder , o ACB para abreviar, es el IDE de 煤ltima generaci贸n de MuleSoft. Brinda a los usuarios una experiencia de desarrollo moderna y liviana para integraciones, API y automatizaci贸n, todo empaquetado en una sola herramienta unificada. Los desarrolladores pueden usar ACB en todo el ciclo de vida de API e integraci贸n, desde el dise帽o e implementaci贸n de API hasta la creaci贸n de integraciones e incluso la depuraci贸n, prueba e implementaci贸n de aplicaciones MuleSoft.

Debe preguntarse qu茅 tan diferente es de nuestro Anypoint Studio existente. En primer lugar, adoptamos VS Code como nuestra infraestructura de back-end con recomendaciones de tiempo de dise帽o basadas en IA. Y estamos llevando la reutilizaci贸n a un nivel completamente nuevo, con capacidades de bloques de construcci贸n que permiten muchos tipos de reutilizaci贸n en aplicaciones futuras.

Como muchos de ustedes ya sabr谩n, Anypoint Code Builder lanz贸 su Open Beta en enero de 2023. Desde entonces, el equipo ha estado trabajando diligentemente para implementar nuevas funciones para sus usuarios de Open Beta, comenzando con un lanzamiento en abril.

隆Estamos encantados de decir que no estamos disminuyendo la velocidad! Tenemos planeado un calendario de lanzamiento de verano emocionante con muchas caracter铆sticas nuevas y mejoras para que exploren nuestros usuarios de Open Beta.

Entonces, 驴cu谩les son las nuevas funciones que puede esperar en el lanzamiento de verano del 23 de junio?

  • Soporte extendido al avi贸n de control de la UE
  • Acceso a fragmentos globales y preempaquetados en la interfaz de usuario de Canvas
  • Busque conectores en Anypoint Exchange desde la interfaz de usuario de ACB Canvas
  • La capacidad de dise帽ar e implementar API de forma iterativa

Se espera que la extensi贸n de escritorio del mercado de VS est茅 disponible para los desarrolladores en agosto de 2023.

Nuestro lanzamiento de verano es el siguiente paso en nuestro camino hacia GA, que actualmente est谩 planificado para la segunda mitad de 2023.

Anypoint API Experience Hub: GA en junio de 23

Anypoint API Experience Hub permite a las empresas crear portales de API personalizados en minutos utilizando plantillas listas para usar para simplificar el acceso a las API y aumentar su uso y adopci贸n.

Con API Experience Hub, los administradores y desarrolladores de productos API pueden:

  • Cree y comparta portales de API sencillos utilizando plantillas predise帽adas
  • Cree portales de API de marca utilizando capacidades avanzadas de creaci贸n de portales con tecnolog铆a de Salesforce Experience Cloud
  • Aumente la adopci贸n de API en las comunidades internas y de socios con el consumo de API de autoservicio
  • Documente, gobierne y publique cualquier API en la empresa creada en cualquier puerta de enlace o entorno
  • Acceda a informaci贸n sobre el uso, la calidad y el cumplimiento de las API con an谩lisis contextuales

Los clientes podr谩n impulsar la adopci贸n de API y crear un ecosistema de API vibrante al proporcionar un 煤nico punto de acceso a todas las API empresariales (construidas en MuleSoft o de otro modo) en una experiencia atractiva.

API Experience Hub est谩 planeado para GA en junio de 2023.

Nuevas funciones de gobernanza de API: GA en julio de 2023

En 2022, se lanz贸 Anypoint API Governance. Nos ayud贸 a crear API de calidad mientras cumpl铆amos con los protocolos de seguridad y gobernanza. Actualmente, podemos identificar si la especificaci贸n API es conforme o no conforme y alertar a los usuarios si hay alg煤n problema de conformidad.

En Summer '23, ampliaremos a煤n m谩s las capacidades de API Governance a todos los aspectos del ciclo de vida de la API, desde el dise帽o de la API en el Centro de dise帽o hasta la implementaci贸n y administraci贸n de la API en API Manager. Con un gobierno de extremo a extremo, las organizaciones podr谩n garantizar que las API cumplan con las normas de cumplimiento y de la industria.

Nuevas funciones de Anypoint Studio 7.15: disponibilidad general en mayo de 2023

Con el fin de optimizar el rendimiento de Anypoint Studio y ofrecer una experiencia de integraci贸n perfecta, las siguientes funciones nuevas estar谩n disponibles para los desarrolladores. Le recomendamos que descargue la 煤ltima versi贸n de Anypoint Studio y pruebe las nuevas funciones:

  • Soporte ARM nativo: rendimiento m谩s r谩pido para usuarios en macOS
  • Opciones para excluir archivos de Studio de Windows Defender: rendimiento y estabilidad m谩s r谩pidos para los usuarios de Windows
  • Implementaci贸n mejorada a CloudHub 2.0
  • Experiencia de importaci贸n mejorada desde Design Center

Conclusi贸n

隆Esperamos que est茅 tan entusiasmado como nosotros con estas funciones! Si desea tenerlos en sus manos, simplemente inicie sesi贸n en la cuenta de prueba gratuita de 30 d铆as de Anypoint Platform y vea estos nuevos lanzamientos y herramientas.

Aprende MOAR

Nuestros gerentes de producto y defensores de desarrolladores est谩n de vuelta para compartir las 煤ltimas caracter铆sticas y funcionalidades que llegar谩n en Summer '23. Para ayudarlo a desarrollarse m谩s r谩pido, hay una gran cantidad de contenido nuevo del equipo de relaciones con desarrolladores que cubre sus nuevas funciones favoritas. 隆Aseg煤rese de consultar Release Readiness Live el viernes 19 de mayo a las 9:00 a. m. PST, y lea lo 煤ltimo en el blog de desarrolladores de Salesforce para conocer m谩s innovaciones relacionadas con desarrolladores en el lanzamiento de Summer '23!

隆Explore los trailmixes de Trailhead con aspectos destacados de lanzamiento clave para desarrolladores o administradores, o ambos! Siga y complete un trailmix de Learn MOAR Summer '23 para administradores o desarrolladores para obtener una insignia exclusiva de la comunidad.

Otras lecturas

Sobre el Autor

Akshata Sawant es promotora s茅nior de desarrolladores en Salesforce. Es autora, bloguera y oradora, y coautora del t铆tulo, MuleSoft for Salesforce Developers . Akshata es un miembro activo de la comunidad de MuleSoft y ex embajador de MuleSoft. Le encanta leer, bailar, viajar y la fotograf铆a, y es una gran entusiasta de la comida. S铆guela en Twitter y LinkedIn.

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Innovaciones de Tableau para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Innovaciones de Tableau para desarrolladores | Aprende Moar Verano '23 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Innovaciones de Tableau para desarrolladores | Aprende Moar Verano '23 | Blog de desarrolladores de Salesforce

隆脷nase a nosotros para Release Readiness Live esta semana! Los expertos en productos y los defensores de los desarrolladores analizar谩n y demostrar谩n las nuevas funciones en el lanzamiento de Summer '23 y, al final de nuestra transmisi贸n, responderemos sus preguntas. Sintonice a las 9 am PT el 19 de mayo para la sesi贸n de desarrolladores. 驴No puedes unirte a nosotros en vivo? La grabaci贸n se publicar谩 unas horas despu茅s de que finalice la transmisi贸n.

Introducci贸n

Tableau lanzar谩 muchas innovaciones nuevas e interesantes para los desarrolladores en Summer '23, incluido Tableau Embedding Playground, una colecci贸n de Postman para la API REST de Tableau y una nueva forma de personalizar y personalizar las vistas integradas en funci贸n de los atributos del usuario para las aplicaciones integradas.

Comience con el an谩lisis incorporado

Si conoce Tableau, entonces sabe que puede crear visualizaciones poderosas (visualizaciones, para abreviar) que ayudan a las personas a ver y comprender sus datos. Si est谩 creando una aplicaci贸n web, es posible que desee agregar visualizaciones relevantes de Tableau a su aplicaci贸n para mejorar la informaci贸n que ofrece a sus clientes.

Tableau facilita la inserci贸n de visualizaciones al proporcionar un bot贸n Copiar c贸digo incrustado , que est谩 disponible al hacer clic en el bot贸n Compartir en la barra de herramientas de Tableau. Puede usar ese c贸digo para insertar una visualizaci贸n de Tableau en una p谩gina web.

El c贸digo que obtiene del bot贸n Copiar c贸digo incrustado es solo un punto de partida. 驴Qu茅 sucede si desea filtrar la visualizaci贸n en funci贸n de qui茅n est谩 viendo la p谩gina? Para crear una rica experiencia de an谩lisis integrado para sus usuarios, debe usar Tableau Embedding API v3 . Con la API de inserci贸n, puede aplicar filtros, establecer par谩metros, recopilar datos que utiliza para impulsar otras acciones o agregar interfaces personalizadas para interactuar con la visualizaci贸n.

OK, as铆 que le gustar铆a ver lo que es posible. Pero si no est谩 familiarizado con la API de incrustaci贸n, esto podr铆a significar aprender una nueva biblioteca de JavaScript, leer p谩ginas de material de referencia de la API y otra documentaci贸n, y luego configurar un entorno de desarrollo, solo para verificar algunas cosas. Ahora, hay una manera m谩s f谩cil.

Bienvenido al patio de recreo

Tableau Embedding Playground le facilita el aprendizaje y la exploraci贸n de an谩lisis integrados y la API de integraci贸n de Tableau. Todo lo que tiene que hacer es proporcionar la URL de la vista de Tableau que desea incrustar, personalizar la visualizaci贸n, agregar las interacciones que desea probar y luego hacer clic en Ejecutar .

Nota: esta versi贸n de acceso anticipado de Embedding Playground utiliza un libro de trabajo de muestra. Los fragmentos de c贸digo que agregan interacciones a la visualizaci贸n integrada est谩n optimizados para funcionar con esta muestra. Se han completado los nombres de las hojas de trabajo y las variables. Puede usar el Editor de c贸digo para editar el c贸digo JavaScript. Para esta versi贸n, el panel HTML es de solo lectura, por lo que puede concentrarse por completo en personalizar y agregar interactividad a la visualizaci贸n en Playground, sin tener que preocuparse por el estilo y el CSS.

El Embedding Playground tiene tres secciones principales:

  • El panel Vista previa , donde puede ver la visualizaci贸n incrustada y los resultados de su c贸digo cambian cuando hace clic en Ejecutar
  • La vista C贸digo , donde puede ver el c贸digo JavaScript y HTML que incrusta la visualizaci贸n de Tableau.
  • El panel de control de la izquierda , donde configura la URL para la vista incrustada y sus propiedades de visualizaci贸n, como el tama帽o y la posici贸n de la barra de herramientas, y donde tambi茅n puede agregar interacciones, que vienen en forma de fragmentos de c贸digo que arrastra y suelta en el Panel JavaScript.

Personaliza el c贸digo

Embedding Playground usa Tableau Embedding API v3 para insertar la visualizaci贸n en el panel de vista previa. La API de incrustaci贸n utiliza componentes web y proporciona un elemento HTML que representa la visualizaci贸n de Tableau. Puede colocar este componente web ( <tableau-viz> ) en su p谩gina web como lo har铆a con cualquier elemento HTML, como una etiqueta <div> o <p> . El panel HTML en la vista C贸digo muestra este componente web.

Este c贸digo HTML y un enlace a la biblioteca de la API de incrustaci贸n son todo lo que necesita para colocar una visualizaci贸n de Tableau en una p谩gina web. Esto es esencialmente lo que obtiene si usa el bot贸n Copiar c贸digo incrustado en Tableau Cloud. Pero hay mucho m谩s que puede hacer, y Embedding Playground lo hace f谩cil.

<dx-code-block title language code-block="

 
 

芦>

Supongamos que queremos aplicar un filtro a la visualizaci贸n, de modo que solo muestre informaci贸n que sea de inter茅s para un conjunto espec铆fico de usuarios, o que destaque un punto que est谩 tratando de resaltar (como mostrar ciertos lugares en un mapa, o conjuntos particulares de datos).

Con el componente web <tableau-viz> , tenemos acceso a la vista integrada de Tableau, o lo que llamamos el objeto Tableau viz. Si est谩 familiarizado con Tableau, sabr谩 que un libro de trabajo de Tableau consta de hojas de trabajo, tableros e historias. O m谩s exactamente, un libro de trabajo contiene un mont贸n de hojas, algunas de las cuales son hojas de trabajo, algunas son tableros y otras son historias. Desde el objeto de visualizaci贸n, podemos acceder al libro de trabajo y a todas las hojas de trabajo y tableros dentro del libro de trabajo. Para cada tipo de hoja, ciertas propiedades est谩n disponibles y hay API (o m茅todos) espec铆ficos a los que puede llamar.

Usando el Embedding Playground, no tienes que memorizar todo eso. Digamos que su vista incrustada es un tablero. Si desea aplicar un filtro a la vista, simplemente haga clic en Agregar interacciones , haga clic en Tablero , haga clic en Filtros y luego arrastre y suelte la tarjeta Aplicar filtro en el panel de JavaScript, justo debajo de *** 隆Inserte su c贸digo a continuaci贸n! *** comentario.

En esta versi贸n de acceso anticipado, el fragmento de c贸digo Aplicar filtro tiene el siguiente aspecto, con el nombre del filtro y sus valores ya completados. Cuando se publique Embedding Playground, los fragmentos de c贸digo tendr谩n marcadores de posici贸n que se reemplazan con los nombres de filtro y valores para su viz. Tenga en cuenta que el Editor de c贸digo est谩 en pleno funcionamiento, por lo que puede modificar los valores (cambiar o agregar diferentes estados). Darle una oportunidad. Haga clic en Ejecutar y vea los resultados.

Ven al Playground para enterarte de las novedades

Los desarrolladores de Tableau est谩n ocupados trabajando en nuevas funciones para mejorar el an谩lisis integrado. A medida que se introduzcan nuevos m茅todos y propiedades, primero se anunciar谩n en el Programa para desarrolladores y se resaltar谩n en el 脕rea de juegos de incrustaci贸n. Si es un desarrollador experimentado, Embedding Playground podr铆a ser un 煤til borrador para probar nuevas ideas y trabajar con nuevas API a medida que se presentan. Con Playground, puede probar r谩pidamente m茅todos nuevos y existentes y verificar su c贸digo sin la sobrecarga de iniciar un nuevo proyecto.

En versiones futuras de Embedding Playground, podr谩 proporcionar las URL para sus propias visualizaciones y usar Playground como una aplicaci贸n conectada , que ofrece una experiencia de autenticaci贸n segura y sin problemas basada en relaciones de confianza y con creaci贸n web integrada. Adem谩s, agregaremos nuevos fragmentos de c贸digo para proporcionar plantillas para las interacciones.

Use el c贸digo de Playground para impulsar el desarrollo

Puede usar la barra de men煤 de botones para descargar o copiar el c贸digo. El c贸digo descargado o copiado est谩 contenido en un solo archivo HTML. Este archivo contiene el c贸digo HTML que define el componente web <tableau-viz> y el c贸digo JavaScript que agreg贸 cuando agreg贸 interacciones. Puede utilizar este c贸digo como punto de partida para desarrollar sus aplicaciones integradas. O copie el c贸digo para su necesidad de interacciones espec铆ficas, como filtrar la visualizaci贸n, establecer par谩metros o agregar men煤s contextuales personalizados. Para obtener m谩s informaci贸n sobre el uso del c贸digo para incrustar, consulte los documentos de Tableau Embedding API v3 .

驴Ya le铆ste lo suficiente? 隆Pruebe Tableau Embedding Playground ahora y permanezca atento a m谩s informaci贸n!

Colecci贸n Tableau Postman (API REST)

Si alguna vez us贸 la API REST de Tableau , sabe que es una parte esencial de la gesti贸n y administraci贸n de usuarios y contenido en Tableau Cloud y Tableau Server. Con la API REST de Tableau, puede hacer mediante programaci贸n todo lo que puede hacer con la interfaz de usuario en los sitios de Tableau Server y Tableau Cloud. La API utiliza el conocido protocolo de comunicaciones cliente-servidor a trav茅s de HTTP, utilizando solicitudes web est谩ndar. Puede consultar y configurar recursos, establecer permisos y controlar el acceso.

Probablemente tambi茅n sepa que configurar una sesi贸n para enviar esas solicitudes no siempre es f谩cil. Conectarse al servidor, autenticarse y adquirir los tokens de acceso para comunicarse con Tableau Server o el sitio de Tableau Cloud puede ser algo complicado. Particularmente si solo est谩 interesado en encontrar r谩pidamente el nombre de una fuente de datos o buscar un identificador de recurso. Una de las herramientas a las que recurren las personas para generar solicitudes HTTP para puntos finales REST es Postman, una aplicaci贸n que puede descargar o usar en un navegador que facilita la creaci贸n de solicitudes y el almacenamiento de esas solicitudes en colecciones. La buena noticia es que ahora no necesitas empezar de cero.

Los desarrolladores de Tableau han creado una colecci贸n de Postman para la API de REST de Tableau que est谩 disponible junto con las otras colecciones para las API de Salesforce en el espacio de trabajo de Postman del desarrollador de Salesforce . Ya no necesita buscar en la documentaci贸n de la API ni recurrir a prueba y error para crear sus propias solicitudes. El espacio de trabajo del cartero del desarrollador de Salesforce tiene el conjunto completo de puntos finales de la API REST de Tableau por los que puede navegar y elegir los que necesita usar. Postman te permite definir y guardar las variables que necesitas para tu conexi贸n. Tambi茅n puede usar Postman para generar las solicitudes en diferentes lenguajes de programaci贸n como Python, JavaScript y cURL, de modo que pueda incorporar la solicitud en scripts o en sus aplicaciones integradas.

Puede encontrar m谩s informaci贸n sobre la API REST de Tableau y lo que la colecci贸n Postman puede hacer por usted en la publicaci贸n de blog de Stephen Price, Use la API REST de Tableau con Postman para dise帽ar integraciones.

Funciones de atributo de usuario

La entrega de informaci贸n personalizada y personalizada es uno de los principales objetivos cuando se integran visualizaciones de Tableau en aplicaciones web. Desea asegurarse de que los usuarios que usan su aplicaci贸n tengan la mejor experiencia posible y tengan acceso a la informaci贸n que no solo es relevante para sus necesidades, sino que tambi茅n son datos que pueden ver.

Con ese fin, Tableau introdujo dos nuevas funciones de usuario ( USERATTRIBUTE y USERATTRIBUTEINCLUDES ) que brindan un nuevo nivel de personalizaci贸n y control cuando crea aplicaciones integradas que usan aplicaciones conectadas a Tableau para la integraci贸n de aplicaciones. A partir de Tableau 2023.1, cuando autoriza el acceso a contenido incrustado mediante aplicaciones conectadas, ahora puede pasar atributos de usuario en el token web JSON (JWT). Para obtener m谩s informaci贸n, consulte: Controlar y personalizar el acceso a datos mediante atributos de usuario .

Usted define cu谩les son estos atributos de usuario y, seg煤n su organizaci贸n, podr铆an ser atributos basados en roles de trabajo, departamentos, nivel de gesti贸n, autorizaci贸n de seguridad, pertenencia a grupos, etc. Estos atributos de usuario siguen el modelo de control de acceso basado en atributos (ABAC), que le brinda flexibilidad en la forma en que dise帽a sus aplicaciones web. Por ejemplo, podr铆a crear un 煤nico portal web que sirva a diferentes grupos proporcionando diferentes vistas de esos datos en funci贸n de los atributos. Para ver c贸mo puede aplicar estos atributos en los libros de trabajo de Tableau, consulte Funciones de usuario: solo para incrustar flujos de trabajo en la nube . Cuando crea vistas en Tableau, los atributos de usuario le dan la opci贸n de agregar filtros de seguridad de nivel de fila a las vistas que incrusta en las aplicaciones web.

Para obtener una excelente descripci贸n general de c贸mo puede utilizar los atributos, consulte la publicaci贸n de blog:Desbloquee el poder de los an谩lisis personalizados con funciones de atributos de usuario. Y para obtener experiencia pr谩ctica, consulte el tutorial: Tutorial de funciones de atributos de usuario .

Conclusi贸n

Desde usuarios nuevos hasta desarrolladores experimentados, Tableau Embedded Playground facilita que todos desarrollen c贸digo para soluciones de an谩lisis integradas. La colecci贸n de Postman para la API REST de Tableau puede ahorrarle tiempo y esfuerzo al encapsular el conjunto completo de terminales REST de Tableau en una interfaz f谩cil de usar y agregar atributos de usuario a sus aplicaciones integradas para brindar una experiencia m谩s personalizada y segura para su usuarios

脷nase al programa para desarrolladores de Tableau

Haga que Tableau trabaje para usted. 脷nase al Programa para desarrolladores de Tableau y descubra las 煤ltimas herramientas y funciones. Obtenga acceso a versiones preliminares y acceso anticipado a nuevas API y bibliotecas mientras a煤n est谩n en desarrollo. Proporcione comentarios y ayude a dar forma a lo que est谩 por venir.

Aprende MOAR

Nuestros gerentes de producto y defensores de desarrolladores est谩n de vuelta para compartir las 煤ltimas caracter铆sticas y funcionalidades que llegar谩n en Summer '23. Para ayudarlo a desarrollarse m谩s r谩pido, hay una gran cantidad de contenido nuevo del equipo de relaciones con desarrolladores que cubre sus nuevas caracter铆sticas favoritas. 隆Aseg煤rese de consultar Release Readiness Live el viernes 19 de mayo a las 9:00 a. m. PST, y lea lo 煤ltimo en el blog de desarrolladores de Salesforce para conocer m谩s innovaciones relacionadas con desarrolladores en el lanzamiento de Summer '23!

隆Explore los trailmixes de Trailhead con aspectos destacados de lanzamiento clave para desarrolladores o administradores, o ambos! Siga y complete un trailmix de Learn MOAR Summer '23 para administradores o desarrolladores para obtener una insignia exclusiva de la comunidad.

M谩s recursos

Otras lecturas

Sobre el Autor

Dave Hagen trabaja como redactor t茅cnico en el equipo de experiencia de contenido de Salesforce. Escribe documentaci贸n para la plataforma de desarrollo de Tableau y el an谩lisis integrado. Puedes encontrarlo en LinkedIn .

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Seguir leyendo

Configurar el tama帽o de lote para el activador de eventos de plataforma

Configurar el tama帽o de lote para el activador de eventos de plataforma

脷ltima actualizaci贸n el 30 de abril de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo configurar el usuario y el tama帽o del lote para Platform Event Trigger?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Comprender el tama帽o del lote para el activador de eventos de la plataforma
  • Anular el usuario de ejecuci贸n predeterminado para el desencadenador de eventos de la plataforma
  • Cree PlatformEventSubscriberConfig a trav茅s de la API REST
  • y mucho m谩s

Jestilla Zetkin trabaja como arquitecta de Salesforce en Gurukul On Cloud (GoC) . Recientemente, enfrent贸 desaf铆os mientras trabajaba con eventos de plataforma, principalmente l铆mites de gobernadores. Quiere aprender a configurar el tama帽o del lote para el activador de eventos de la plataforma. En este ejercicio, configuraremos el tama帽o del lote para lo siguiente:

  1. Activador de v茅rtice
    1. LeadGenerationEventTrigger en Lead_Generation__e
    2. Tama帽o del lote: 50
    3. Usuario ejecutor: Usuario de integraci贸n

驴Qu茅 es Plataforma de Eventos?

Las arquitecturas basadas en eventos se han vuelto muy populares en los 煤ltimos a帽os, y por una buena raz贸n. Se basa en el patr贸n de fuego y olvido . Activar un evento y dejar que cada sistema maneje la l贸gica empresarial le permite mantener los sistemas no relacionados desacoplados y puede ayudar a simplificar la arquitectura.

Los eventos de la plataforma le permiten entregar notificaciones de eventos seguras, escalables y personalizables dentro de Salesforce o desde fuentes externas. Las aplicaciones pueden publicar y suscribirse a eventos de plataforma en la plataforma de Salesforce mediante Apex, Flow o en un sistema externo mediante CometD. Si desea obtener m谩s informaci贸n sobre el evento de plataforma, consulte el m贸dulo de Trailhead .

驴Cu谩l es el tama帽o de lote predeterminado para el desencadenador de eventos de plataforma?

De forma predeterminada, el disparador de eventos de la plataforma se ejecuta como el usuario del sistema de procesos automatizados con un tama帽o de lote de 2000 mensajes de eventos. A veces es necesario cambiar el usuario y el tama帽o del lote para eludir los l铆mites del gobernador u otros desaf铆os.

Salesforce le permite anular el usuario de ejecuci贸n predeterminado y el tama帽o de lote de un desencadenador de Apex de evento de plataforma con PlatformEventSubscriberConfig en la API de herramientas o la API de metadatos para configurar el desencadenador.

Puede especificar cualquier usuario activo en la organizaci贸n de Salesforce. El activador se ejecuta en un contexto de sistema con privilegios para acceder a todos los registros independientemente de los permisos de nivel de campo y de objeto del usuario. Puede especificar un tama帽o de lote personalizado de 1 a 2000. El tama帽o del lote es el n煤mero m谩ximo de mensajes de eventos que se pueden enviar a un disparador en una ejecuci贸n.

Comprender el objeto PlatformEventSubscriberConfig

Hagamos una pausa aqu铆, familiar铆cese con el objeto de la API de herramientas PlatformEventUsageMetric en Salesforce. Representa los ajustes de configuraci贸n para un disparador de Apex de evento de plataforma, incluido el tama帽o del lote y el usuario que ejecuta el disparador.

Nombre del campo
Detalles
Tama帽o del lote Un tama帽o de lote personalizado, de 1 a 2000, para el desencadenador Apex del evento de plataforma. El tama帽o del lote corresponde al n煤mero m谩ximo de mensajes de eventos que se pueden enviar a un disparador en una ejecuci贸n. El tama帽o de lote predeterminado es 2000 para activadores de eventos de plataforma.
Nombre del desarrollador El nombre exclusivo del objeto PlatformEventSubscriberConfig.
etiqueta maestra Etiqueta para PlatformEventSubscriberConfig. En la interfaz de usuario, este campo es Configuraci贸n de suscriptor de eventos de plataforma.
PlatformEventConsumerId El ID del desencadenador de Apex del evento de plataforma que se va a configurar.
ID de usuario El ID del usuario con el que se ejecuta el desencadenador de Apex del evento de plataforma. De forma predeterminada, el disparador de eventos de la plataforma se ejecuta como la entidad de proceso automatizado. Establecer el usuario que ejecuta a un usuario espec铆fico tiene estos beneficios:

  • Los registros se crean o modifican como este usuario.
  • Los registros con campos OwnerId tienen sus campos OwnerId completados para este usuario cuando se crean o modifican.
  • Este usuario crea los registros de depuraci贸n para la ejecuci贸n del disparador.
  • Puede enviar un correo electr贸nico desde el activador, que no es compatible con el usuario de Proceso automatizado predeterminado.

Los componentes PlatformEventSubscriberConfig tienen el sufijo .platformEventSubscriberConfig y se almacenan en la carpeta PlatformEventSubscriberConfigs .

Este componente PlatformEventSubscriberConfig tiene la etiqueta LeadGenerationEventTriggerConfig . Contiene la configuraci贸n de un disparador de eventos de plataforma, LeadGenerationTrigger , y especifica el tama帽o del lote y el usuario.


<?versi贸n xml="1.0" codificaci贸n="UTF-8"?>
<PlatformEventSubscriberConfig xmlns="http://soap.sforce.com/2006/04/metadatos"> <platformEventConsumer>LeadGenerationTrigger</platformEventConsumer> <tama帽o del lote>50</tama帽o del lote> <masterLabel>LeadGenerationEventTriggerConfig</masterLabel> <usuario>desarrollador@automationchampion.com</usuario> <isProtected>falso</isProtected>
</PlatformEventSubscriberConfig>

Pr谩ctica guiada (nosotros hacemos):

Para agregar una configuraci贸n, realice una solicitud POST como se menciona a continuaci贸n:

  1. Abra Workbench e inicie sesi贸n con su nombre de usuario y contrase帽a de Trailhead Playground .
  2. Aseg煤rese de haber seleccionado la opci贸n Producci贸n para el medio ambiente .
  3. Navegue a la pesta帽a Utilidades y seleccione la opci贸n REST Explorer .
  4. Selecciona las siguientes opciones:
    1. Elija un m茅todo HTTP para realizar en el URI del servicio REST API a continuaci贸n : POST
    2. URL : /services/data/v58.0/tooling/sobjects/PlatformEventSubscriberConfig
    3. Cuerpo : proporcione los valores en el cuerpo de la solicitud. Esta solicitud de ejemplo configura un activador existente con un tama帽o de lote de 50 y especifica el ID de un usuario en ejecuci贸n.
      1. {
        "Tama帽o del lote": "50",
        鈥淣ombre del desarrollador鈥:鈥滾eadGenerationEventTriggerConfig鈥,
        鈥淢asterLabel鈥:鈥滾eadGenerationEventTriggerConfig鈥,
        鈥淧latformEventConsumerId鈥: 鈥01qB0000000Zcug鈥,
        鈥淚D de usuario鈥: 鈥005B00000015gt8鈥
        }
      2. D贸nde:
        1. 01qB0000000Zcug, disparador de Apex en Lead_Generation__e
        2. 005B00000015gt8, es el ID de usuario del usuario de integraci贸n
    4. Haga clic en Ejecutar .
  5. Puede consultar y recuperar las configuraciones en su organizaci贸n con SOQL. Si consulta desde Developer Console Query Editor, aseg煤rese de seleccionar Use Tooling API . Esta consulta de ejemplo recupera todas las configuraciones establecidas en su organizaci贸n de Salesforce.

Evaluaci贸n formativa:

隆Quiero saber de ti!

驴Qu茅 es una cosa que aprendiste de esta publicaci贸n? 驴C贸mo imagina aplicar este nuevo conocimiento en el mundo real? Si茅ntase libre de compartir en los comentarios a continuaci贸n.

Seguir leyendo

Las mejores formas de automatizar la gesti贸n de proyectos en Salesforce

Las mejores formas de automatizar la gesti贸n de proyectos en Salesforce

Administrar sus proyectos dentro de Salesforce garantiza que todos sus datos clave est茅n disponibles en un solo lugar, con todos los que necesitan la capacidad de acceder a ellos ya en la plataforma y familiarizados con la interfaz de usuario. Adem谩s, no es necesario que cree ni mantenga la integraci贸n con herramientas de gesti贸n de proyectos externas de terceros. Sin embargo, si est谩 buscando mejorar a煤n m谩s su juego de gesti贸n de proyectos en Salesforce, la mejor manera de hacerlo ser铆a a trav茅s de la automatizaci贸n. Este art铆culo lo guiar谩 a trav茅s de las mejores formas de automatizar la gesti贸n de proyectos en Salesforce.

La automatizaci贸n ayuda a su organizaci贸n a crear valor a trav茅s de una reducci贸n del tiempo dedicado a realizar tareas, una reducci贸n del riesgo relacionado con el error humano y la creaci贸n de una experiencia optimizada para sus usuarios y clientes.

Las posibilidades son infinitas cuando se utilizan herramientas de automatizaci贸n de Salesforce listas para usar, como Salesforce Flow, y las aplicaciones de gesti贸n de proyectos de Salesforce adecuadas, como Inspire Planner.

Ejemplos de c贸mo puede automatizar la gesti贸n de proyectos en Salesforce

Tabla de contenido

Una vez que haya decidido automatizar la gesti贸n de proyectos en Salesforce, la pregunta es 驴Qu茅 automatizamos ?

A continuaci贸n se enumeran varios escenarios de automatizaci贸n de la gesti贸n de proyectos que han demostrado ahorrar tiempo y recursos a las empresas. Estos pueden darle ideas sobre lo que desea automatizar en su organizaci贸n de Salesforce.

Lanzar proyectos autom谩ticamente con un flujo de Salesforce

Es un escenario com煤n que las empresas necesitan lanzar proyectos a partir de plantillas espec铆ficas cuando las Oportunidades pasan a la etapa Cerrado/Ganado. Hacer esto manualmente para cada oportunidad requiere una cantidad considerable de tiempo y esfuerzo. Adem谩s, tambi茅n deja espacio para el error humano o para que alguien simplemente olvide o retrase un paso.

Con Inspire Planner, una aplicaci贸n de gesti贸n de proyectos nativa de Salesforce, puede crear un flujo de Salesforce desencadenado por registro para crear autom谩ticamente un proyecto a partir de una plantilla espec铆fica en funci贸n de diferentes criterios (por ejemplo, la etapa de oportunidad se actualiza a Cerrado/Ganado).

Automatice la gesti贸n de proyectos en Salesforce con Salesforce Flows para lanzar proyectos a partir de oportunidades

Este nuevo proyecto heredar谩 de la plantilla todas sus fases y tareas, predecesores, archivos adjuntos, roles de recursos y m谩s.

Entonces, para comenzar, su gerente de proyecto simplemente necesita actualizar la fecha de inicio de su primera tarea y asignar el equipo del proyecto (隆ambos tambi茅n se pueden automatizar!).

Se puede configurar una automatizaci贸n similar de Salesforce Flow para lanzar proyectos desde otras etapas de Oportunidades o para otros objetos en Salesforce, como Casos, Cuentas, Pedidos y m谩s.

Automatice la gesti贸n de proyectos en Salesforce con plantillas de proyectos

Si su organizaci贸n entrega proyectos que siguen procesos estandarizados, puede Automatice la gesti贸n de proyectos en Salesforce configurando plantillas de proyectos y us谩ndolas cada vez que desee configurar un nuevo proyecto en lugar de crearlos desde cero.

Configurar plantillas de proyecto puede ser un proceso simple con la herramienta adecuada. Por ejemplo, en Inspire Planner simplemente debe marcar la casilla de verificaci贸n 'Es plantilla' al crear un nuevo proyecto para hacer una Plantilla de proyecto. Y puede crear un n煤mero ilimitado de plantillas para diferentes procesos dentro de su organizaci贸n.

Las plantillas de proyecto permitir谩n que su software de administraci贸n de proyectos de Salesforce haga parte del trabajo m谩s insignificante por usted, permiti茅ndole a usted y a su equipo concentrar sus esfuerzos en brindar un servicio de alta calidad a sus clientes.

Con Inspire Planner, sus proyectos heredar谩n la mayor parte de la informaci贸n requerida de la plantilla, incluidas las tareas, los archivos adjuntos, la duraci贸n de las tareas, las fechas de inicio y finalizaci贸n, los predecesores, los recursos asignados, la prioridad, el esfuerzo planificado, el costo presupuestado, las categor铆as, las notas y el dise帽o del proyecto. y Configuraci贸n, y m谩s.

Automatice la gesti贸n de proyectos en Salesforce con plantillas de proyectos ilimitadas en Inspire Planner, una aplicaci贸n de gesti贸n de proyectos nativa de SalesforceAutomatice la gesti贸n de proyectos en Salesforce con plantillas de proyectos ilimitadas en Inspire Planner, una aplicaci贸n de gesti贸n de proyectos nativa de Salesforce

Automatice la gesti贸n de proyectos en Salesforce con la asignaci贸n de tareas basada en roles

Asignar autom谩ticamente las tareas de su proyecto a los recursos correctos es una manera f谩cil de automatizar la gesti贸n de proyectos en Salesforce.

Dependiendo de la cantidad de tareas en sus proyectos, esto podr铆a sumar una cantidad significativa del tiempo de sus gerentes de proyecto si se hace manualmente, y eso suponiendo que lo hagan bien cada vez. Si hay una herramienta a su disposici贸n que alivia esta carga de sus gerentes de proyecto y les permite concentrarse en un trabajo m谩s importante, 驴por qu茅 no ponerla en pr谩ctica?

Afortunadamente, esto tambi茅n es algo que Inspire Planner ofrece listo para usar. Puede predefinir qu茅 roles ser谩n responsables de cada tarea mientras crea sus plantillas o planes de proyecto.

Luego, simplemente necesita asignar un recurso a un rol espec铆fico, y la automatizaci贸n integrada de Inspire Planner asignar谩 inmediatamente todas las tareas de su proyecto a los miembros correctos del equipo del proyecto.

Costura de plantilla

Lanzar proyectos autom谩ticamente desde Oportunidades basadas en plantillas es una excelente manera de automatizar la gesti贸n de proyectos en Salesforce. Pero, 驴qu茅 sucede cuando vendi贸 varios productos dentro de su Oportunidad y cada producto requiere un conjunto diferente de tareas?

驴Puede automatizar dicho proceso en Salesforce dentro de un plan de proyecto en lugar de crear proyectos separados?

La buena noticia es que la respuesta es s铆. Inspire Planner ofrece la funcionalidad de uni贸n de plantillas de proyectos que le permite crear un solo proyecto a partir de una oportunidad al "unir" (combinar) diferentes plantillas relacionadas con los productos de oportunidad.

Adem谩s, puede definir una plantilla de encabezado (un conjunto de tareas que deben realizarse sin importar qu茅 productos se seleccionaron, por ejemplo, la fase de inicio del proyecto) y definir un orden de ejecuci贸n de sus plantillas simplemente arrastr谩ndolas a las posiciones deseadas.

Y con la configuraci贸n adicional de Salesforce, puede configurar la uni贸n de plantillas de proyectos en Inspire Planner para trabajar con otros objetos en Salesforce en lugar de productos.

Automatice la programaci贸n de su proyecto con dependencias de tareas

Puede automatizar la Gesti贸n de proyectos en Salesforce configurando Dependencias de tareas en el diagrama de Gantt de su proyecto. De esta manera, su proyecto y todas las tareas operar铆an como una unidad cohesiva en lugar de que cada tarea est茅 separada. Por lo tanto, actualizar cualquier tarea recalcular谩 autom谩ticamente todo el cronograma del proyecto, 隆sin importar cu谩n complejo sea su proyecto!

Inspire Planner es compatible con cuatro tipos principales de predecesores (finalizaci贸n a inicio, finalizaci贸n a finalizaci贸n, inicio a inicio y inicio a finalizaci贸n), as铆 como m煤ltiples dependencias de tareas. Si no est谩 familiarizado con estos t茅rminos, un predecesor es una actividad que debe comenzar o finalizar antes de que pueda continuar una tarea sucesora, y un sucesor es una actividad que sigue a otra actividad en funci贸n de su dependencia entre s铆 y no necesariamente en orden cronol贸gico. .

Adem谩s de eso, con Inspire Planner tambi茅n puede agregar tiempo de adelanto o retraso a sus dependencias (por ejemplo, la tarea debe comenzar 3 d铆as despu茅s de que finalice otra, o un d铆a antes, etc.), e incluso funciones m谩s avanzadas como la gesti贸n de restricciones ( por ejemplo, una tarea debe terminar en una fecha determinada).

Automatice la gesti贸n de proyectos en Salesforce con dependencias de tareas en Inspire Planner, una aplicaci贸n de gesti贸n de proyectos nativa de Salesforce

Una vez configuradas, los usuarios finales tambi茅n pueden ver estas tareas predecesoras y sucesoras en un componente simplificado en la p谩gina de tareas. De modo que incluso si los miembros de su equipo no tienen acceso al proyecto o no est谩n familiarizados con los diagramas de Gantt, a煤n pueden comprender f谩cilmente qu茅 depende de ellos en este proyecto.

Componente predecesor y sucesor en las tareas de Salesforce en Inspire Planner, una aplicaci贸n de gesti贸n de proyectos nativa de Salesforce

Automatizaci贸n de Notificaciones

Otro elemento importante de la automatizaci贸n de la gesti贸n de proyectos en Salesforce son las notificaciones.

Si desea entregar sus proyectos a tiempo, deber谩 mantener a su equipo de proyecto actualizado sobre los pr贸ximos plazos e hitos. Para empezar, puede configurar alertas y notificaciones autom谩ticas para las tareas del proyecto a trav茅s de Salesforce. Esto enviar谩 a los recursos de su proyecto recordatorios por correo electr贸nico sobre sus tareas y tambi茅n mostrar谩 un recordatorio de notificaci贸n en Salesforce.

Por ejemplo, puede configurar notificaciones de tareas unos d铆as antes de la fecha de vencimiento de la tarea, cuando se actualizaron las fechas de inicio/finalizaci贸n de la tarea, una notificaci贸n de alerta cuando la tarea est谩 vencida y m谩s. Dado que Inspire Planner se integra completamente con las tareas est谩ndar de Salesforce, algunas de estas notificaciones estar谩n disponibles para usted desde el primer momento.

Finalmente, puede configurar alertas en Inspire Planner para acciones como Tareas listas para comenzar. Cuando se han completado todos los predecesores, Inspire Planner marca autom谩ticamente sus tareas como "Listo para comenzar". A continuaci贸n, puede enviar alertas a las personas asignadas a esta tarea o utilizar una vista de lista que muestre solo dichas tareas. De esta manera, su equipo de proyecto sabr谩 f谩cilmente en qu茅 debe concentrarse a continuaci贸n.

Automatizaci贸n de KPIs y Reportes

La siguiente idea para automatizar la gesti贸n de proyectos en Salesforce es automatizar los KPI y programar la entrega de sus informes de proyectos.

Puede decidir administrar los KPI manualmente en funci贸n del estado actual de sus proyectos o automatizarlos si tiene criterios estandarizados para los KPI internamente. En cualquier caso, puedes configurar alertas para tus jefes de proyecto cuando alguno de los KPIs del proyecto pase de Verde a 脕mbar o Rojo.

KPI en Inspire PlannerKPI en Inspire Planner

Al utilizar las aplicaciones de gesti贸n de proyectos nativas de Salesforce, su equipo puede beneficiarse de los potentes informes y paneles de Salesforce. Por ejemplo, Inspire Planner ofrece una carpeta completa lista para usar con informes de proyectos, la capacidad de generar su informe de estado del proyecto con unos pocos clics y tambi茅n dos paneles din谩micos para su cartera y administradores de recursos.

Panel de administraci贸n de recursos en Inspire PlannerPanel de administraci贸n de recursos en Inspire Planner

Salesforce luego le permite programar y suscribirse a los informes de su proyecto. De esta manera, su equipo puede recibir notificaciones sobre las m茅tricas m谩s importantes del proyecto sin ejecutar manualmente ni enviar informes por correo electr贸nico.

Una de las mejores pr谩cticas para generar informes sobre sus proyectos es crear l铆neas base del proyecto en Inspire Planner. La l铆nea de base se puede utilizar para generar informes sobre el cronograma del proyecto planificado y el rendimiento real de su proyecto. La l铆nea de base tambi茅n se puede usar para rastrear y enviar notificaciones cuando hay retrasos en el proyecto y cuando las tareas vencen. Estas notificaciones pueden llamar la atenci贸n sobre 谩reas del Proyecto que necesitan m谩s atenci贸n, lo que resultar谩 en una reducci贸n de los retrasos.

Automatice la gesti贸n de proyectos en Salesforce con procesos de aprobaci贸n

Los procesos de aprobaci贸n pueden ayudarlo a automatizar la gesti贸n de proyectos en Salesforce cuando necesite obtener una aprobaci贸n para algo en su organizaci贸n.

Los ejemplos t铆picos de procesos de aprobaci贸n en la gesti贸n de proyectos incluyen empleados que solicitan PTO de sus gerentes, gerentes de proyecto que obtienen aprobaci贸n para cambios dentro del alcance del proyecto, aprobaci贸n de facturas y m谩s.

Con los procesos de aprobaci贸n de Salesforce, puede definir f谩cilmente sus pasos de aprobaci贸n, bloquear registros, permitir la recuperaci贸n de solicitudes de aprobaci贸n, definir un aprobador, crear plantillas de notificaci贸n y m谩s.

Para iniciar procesos de aprobaci贸n en sus proyectos en Salesforce, puede usar botones personalizados (p. ej., "Enviar para aprobaci贸n") en los que los usuarios deben hacer clic o iniciar procesos de aprobaci贸n autom谩ticamente con un Flujo de Salesforce.

Automatizar carteras de proyectos

Las carteras de proyectos le permiten agrupar y ver un conjunto de proyectos en un 煤nico diagrama de Gantt combinado. Con Inspire Planner, puede crear un n煤mero ilimitado de Portafolios para diversas necesidades, por ejemplo, un portafolio de sus proyectos, un portafolio de proyectos para un cliente espec铆fico, etc.

Los portafolios pueden mostrar el cronograma general del proyecto, el estado general del proyecto, el porcentaje completado, los hitos del proyecto y m谩s. Adem谩s, un proyecto puede pertenecer a varias carteras.

Con Inspire Planner, puede agregar proyectos a Portafolios o eliminarlos manualmente o con automatizaci贸n a trav茅s de Salesforce Flows. Por ejemplo, cuando se completa un proyecto, puede eliminarlo autom谩ticamente de una cartera.

Portafolios de proyectos en Inspire Planner, una aplicaci贸n de gesti贸n de proyectos nativa de SalesforcePortafolios de proyectos en Inspire Planner, una aplicaci贸n de gesti贸n de proyectos nativa de Salesforce

Y con nuestra pr贸xima funci贸n de carteras din谩micas con edici贸n en l铆nea, la gesti贸n autom谩tica de carteras se est谩 volviendo m谩s f谩cil que nunca. Puede crear diferentes vistas de lista de Salesforce para organizar y filtrar autom谩ticamente sus carteras de proyectos en funci贸n de varios criterios.

Calcule los niveles de prioridad de riesgos y problemas

Tener la capacidad de ver los riesgos y problemas relacionados con su proyecto significa que estos riesgos pueden mitigarse de manera oportuna durante todo el proyecto. Si busca identificar y prevenir riesgos de proyectos imprevistos, consulte nuestra gu铆a sobre c贸mo reducir los riesgos de proyectos en Salesforce.

Si est谩 buscando llevar la gesti贸n de riesgos de su proyecto al siguiente nivel en Salesforce, puede hacerlo automatizando el c谩lculo de riesgos y automatizando la priorizaci贸n de estos riesgos.

El registro de riesgos del proyecto es una funci贸n que ofrece Inspire Planner que le permite realizar un seguimiento de los riesgos de su proyecto y limitar sus impactos. Realiza un seguimiento tanto de los riesgos como de los problemas (los riesgos son los problemas que podr铆an ocurrir en el futuro y los problemas son los riesgos que han llegado a buen t茅rmino y realmente sucedieron).

Registro de riesgos del proyecto en Inspire Planner

La Prioridad de sus riesgos se calcula autom谩ticamente multiplicando el Impacto por la Probabilidad. De esta manera, simplemente debe asegurarse de capturar el impacto y la probabilidad de su riesgo e Inspire Planner har谩 el resto por usted.

Cu谩ndo y por qu茅 deber铆a automatizar la gesti贸n de proyectos en Salesforce

Si bien ahora conoce varias formas de automatizar la gesti贸n de proyectos en Salesforce y c贸mo Inspire Planner puede ser potencialmente la soluci贸n que le permita hacer esto, es posible que todav铆a se pregunte por qu茅 vale la pena automatizarlo.

驴Qu茅 ganar谩 su empresa con la automatizaci贸n de la gesti贸n de proyectos en Salesforce y qu茅 impactos negativos mitigar谩? A continuaci贸n hay tres explicaciones de este valor y por qu茅 la automatizaci贸n no solo es una buena idea sino casi una necesidad.

Ahorre tiempo en tareas repetitivas

La gesti贸n eficaz de proyectos es la diferencia entre un proyecto exitoso y uno fallido y, a menudo, lleva bastante tiempo ejecutarlo con cuidado para obtener resultados 贸ptimos. Dado que hay una serie de tareas que se pueden realizar con su inversi贸n en automatizaci贸n de Salesforce, tiene mucho sentido liberar a su equipo para que se concentre en los problemas clave en lugar de atascarlos con tareas repetitivas manuales.

La investigaci贸n realizada por AutomationAnywhere muestra que en algunas industrias (a saber, el servicio p煤blico y la administraci贸n general) los profesionales pueden dedicar hasta 3,51 horas diarias a tareas administrativas repetitivas. 隆Estas son tareas que podr铆an realizarse f谩cilmente mediante alg煤n tipo de automatizaci贸n!

Cuando se trata de reducir el tiempo necesario para las tareas repetitivas en la gesti贸n de proyectos, puede devolver el tiempo a su d铆a implementando algunos de nuestros ejemplos de automatizaci贸n descritos anteriormente, como plantillas de proyectos, asignaci贸n de tareas seg煤n roles de recursos y m谩s. En 煤ltima instancia, puede entregar un proyecto exitoso m谩s r谩pido descargando este tipo de tareas a Salesforce.

Reducir el error humano

Si bien todos tratamos de ser completamente precisos todo el tiempo, solo somos humanos y, como tales, somos propensos a cometer errores. Salesforce, por otro lado, no es humano y no es propenso a la misma capacidad de cometer errores que los humanos. Las tareas m谩s peque帽as pueden llamar menos la atenci贸n de un equipo de proyecto ocupado, lo que puede generar problemas mayores en el futuro debido a la naturaleza en cascada de estos errores.

Configurar su organizaci贸n para automatizar su gesti贸n de proyectos en Salesforce es la mejor manera de reducir (o eliminar efectivamente) su riesgo de error humano mientras gestiona el proyecto (suponiendo que est茅 configurado correctamente desde el principio, por supuesto).

Administre autom谩ticamente varias plantillas/escenarios

Si su empresa ofrece m煤ltiples servicios o productos diferentes, cada uno con su propio conjunto de tareas o incluso diferentes metodolog铆as de gesti贸n de proyectos (Waterfall vs Agile/Scrum), entonces puede encontrarse con problemas en los que un Project Manager no tiene suficiente experiencia trabajando con un tipo de producto o servicio espec铆fico y podr铆a tener problemas para configurar el Proyecto en Salesforce.

Este problema se elimina por completo cuando su gesti贸n de proyectos se automatiza en Salesforce utilizando varias plantillas de proyectos que sus gestores de proyectos pueden aplicar al comienzo de un proyecto. Esto no solo significa que tienen mucho menos trabajo por hacer, sino que tambi茅n elimina cualquier error potencial o tareas olvidadas y brinda un grado de capacitaci贸n para los gerentes de proyecto que son nuevos en un tipo espec铆fico de proyecto.

Automatice la gesti贸n de proyectos en Salesforce con Inspire Planner

Como puede ver, hay una cantidad insuperable de valor que se puede obtener al administrar sus proyectos dentro de Salesforce y luego aplicar capas en alguna Automatizaci贸n de administraci贸n de proyectos.

Sus clientes se beneficiar谩n de sus esfuerzos al contar con un equipo de proyecto efectivo que pueda entregar a tiempo y garantizar que las comunicaciones sean consistentes, que los riesgos se gestionen y mitiguen, y que el equipo centre sus esfuerzos en el trabajo en lugar de las tareas administrativas.

Si est谩 listo para automatizar la gesti贸n de proyectos en Salesforce para su organizaci贸n y reducir el trabajo manual y repetitivo, consulte Inspire Planner con nuestra prueba gratuita de 30 d铆as hoy o solicite su demostraci贸n personal de Inspire Planner.

Seguir leyendo

Use la API REST de Tableau con Postman para dise帽ar integraciones 鈽侊笍

Use la API REST de Tableau con Postman para dise帽ar integraciones 鈽侊笍

La pr贸xima vez que quiera hacer algo con Tableau, pero no pueda encontrar la manera con la interfaz de usuario, vaya a su confiable Postman Collection y pruebe algunos m茅todos a trav茅s de la API REST de Tableau.

La publicaci贸n Usar la API REST de Tableau con Postman para dise帽ar integraciones apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Lightning Experience con Lightning Speed (驴Ya llegamos?) 鈽侊笍

Obtenga una mirada m谩s detallada al rendimiento de Lightning Experience, conozca las 谩reas de mejora y los pr贸ximos pasos planificados en los pr贸ximos lanzamientos.

La publicaci贸n Lightning Experience with Lightning Speed (驴Ya llegamos?) apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Mejore la disponibilidad en su organizaci贸n 鈽侊笍

Est茅 atento a estos antipatrones comunes y utilice estas estrategias para evitarlos y mejorar la disponibilidad en su organizaci贸n.

La publicaci贸n Mejore la disponibilidad en su organizaci贸n apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Lanzamiento de Marketing Cloud Spring '23 para desarrolladores 鈽侊笍

Consulte los aspectos m谩s destacados y conozca las nuevas funciones de la versi贸n Spring '23 para desarrolladores de Marketing Cloud.

La versi贸n posterior de Marketing Cloud Spring '23 para desarrolladores apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Ahora en Pilot: adaptador de cable GraphQL para LWC 鈽侊笍

El adaptador de cable GraphQL est谩 en fase piloto a partir de la versi贸n Spring '23. Descubra c贸mo hace que acceder a los datos de los LWC sea m谩s f谩cil que nunca.

La publicaci贸n Now in Pilot: GraphQL Wire Adapter for LWC apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Las funciones y herramientas m谩s recientes de LWC para dispositivos m贸viles 鈽侊笍

Recapitulamos las caracter铆sticas actuales de LWC para dispositivos m贸viles y luego analizamos todas las caracter铆sticas nuevas e innovadoras disponibles en la versi贸n Spring '23.

La publicaci贸n Funciones y herramientas m谩s recientes de LWC para dispositivos m贸viles apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Creaci贸n de conocimientos en Genie Customer Data Cloud 鈽侊笍

Genie Customer Data Cloud utiliza datos para crear una vista 煤nica del cliente. Puede usar Insights para segmentar, agregar y filtrar para comprender mejor a su cliente.

La publicaci贸n Creaci贸n de conocimientos en Genie Customer Data Cloud apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Mejores pr谩cticas de LWC para flujos de pantalla 鈽侊笍

Aseg煤rese de que sus componentes se integren bien en el motor de tiempo de ejecuci贸n de flujo y funcionen como se espera en este blog sobre Screen Flows.

La publicaci贸n Mejores pr谩cticas de LWC para flujos de pantalla apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Automation Studio y SQL en Marketing Cloud 鈽侊笍

Este blog lo ayuda a comprender los casos de uso de las actividades de Automation Studio y SQL Query en Marketing Cloud y brinda orientaci贸n sobre las mejores pr谩cticas.

La publicaci贸n Automation Studio y SQL en Marketing Cloud apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

La gu铆a para desarrolladores de TrailblazerDX '23 鈽侊笍

Vea lo que TrailblazerDX '23 tiene reservado para desarrolladores en todo el ecosistema de Salesforce, ya sea que se una a nosotros en San Francisco o en Salesforce+.

La publicaci贸n La gu铆a para desarrolladores de TrailblazerDX '23 apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Desbloqueo de la migraci贸n de Aura a LWC en Salesforce 鈽侊笍

Desenredar las brechas de Aura en LWC es un esfuerzo no trivial y los equipos de Salesforce han trabajado arduamente para hacerlo. Estos son algunos de los beneficios que ver谩 al usar LWC en la versi贸n Winter '23.

La publicaci贸n Desbloqueo de la migraci贸n de Aura a LWC en Salesforce apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Resumen de 2022: nuevas funciones para desarrolladores del a帽o pasado 鈽侊笍

Cada a帽o, los desarrolladores de Salesforce se encuentran en el extremo receptor de una cinta transportadora de funciones nuevas importantes y, a veces, esenciales de la plataforma de Salesforce.

La publicaci贸n 2022 en revisi贸n: nuevas funciones para desarrolladores del a帽o pasado apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Una inmersi贸n profunda en el componente base LightningModal 鈽侊笍

Con el lanzamiento de Winter '23, ahora enviamos LightningModal, un componente Lightning base que simplifica la incorporaci贸n de modales en sus componentes.

La publicaci贸n Una inmersi贸n profunda en el componente base LightningModal apareci贸 primero en el blog de desarrolladores de Salesforce .

Seguir leyendo