Salesforce CLI: la herramienta de automatización para todos

Existen muchos artículos sobre los comandos que podemos lanzar con la linea de comandos de Salesforce, la llamada Salesforce CLI. Pero en muchas ocasiones, me pregunto si al mostrar todos esos comandos, conseguimos realmente transmitir las capacidades y los beneficios que la CLI puede aportar a todos, sin excepción. Por este motivo, este artículo tiene… Leer más Salesforce CLI: la herramienta de automatización para todos

Crear y desplegar un Protected Custom Metadata Type con información confidencial

Vimos en la entrada anterior las alternativas para almacenar información confidencial en Salesforce y vimos que el mecanismo preferido inicialmente, era la creación y despliegue de un Protected Custom Metadata Type. En este artículo veremos paso a paso y en detalle: La arquitectura recomendada por Salesforce para el Managed Package y asegurar la confidencialidad de… Leer más Crear y desplegar un Protected Custom Metadata Type con información confidencial

Meetup Taller Desarrollo con Visual Studio Code en Salesforce (novedades Dreamforce ’18)

Ayer 13/12 nos reunimos el grupo de Barcelona Salesforce Developer’s, donde presenté las novedades de Desarrollo con Visual Studio Code presentadas en el Dreamforce 2018. Como siempre la gente súper implicada, participativa, y agradecer a @Pablo y al equipo de @Indra-Minsait  por hacer posible nuevamente el evento. La verdad es que tengo una suerte enorme de… Leer más Meetup Taller Desarrollo con Visual Studio Code en Salesforce (novedades Dreamforce ’18)

Optimización de Queries (Parte 2) – con Query Plan y Tooling/REST API

Vimos en la entrada anterior que el objetivo de la optimización de consultas es conseguir: Obtener el menor coste posible, es decir el mejor plan de ejecución Que este coste sea inferior a 1, significando que la consulta es selectiva utilizando los índices creados Como desarrolladores o administradores necesitamos validar si una consulta será selectiva… Leer más Optimización de Queries (Parte 2) – con Query Plan y Tooling/REST API

Meetup: Framework de Triggers en el Barcelona Developer Group con superhéroes

Ayer 04/10 tuvimos el Meetup en Barcelona, de como crear un framework de triggers Rock-Solid, con las ideas que propusieron Tony Scott, Dan Appleman y Hari Krishnan, en la  Developer Community . Es un placer, encontrarnos y compartir conocimientos y experiencias de todos, deberíamos vernos más!! Mil gracias a Pablo García por toda su organización y a… Leer más Meetup: Framework de Triggers en el Barcelona Developer Group con superhéroes

Data Skew Detector: aplicación para detectar Data Skew en tu ORG

En la entrada anterior describí que era la anomalía en los datos llamada Data Skew en Salesforce. Y aunque ese es el primer paso, lo realmente útil, en nuestro día a día, es poderlo detectar con antelación. No conozco qué Salesforce ofrezca, ninguna utilidad para la localización de Data Skew, aunque anticiparnos a qué suceda… Leer más Data Skew Detector: aplicación para detectar Data Skew en tu ORG

Data Skew: bloqueos y pérdida de rendimiento con GRU y los Minions

(Actualización 11/12/2018:  realizé una presentación en el evento, Barcelona Dreamforce Global Gathering 2018, donde expuse la problemática de Data Skew. Para la explicación, utilizé analogías con Gru y los Minions, y dado su buen recibimiento he creído necesario actualizar este artículo y el uso de las analogías que utilicé). Sucede habitualmente que podemos tomar decisiones para… Leer más Data Skew: bloqueos y pérdida de rendimiento con GRU y los Minions

Análisis de código Estático con PMD

(Actualizado Mayo 2020) Desde hace ya mucho, para los lenguajes de programación más comunes, disponemos de analizadores de código estático. Son herramientas, que aplican reglas de validación al código que escribimos. Salesforce no proporciona una herramienta nativa dedicada al análisis de código estático APEX. Afortunadamente existen diferentes opciones en el mercado: CodeScan, Checkmarx, PMD, etc.… Leer más Análisis de código Estático con PMD

Trigger Frameworks – El framework de Hari Krishnan: lo bueno hecho mejor (Parte 4)

Como tercera entrada de la serie de Frameworks para la gestión de Triggers, no podía faltar la propuesta de Hari Krishnan. Este framework no es revolucionario, sinó que cómo explica el mismo autor, fue la culminación de evolucionar las ideas de Tony Scott, Dan Appleman, siendo mejoradas. De los 3 frameworks analizados en esta serie,… Leer más Trigger Frameworks – El framework de Hari Krishnan: lo bueno hecho mejor (Parte 4)

Trigger Frameworks – El framework de Appleman que los inició a todos (Parte 3)

Las ideas propuestas por Dan Appleman en su libro Advanced Apex para la gestión eficiente de triggers, han sido la base para varios frameworks aparecidos posteriormente. De hecho, el título que el autor dio al capítulo de su libro, «One trigger to rule them all» es ampliamente mencionado en muchos artículos y sitios web. Mi objetivo… Leer más Trigger Frameworks – El framework de Appleman que los inició a todos (Parte 3)

Trigger Frameworks – Un patrón de triggers simple y potente (Parte 2)

Uno de los primeros patrones/frameworks que aparecieron fue en un Force.com Cookbook, y después mejorado en su propio blog, por su propio autor, Tony Scott. Utilizaré la nomenclatura de Patrón en lugar de Framework, porque realmente el autor no propuso, ni era su propósito, facilitar un framework, sino unas buenas prácticas que dieran respuesta a las… Leer más Trigger Frameworks – Un patrón de triggers simple y potente (Parte 2)

Trigger Frameworks – Triggers súper vitaminados (Parte 1)

Los triggers, son una funcionalidad ampliamente utilizada, pero que a medida que avanza el proyecto y se afianza, su uso desordenado provoca situaciones inadvertidas o efectos laterales indeseados, con frustración por parte del desarrollador y del usuario. En este artículo quiero explicar, cuales son las problemáticas habituales, cuando aparecen, y las best practices y frameworks… Leer más Trigger Frameworks – Triggers súper vitaminados (Parte 1)

Kung Fu Panda Salesforce Async

Ayer por la tarde (07/06/2018) fue un placer presentar un meetup al Barcelona Salesforce Developer Group  las capacidades asíncronas de Salesforce: Como crear procesos asíncronos Como los gestiona la plataforma Las colas de ejecución y pacificación Un ejemplo real de requerimientos complejos y como satisfacerlos

Dynamic Planning for Async Processing

As explained in the last 2 entries, asynchronous processing and execution planning capabilities on Salesforce are very useful and powerful. But nonetheless, in some complex scenarios, you will find some limitations that can be overcome easily. Let me explain how, with some Apex Developing and using standard capabilities, you can get a quite powerful Dynamic… Leer más Dynamic Planning for Async Processing

Planificador Dinámico para Procesos Asíncronos

Como hemos visto en las 2 entradas anteriores, las capacidades asíncronas de Salesforce y su planificación son de gran utilidad. Aún así, vimos que podemos encontrar una carencia: si nuestros procesos asíncronos tiene condiciones funcionales o técnicas de las que depende lanzar su ejecución, no existe la posibilidad de configurar estas dependencias. Mi objetivo es… Leer más Planificador Dinámico para Procesos Asíncronos

Casos de uso para Apex asíncrono

Partiendo del artículo anterior donde vimos como Salesforce gestiona la ejecución de los procesos asíncronos  veamos como seleccionar el/los método/s  más adecuado/s en casos de uso reales. Recordemos las posibilidades que tenemos: Utilización de la anotación @Future Implementación de la interfaz Schedulable Implementación de la interfaz Queueable Implementación de la interfaz Batchable