Skip to content

Etiqueta: Lightning Web Components

Cambios en la estructura del DOM interno del componente Lightning base para compatibilidad futura con sombras nativas ☁️

Cambios en la estructura del DOM interno del componente Lightning base para compatibilidad futura con sombras nativas ☁️

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

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

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

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

¿Qué es el DOM de sombra nativo?

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

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

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

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

La implementación interna de los componentes básicos está cambiando

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

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

Example base component

«>

A partir de Summer '23, se verá así:

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

Example base component

«>

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

¿Cómo puede arreglar su código personalizado y sus pruebas?

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

Un componente no se ve como se esperaba:

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

Una prueba de extremo a extremo falla:

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

Conclusión

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

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

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

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

Más recursos

Sobre los autores

Maeve Tuntivate es Gerente sénior en el equipo de Gestión de productos en Salesforce.

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

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

Agregar a Slack Suscríbete a RSS

Seguir leyendo

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

¡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

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

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

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

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

La guía para desarrolladores de TrailblazerDX '23 ☁️

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

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

Seguir leyendo

Servicios externos y actualizaciones de API | Aprende MOAR Primavera '23 ☁️

Puede esperar una gran cantidad de servicios externos y actualizaciones de API en Spring '23, lo que hace que sea aún más fácil aprovechar Salesforce para automatizar cualquier cosa.

La publicación Servicios externos y actualizaciones de API | Learn MOAR Spring '23 apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Desbloqueo de la migración de Aura a LWC en Salesforce ☁️

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

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

Seguir leyendo

Anunciando los Ganadores del Premio Codey 2022 ☁️

Consulte los ganadores del Premio Codey a los mejores blogs, videos y podcasts de 2022, según la votación de la comunidad de desarrolladores de Salesforce.

La publicación Anunciando los ganadores del premio Codey 2022 apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Resumen de 2022: nuevas funciones para desarrolladores del año pasado ☁️

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

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

Seguir leyendo

Una inmersión profunda en el componente base LightningModal ☁️

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

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

Seguir leyendo

Grandes mejoras en la CLI de Salesforce ☁️

¡No te preocupes, no están rompiendo cambios!

La publicación Grandes mejoras en la CLI de Salesforce apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Ampliar plantillas de correo electrónico con componentes web Lightning ☁️

Aprenda a crear componentes web Lightning (LWC) personalizados en Email Content Builder para que la experiencia de correo electrónico sea más interactiva.

La publicación Ampliar plantillas de correo electrónico con componentes web Lightning apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Flujos de pantalla integrados en sus componentes web Lightning ☁️

Screen Flow permite a los desarrolladores y administradores crear interfaces de usuario y vincularlas a los datos de Salesforce, y utilizar componentes web Lightning como elementos de flujo.

La publicación Integrar flujos de pantalla en sus componentes web Lightning apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Lo que los socios ISV deben saber sobre Lightning Web Security ☁️

Lightning Web Security (LWS) habilita algunas de las funciones nuevas más buscadas para Lightning Web Components (LWC), como importaciones de espacios de nombres cruzados, mayor compatibilidad con bibliotecas de JavaScript de terceros y más. Sin embargo, los ISV deben tener en cuenta algunas consideraciones importantes al trabajar con LWS. En esta publicación de blog, daremos una breve descripción de […]

La publicación Lo que los socios ISV deben saber sobre Lightning Web Security apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Procesamiento de grandes cantidades de datos con API (parte 1 de 2) ☁️

Cuando trabaje en un entorno empresarial, es posible que deba procesar grandes cantidades de registros de Salesforce utilizando las API de la plataforma. En esta serie de dos publicaciones, presentaremos opciones para procesar datos a escala. En esta primera publicación, nos centraremos en las operaciones de lectura con la API REST y las API masivas. Presentaremos cuál es la mejor opción […]

La publicación Procesamiento de grandes cantidades de datos con API (Parte 1 de 2) apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Comience a crear aplicaciones de Salesforce ahora con un nuevo proyecto de Trailhead ☁️

Los desarrolladores valoran y confían en Salesforce Platform porque simplifica el proceso de creación de soluciones empresariales seguras. Al utilizar las herramientas y los servicios integrados de la plataforma para la automatización, la integración y más, los desarrolladores pueden lograr el éxito comercial más rápido. Los desarrolladores de Salesforce abordan problemas comerciales complejos escribiendo código y utilizando herramientas sin código que ofrecen funciones simples rápidamente. Los […]

La publicación Comenzar a crear aplicaciones de Salesforce ahora con un nuevo proyecto de Trailhead apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo