Skip to content

Etiqueta: Lightning

Escriba Apex simplificado y seguro con las actualizaciones de Spring '23 ☁️

Escriba Apex simplificado y seguro con las actualizaciones de Spring '23 ☁️

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

El enlace a la publicación original, lo encontrarás al final de este artículo.

Escriba Apex simplificado y seguro con las actualizaciones de Spring '23 | Blog de desarrolladores de Salesforce

La versión Spring '23 de Salesforce Platform, disponible en general a partir del 13 de febrero, agregó algunas actualizaciones fantásticas al lenguaje de Apex. Hemos implementado algunas de las actualizaciones de Spring '23 en la aplicación de ejemplo Apex-Recipes , lo que ha simplificado significativamente la base de código existente.

En esta publicación de blog, revisaremos las actualizaciones en Spring '23 para Apex con ejemplos de código. Estas actualizaciones ayudan a los desarrolladores a crear aplicaciones más seguras para sus organizaciones.

1. Operaciones de base de datos en modo usuario

Apex, de forma predeterminada, se ejecuta en modo Sistema con permisos elevados, lo que significa que los desarrolladores pueden pasar por alto los controles de seguridad sin darse cuenta al escribir código.

Antes de continuar, revisemos rápidamente los controles de seguridad que los administradores de Salesforce pueden colocar para garantizar que los usuarios solo puedan acceder y manipular los datos para los que están autorizados a ver o editar. Las viñetas a continuación resumen diferentes mecanismos para aplicar un modelo de seguridad detallado para sus datos de Salesforce.

  • CRUD significa "Crear, Leer, Actualizar y Eliminar", las cuatro operaciones básicas que un usuario puede realizar en un registro en Salesforce
  • FLS significa "Seguridad de nivel de campo", que determina qué campos dentro de un registro que un usuario puede ver o editar
  • El uso compartido de registros permite al administrador configurar reglas sobre quién puede ver o editar un registro en función de varios criterios.

Con las operaciones de base de datos en modo usuario , los desarrolladores pueden optar por ejecutar Apex en el contexto del usuario, lo que garantiza que se apliquen las reglas CRUD/FLS y de uso compartido del usuario configuradas. Veamos esto en acción con ejemplos de código detallados.

Aplicar CRUD/FLS y reglas de uso compartido para SOQL estático

Puede indicar el modo de operación usando la palabra clave WITH USER_MODE para el modo de usuario y WITH SYSTEM_MODE para el modo de sistema en su consulta SOQL. Vea el ejemplo a continuación.

<dx-code-block title language code-block="List accounts = [SELECT Name, ShippingCity, ShippingStreet FROM Account WITH USER_MODE];»>

En el ejemplo anterior, al usar la palabra clave WITH USER_MODE , la consulta respeta estas restricciones de seguridad:

  • Permisos de lectura en el objeto Cuenta (configurado para Perfil/Conjunto de permisos) para el usuario
  • Permisos de campo (FLS) para Nombre, Calle de envío y Ciudad de envío para el usuario
  • Configuración de nivel de registro (como valores predeterminados de toda la organización y reglas de colaboración) para el objeto Cuenta para el usuario

El WITH USER_MODE la palabra clave también es compatible con agregar SOQL para hacer cumplir CRUD/FLS y reglas de uso compartido de registros.

<dx-code-block title language code-block="List groupedResults = [SELECT SUM(AMOUNT) total FROM Opportunity WHERE AccountId = :accountId WITH USER_MODE];»>

En el ejemplo anterior, al usar la palabra clave WITH USER_MODE , la consulta respeta estas restricciones de seguridad:

  • Permisos de lectura en el objeto Oportunidad para el usuario
  • Permisos de campo (FLS) para Amount y AccountId (sí, incluso los campos utilizados en la cláusula SOQL WHERE se verifican para FLS) para el usuario
  • Acceso a nivel de registro (como valores predeterminados de toda la organización y reglas de colaboración) en el objeto Oportunidad para el usuario

Para obtener más ejemplos, consulte la clase SOQLRecipes de la aplicación apex-recipes.

Aplicar CRUD/FLS y reglas de uso compartido para SOQL dinámico

Los nuevos métodos Database (ver documentos ) ahora admiten un parámetro AccessLevel que le permite ejecutar operaciones de base de datos en modo de usuario en lugar de en el modo de sistema predeterminado. Veamos un código de ejemplo para ejecutar un SOQL dinámico en el modo de usuario.

<dx-code-block title language code-block="String query = 'SELECT ID, Name FROM Account LIMIT 1';
List lstAccounts = Database.query(query, AccessLevel.USER_MODE);»>

En el ejemplo anterior, el modo de usuario se aplicará de manera similar al ejemplo de SOQL estático que vimos en la sección anterior.

Para obtener más ejemplos, consulte la clase DynamicSOQLRecipes de apex-recipes. Hemos actualizado todos los métodos de la clase para usar el parámetro AccessLevel .

Hacer cumplir CRUD/FLS y reglas de uso compartido para SOSL

WITH USER_MODE o WITH SYSTEM_MODE también son compatibles con declaraciones SOSL (Lenguaje de búsqueda de objetos de Salesforce).

Veamos un ejemplo de una instrucción SOSL estática.

<dx-code-block title language code-block="String keyword = 'Alaska';
List<List> searchResults = [ FIND :keyword IN Name FIELDS RETURNING Account(Name), Contact(LastName, Account.Name) WITH USER_MODE ];»>

En el ejemplo anterior, al usar la palabra clave WITH USER_MODE , la consulta respeta estas restricciones de seguridad:

  • Permisos de lectura en los objetos Cuenta y Contacto para el usuario
  • Permisos de campo (FLS) para el campo Nombre en Cuenta y campo Apellido en Contacto para el usuario
  • Acceso a nivel de registro (como valores predeterminados de toda la organización y reglas de colaboración) en los objetos Cuenta y Contacto para el usuario

Para Dynamic SOSL, los nuevos métodos Search (ver documentos ) también admiten el parámetro AccessLevel similar a los nuevos métodos Database . A continuación se muestra un ejemplo de cómo usar el parámetro AccessLevel para ejecutar SOSL en el contexto de los usuarios.

<dx-code-block title language code-block="String query = 'FIND 'Edge*' IN ALL FIELDS RETURNING Account(ID,Name), Contact, Lead'; List<List> searchResults = Search.query(query, AccessLevel.USER_MODE);»>

Hacer cumplir CRUD/FLS y reglas de uso compartido para DML

Las operaciones de la base de datos pueden especificar el modo de usuario o sistema utilizando las palabras clave as user o as system .

El siguiente es un código de ejemplo que ejecuta DML en el modo de usuario aplicando CRUD/FLS y reglas de uso compartido.

Para Dynamic DML, los desarrolladores pueden utilizar el parámetro AccessLevel para ejecutar operaciones de base de datos en el modo de usuario o en el modo de sistema.

Echemos un vistazo a un ejemplo de la aplicación apex-recipes para ver cómo puede diseñar métodos para que sean genéricos, de modo que el consumidor del método pueda decidir ejecutar el código en el modo de usuario o de sistema.

El fragmento de código siguiente muestra cómo invocar este método en el modo de usuario.

El siguiente fragmento de código muestra cómo invocar este método en el modo de sistema.

Para obtener más ejemplos, consulte la clase DMLRecipes de la aplicación apex-recipes.

Consideraciones importantes

  1. Las operaciones de la base de datos en modo usuario generan excepciones de seguridad si se encuentra una infracción CRUD/FLS. Si tiene un requisito para evitar excepciones y aún aplicar la seguridad, use el método Security.stripInaccessible() (consulte los documentos ). Consulte la clase StripInaccessibleRecipes (ver documentos ) de la aplicación apex-recipes para ver ejemplos de código.
  2. Si usa la palabra clave WITH SECURITY_ENFORCED en sus declaraciones SOQL para hacer cumplir CRUD/FLS, ahora le recomendamos que use la palabra clave WITH USER_MODE en su lugar debido a las siguientes razones:
    1. La consulta SOQL que usa la palabra clave WITH USER_MODE admite muchas innovaciones nuevas, como reglas de restricción, reglas de alcance y cualquier otra operación de seguridad para el acceso a datos y CRUD/FLS, que la plataforma puede agregar en el futuro, por lo que es una especie de prueba del futuro
    2. La consulta SOQL que usa la palabra clave WITH USER_MODE maneja casos de uso de seguridad complejos mucho mejor. Por ejemplo, WITH USER_MODE es compatible con SOSL y consultas polimórficas .
    3. Las declaraciones SOQL que usan la palabra clave WITH USER_MODE manejan CRUD/FLS para los campos usados en la cláusula where y order by o campos usados en la consulta de relación o búsqueda polimórfica
    4. Las consultas SOQL que utilizan la palabra clave WITH USER_MODE funcionan mucho mejor en comparación con el uso WITH SECURITY_ENFORCED
  3. El modo de usuario anula la configuración de nivel de clase para la consulta SOQL o DML escrita en modo de usuario. Exploremos esto con el siguiente código de ejemplo.

<dx-code-block title language code-block="public without sharing ExampleCls { public static List getAccount() { String query = ‘SELECT Id FROM Account Limit 1’; return Database.query(query, AccessLevel.USER_MODE); } }»>

En el ejemplo anterior, aunque la clase Apex está configurada para ejecutarse en el contexto del sistema (sin la palabra clave compartida), la consulta SOQL se ejecuta en el modo de usuario, lo que refuerza la seguridad. El modo de usuario para la operación (SOQL/SOSL o DML) anula el uso compartido a nivel de clase.

2. Pasar dinámicamente variables de vinculación a consultas SOQL

Spring '23 agregó nuevos métodos como Database.queryWithBinds , Database.getQueryLocatorWithBinds y Database.countQueryWithBinds .

Estos métodos proporcionan los siguientes beneficios:

  • Anteriormente, si los desarrolladores usaban variables de vinculación en SOQL dinámico (usando el método Database.query ) que están fuera de contexto, la consulta no podía resolver las variables. Con queryWithBinds , las variables de vinculación de la consulta se resuelven directamente desde un parámetro Map con una clave en lugar de variables de código de Apex.
  • Con Database.queryWithBinds , los ataques de inyección SOQL se evitan automáticamente.

Echemos un vistazo a un ejemplo de código para comprender el segundo punto con más profundidad.

<dx-code-block title language code-block="public static List simpleBindingSoqlQuery(Map bindParams) { String query = ‘SELECT Id, Name ‘ + ‘FROM Account ‘ + ‘WHERE name = :name’; return Database.queryWithBinds( query, bindParams, AccessLevel.USER_MODE );
}»>

El código anterior ejecuta un SOQL dinámico en el modo de usuario. El método acepta un parámetro Map y se puede llamar usando el código a continuación.

<dx-code-block title language code-block="String accountName = 'Codey And Co';
Map nameBind = new Map{‘name’ => accountName};
List accounts = simpleBindingSoqlQuery(nameBind);
System.debug(accounts);»>

Tenga en cuenta que no es necesario que nos aseguremos de que el nombre de la variable esté en el mismo ámbito de método que la consulta dinámica. Además, no es necesario usar el método String.escapeSingleQuotes para el valor en la variable name cuando se usa queryWithBinds .

Para obtener más ejemplos de código, consulte esta solicitud de incorporación de cambios en nuestro repositorio de GitHub apex-recipes.

3. Especifique un retraso en la programación de trabajos en cola

Otra característica importante que lanzamos en Spring '23 es la capacidad de especificar demoras para trabajos programados que se pueden poner en cola.

Puede ser beneficioso ajustar el tiempo antes de que se ejecute el trabajo en cola en los siguientes casos de uso:

  • Si el sistema externo tiene una velocidad limitada y puede sobrecargarse con trabajos en cola encadenados que realizan llamadas rápidas
  • Al sondear los resultados, y ejecutar demasiado rápido puede provocar el uso desperdiciado de los límites diarios de Apex asíncrono

Usa el método System.enqueue(queueable, delay) (ver docs ) para especificar retrasos. Los retrasos pueden variar de cero a 10 minutos. Veamos un ejemplo para comprender mejor esta función.

El ejemplo anterior agrega un trabajo para la ejecución asincrónica retrasada al pasar una instancia de la implementación de su clase de la interfaz Queueable para la ejecución. Hay un retraso mínimo de cinco minutos antes de que se ejecute el trabajo.

Especificar un retraso predeterminado en toda la organización en la programación de trabajos en cola

Actualmente, si tiene un trabajo en cola de Apex, utiliza el tiempo estándar en cola sin demoras adicionales. Los administradores pueden definir un retraso predeterminado en toda la organización para todos los trabajos en cola que no especifican retraso usando
System.enqueue(queueable, delay) . Este es principalmente un mecanismo para manejar trabajos fuera de control que podrían estar ejecutándose demasiado rápido.

Importante consideración

Cuando establece el retraso en 0 (cero), el trabajo en cola se ejecuta lo más rápido posible. Con trabajos en cola encadenados, implemente un mecanismo para ralentizar o detener el trabajo si es necesario. Sin un mecanismo a prueba de fallas de este tipo, puede alcanzar rápidamente el límite de Apex asíncrono diario.

También hay una próxima función Beta en la versión Summer '23 (planificada para estar disponible el 10 de junio de 2023 en todas las organizaciones) que permite a los desarrolladores controlar la profundidad de los trabajos en cola encadenados.

4. Obtenga el SObject de origen de una instancia DescribeFieldResult usando el nuevo método getSObjectType

El método getSObjectType (ver documentos ) en el objeto DescribeFieldResult (ver documentos ) es un método de mejora de la calidad de vida del desarrollador que se implementó en Spring '23.

Anteriormente, los desarrolladores tenían que hackear y escribir código adicional para obtener el objeto de origen de la información del esquema de campos obtenida a través de la descripción del campo. Puede consultar las soluciones anteriores a través de esta publicación de stackexchange .

A continuación se muestra un ejemplo de código de cómo usar el nuevo método getSObjectType .

Con el método getSObjectType , los desarrolladores ya no tienen que pasar el nombre del objeto como una cadena. Consulte un ejemplo más completo en las notas de la versión de Spring '23.

Actualizaciones de herramientas

Hemos actualizado el servidor de idioma de Apex para admitir las últimas adiciones de sintaxis, como insert as user, insert as system y mucho más. Y ahora admitimos las últimas adiciones de sintaxis en el lanzamiento reciente de las Extensiones de Salesforce para VSCode .

También quiero agradecer a Dang Mai por actualizar el complemento más bonito para Apex (usado para formatear el código Apex automáticamente) para admitir todas las palabras clave introducidas para las operaciones de la base de datos en modo usuario.

Conclusión

En conclusión, la versión Spring '23 de Salesforce incluye varias actualizaciones. Mediante el uso de estas nuevas funciones, los desarrolladores pueden crear aplicaciones más eficaces y seguras para sus organizaciones.

Los equipos de productos de Apex no se detienen ahí y hay más innovaciones en la hoja de ruta. Puede obtener una vista previa de lo que viene para Apex en Summer '23 (nuestro próximo lanzamiento) en la vista previa de las notas de la versión . También recomiendo ver la grabación de la sesión TrailblazerDX '23, Apex: What's New and What's Coming , para aprender más sobre lo que se está cocinando.

Referencias adicionales

Sobre el Autor

Mohith Shrivastava es promotor de desarrollo en Salesforce con una década de experiencia en la creación de productos a escala empresarial en la plataforma de Salesforce. Actualmente se está enfocando en las herramientas para desarrolladores de Salesforce, Flow, Apex y Lightning Web Components en Salesforce. Mohith se encuentra actualmente entre los principales contribuyentes en Salesforce Stack Exchange, un foro de desarrolladores donde los desarrolladores de Salesforce pueden hacer preguntas y compartir conocimientos. Puedes seguirlo a través de su Twitter @msrivastav13 .

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Calcule la cobertura general del código en Salesforce

Calcule la cobertura general del código en Salesforce

Última actualización el 12 de mayo de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo calcular la cobertura general del código en Salesforce?

Objetivos:

Después de leer este blog, podrá:

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

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

Práctica guiada (nosotros hacemos):

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

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

Paso 1: compilar todas las clases de prueba

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

Paso 2: verifique la cobertura general del código

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

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

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

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


SELECCIONE Porcentaje cubierto DESDE ApexOrgWideCoverage

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


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

Evaluación formativa:

¡Quiero saber de ti!

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

Seguir leyendo

¡La convocatoria de participación para desarrolladores de Dreamforce 2023 está abierta! ☁️

¡La convocatoria de participación para desarrolladores de Dreamforce 2023 está abierta! ☁️

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 convocatoria de participación para desarrolladores de Dreamforce 2023 está abierta! | Blog de desarrolladores de Salesforce

Developer Track en Dreamforce 2023 es la plataforma para que los desarrolladores brinden contenido atractivo, innovador y accionable que puede ayudar a otros desarrolladores a elevar sus carreras e impulsar el éxito de sus negocios. ¡Hoy, la convocatoria de participación de Dreamforce '23 está oficialmente abierta !

La convocatoria de participación de Dreamforce permanecerá abierta hasta el martes 6 de junio de 2023 a las 11:59 p. m. (hora del Pacífico). Informaremos a todos los remitentes de su estado de aceptación en junio.

¿Por qué deberías presentarte en Dreamforce?

A menudo tengo conversaciones con desarrolladores que tienen habilidades e ideas impresionantes, pero que tienen miedo de presentar. Me dicen cosas como "No soy lo suficientemente bueno" o "Mis ideas no serán de interés para otros" o "Solo los expertos en desarrollo de Salesforce con mucha experiencia pueden presentar un gran contenido". Sin embargo, en la mayoría de los casos, estos son conceptos erróneos.

Durante esas conversaciones, suelo decir: “Cuéntame sobre un proyecto en el que has estado involucrado. ¿Cómo resolviste los desafíos que enfrentaste? ¿Qué aprendiste de esa experiencia? ¿Qué herramientas creó o incorporó su equipo y qué procesos estableció para ayudarlo a tener éxito más rápido en proyectos futuros? Y siempre recibo excelentes respuestas, ideas que a otros desarrolladores les encantaría saber y de las que se beneficiarían.

Por eso, me gustaría animarte a que no tengas miedo. Si le apasionan las tecnologías de desarrollo de Salesforce y tiene ideas para compartir, asegúrese de enviarlas. Otros desarrolladores están ansiosos por aprender de usted, y le brindaremos orientación y herramientas para realizar una presentación exitosa.

¿Cuál es la diferencia entre los tipos de sesión?

Las sesiones de grupo se llevan a cabo en salas de sesión dedicadas con alrededor de 100+ asientos. Las sesiones de grupo se organizan en bloques de 40 minutos, lo que le da tiempo suficiente para profundizar en un tema. El formato también permite que los miembros de la audiencia interactúen con usted y le hagan preguntas. Recomendamos que planee 30 minutos para su presentación, dejando los últimos 10 minutos para preguntas y discusión.

Las sesiones de teatro se llevan a cabo en teatros y son en bloques de 20 minutos. Los asistentes de Dreamforce pueden acercarse y escuchar su sesión o tomar asiento (más de 80 asientos disponibles). Dado que las sesiones de teatro son más cortas, un formato fuerte es tener elementos procesables para que los desarrolladores aprendan en un período de tiempo corto, como hacer una inmersión estrecha y profunda. Este formato significa que no hay tiempo para preguntas y debates, sin embargo, los oradores pueden reunirse con miembros de la audiencia después de su presentación.

Proceso de envío de propuestas de sesiones

Primero, comencemos con el Título de la sesión . Debe ser algo que sea de interés para los desarrolladores de Salesforce, y debe redactarlo de manera que quede muy claro para los asistentes lo que se cubrirá (en no más de 60 caracteres). Recuerde, hay muchas opciones de contenido en Dreamforce, por lo que querrá que su tema sea muy claro.

El campo Resumen de la sesión es donde escribirás un breve párrafo (de no más de 200 caracteres) para decirnos rápidamente de qué vas a hablar. ¡Ser creativo! No solo explique su conjunto de diapositivas, sino que comparta sus ideas para interactuar con la audiencia. ¿Qué vas a construir/demostrar? ¿Qué debate liderarás? ¿Qué se llevará su audiencia a casa y compartirá con sus equipos? Aborde los beneficios de WIIFM (qué hay para mí). Recuerde, esto eventualmente se publicará en la guía de Dreamforce, y será la vista pública de lo que trata su charla. Debe ser convincente y comunicar claramente lo que los asistentes pueden esperar aprender de su sesión. Tendrá un campo adicional de 500 caracteres Por qué debería presentarse esta sesión para explicar mejor su resumen.

Para llenar la pista de Desarrollador con contenido increíble, solo revisamos las Propuestas de sesión completadas. Estas son presentaciones que incluyen tanto un tema como oradores para una sesión. No revisaremos las nominaciones de oradores para la pista de Desarrollador.

El campo Quién es su audiencia principal es un campo de selección única, por lo que para ser considerado para la pista de Desarrollador, elija "Desarrollador".

La pista de desarrolladores en Dreamforce recibe varios cientos de propuestas para llenar un número mucho menor de espacios para hablar. De hecho, para un evento típico de Dreamforce, recibimos alrededor de 1,000 presentaciones por solo unos pocos cientos de espacios, por lo que la competencia es feroz. Por lo tanto, mientras crea el título y el resumen de su sesión, piense en cómo puede hacer que el suyo se destaque del resto (¡y sea elegido!) a medida que avanza en la revisión de la sesión.

Si tiene más de un tema que le gustaría proponer, complete el proceso de envío nuevamente para cada tema.

¿Qué tipo de sesiones estamos buscando?

Estamos buscando sesiones divertidas y atractivas que brinden contenido procesable que ayude a los desarrolladores de Salesforce a desarrollar sus habilidades, elevar sus carreras y brindar soluciones tecnológicas innovadoras para sus empresas.

Aquí hay algunas ideas para las sesiones que nos gustaría ver:

  1. Habla sobre un tema que te apasione. Esto podría ser sobre una función específica, una solución que le encantó o algo que le guste mucho y que esté respaldado por su experiencia personal. El primer paso para lograr que a tu audiencia le encante escucharte es que a ti te encante lo que dices.
  2. Considere seriamente los aprendizajes y las lecciones que su audiencia obtendrá al escuchar su charla. Su tiempo es valioso y habrán elegido pasar parte de su agenda de Dreamforce contigo. Asegúrese de que estas cosas estén resaltadas en su resumen.
  3. ¿Ha adquirido experiencia en nuevas funciones o productos que se lanzaron recientemente? Si ha tenido acceso a una versión piloto o beta de la plataforma Salesforce, entonces puede estar en condiciones de brindar una perspectiva única sobre las próximas funciones y cambios. O, si es uno de los primeros en adoptar algunas de las actualizaciones recientes de la plataforma, es posible que otros puedan aprender de su experiencia.
  4. ¿Tiene una solución técnica inteligente que podría aplicarse a una amplia audiencia? Responda eso con cuidado, porque una solución que proporcionó para un problema específico podría no ser lo suficientemente genérica como para atraer a las masas.

Esta lista no es exhaustiva: si tiene una gran propuesta de sesión que no hemos mencionado, ¡nos encantaría escucharla!

Si desea obtener más consejos para mejorar sus habilidades de creación de contenido, creación de audiencia y presentación, consulte el módulo Trailhead de habilidades para hablar en público .

¿Qué pasa después?

Nuestro equipo central revisará su propuesta de sesión y se realizarán selecciones para garantizar que tengamos la mejor combinación de contenido valioso para desarrolladores de todos los niveles de experiencia. Le notificaremos si su sesión ha sido aceptada o no en junio.

Si se acepta su sesión, se lo conectará con un propietario de la sesión para que lo guíe a través del proceso de preparación, que incluye comentarios sobre su contenido y sesiones de práctica. También recibirá un pase de orador para asistir a Dreamforce 2023. Si ya se registró para asistir, recibirá instrucciones sobre cómo reembolsar ese registro o transferirlo a otra persona.

Si no se acepta su sesión, hay otros eventos, incluidas conferencias comunitarias y grupos de desarrolladores que pueden estar interesados en que presente su contenido.

¿Listo para enviar su idea de presentación de desarrollador para Dreamforce 2023? Complete el proceso de envío antes del 6 de junio de 2023 para ser considerado. ¡Esperamos escuchar sus grandes ideas!

Sobre el Autor

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

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Use la API REST de Tableau con Postman para diseñar integraciones ☁️

Use la API REST de Tableau con Postman para diseñar integraciones ☁️

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

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

Seguir leyendo

Retrospectiva de un desarrollador de plataforma de TrailblazerDX '23 ☁️

Retrospectiva de un desarrollador de plataforma de TrailblazerDX '23 ☁️

TrailblazerDX '23 estuvo lleno de innovación y contenido para los desarrolladores. En este blog, la perspectiva de un desarrollador de Salesforce Platform y una lista de recursos de TDX.

La publicación Retrospectiva de un desarrollador de plataforma de TrailblazerDX '23 apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Diferentes formas de hacer que el componente de la pantalla sea de solo lectura

Diferentes formas de hacer que el componente de la pantalla sea de solo lectura

Última actualización el 9 de abril de 2023 por Rakesh Gupta Gran idea o pregunta duradera: ¿Cómo hacer que el componente de pantalla sea de solo lectura? Objetivos: después de leer este blog, podrá: Agregar texto de solo lectura al componente de pantalla usando Display Text Agregar texto de solo lectura al componente de pantalla usando un Lightning Web personalizado

La publicación Diferentes formas de hacer que el componente de pantalla sea de solo lectura apareció primero en Automation Champion .

Seguir leyendo

Prepare su aplicación para pasar la revisión de seguridad de AppExchange ☁️

Prepare su aplicación para pasar la revisión de seguridad de AppExchange ☁️

Esta guía se publicó originalmente en Medium en 2021 y se actualizó con la orientación y los consejos más recientes, incluidas las nuevas funciones de seguridad como parte de los lanzamientos recientes y la nueva estructura de precios para las revisiones.

La publicación Prepare su aplicación para pasar la revisión de seguridad de AppExchange apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Uso del flujo de credenciales del cliente para una autenticación API más sencilla ☁️

Uso del flujo de credenciales del cliente para una autenticación API más sencilla ☁️

Las API de Salesforce ahora son compatibles con las credenciales de cliente de OAuth, lo que facilita más que nunca establecer integraciones de servidor a servidor que no necesariamente necesitan el contexto del usuario.

La publicación Uso del flujo de credenciales del cliente para una autenticación API más sencilla apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Lightning Experience con Lightning Speed (¿Ya llegamos?) ☁️

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

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

Seguir leyendo

Einstein GPT para desarrolladores de Salesforce ☁️

Las herramientas impulsadas por IA están cambiando la forma en que escribimos y analizamos el código. Descubra cómo Einstein GPT cambiará el panorama de desarrollo de software con Salesforce.

La publicación GPT de Einstein para desarrolladores de Salesforce apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Mejore la disponibilidad en su organización ☁️

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

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

Seguir leyendo

Habilite CDN para cargar Lightning Experience más rápido ☁️

Descubra cómo una red de entrega de contenido (CDN) puede aumentar su rendimiento y cómo puede habilitarla para su organización hoy.

La publicación Activar CDN para cargar Lightning Experience más rápido apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Lanzamiento de Marketing Cloud Spring '23 para desarrolladores ☁️

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

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

Seguir leyendo

Ahora en Pilot: adaptador de cable GraphQL para LWC ☁️

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

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

Seguir leyendo

Las funciones y herramientas más recientes de LWC para dispositivos móviles ☁️

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

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

Seguir leyendo

Lograr una CLI de Salesforce de código abierto ☁️

Consulte la tercera y última publicación de blog de nuestra serie que relata el viaje de la CLI de sfdx hacia el código abierto, ahora con confiabilidad mejorada.

La publicación Lograr una CLI de Salesforce de código abierto apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Inicie su bot de Einstein en Twitter con el marco del conector del canal de bots de Einstein ☁️

En nuestra serie API de la plataforma Einstein Bots, hemos profundizado en los aspectos del uso de la API para ayudarlo a aprovecharla al máximo en sus canales digitales.

La publicación Inicie su bot de Einstein en Twitter con el marco del conector de canal de bots de Einstein apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Adaptador Salesforce Connect para GraphQL: ¡ahora en versión piloto! ☁️

Nuestro nuevo adaptador Salesforce Connect para GraphQL ahora está en fase piloto, lo que abre nuevas posibilidades para la interoperabilidad entre Salesforce y AWS.

La publicación Adaptador Salesforce Connect para GraphQL: ¡ahora en versión piloto! apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Mejore el rendimiento del código con el analizador de código de Salesforce ☁️

Estamos desarrollando Salesforce Graph Engine con nuevas reglas para ayudarlo a mejorar el rendimiento de su código en la última versión 3.9 de Code Analyzer.

La publicación Aumente el rendimiento del código con Salesforce Code Analyzer apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Creación de conocimientos en Genie Customer Data Cloud ☁️

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

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

Seguir leyendo

5 innovaciones de Spring '23 para ayudarlo a obtener resultados rápidamente

Vea algunas de nuestras innovaciones favoritas del lanzamiento de Spring '23 para ayudarlo a aprovechar al máximo Salesforce.

Seguir leyendo

Mejores prácticas de LWC para flujos de pantalla ☁️

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

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

Seguir leyendo

Automation Studio y SQL en Marketing Cloud ☁️

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

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

Seguir leyendo

Dé forma al futuro de la construcción y el desarrollo en Salesforce ☁️

Nuestra encuesta global anual para desarrolladores nos ayuda a saber cómo construye usando los productos de Salesforce, para que podamos mejorar su experiencia al usarlos.

La publicación Da forma al futuro de la construcción y el desarrollo en Salesforce apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo