Las herramientas de código abierto más interesantes para desarrolladores de Salesforce
Una lista de las principales herramientas de código abierto que todo desarrollador de Salesforce debería conocer.
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··6 min de lectura
Probablemente, lo más fascinante del software como disciplina es el concepto de Código abierto. ¿En qué otra industria o profesión las personas han compartido su trabajo con tanta disposición y libertad?
Y el software de código abierto (OSS) está teniendo una gran influencia en el resto del mundo. Hasta hace poco, era difícil imaginar a un abogado sentado frente a su computadora redactando documentos legales gratis. Ahora, gracias a la influencia del software, los bufetes de abogados están empezando a compartir sus documentos habituales como código abierto.
Git, la herramienta en la que se basa Blue Canvas, es de código abierto y se creó en un fin de semana.
Durante las últimas semanas, hemos hablado con más de cuarenta desarrolladores de Salesforce. Hemos escuchado historias excelentes y conocido muchas herramientas de código abierto muy útiles. Por eso, decidimos hacer aquí un breve repaso de algunas de las mejores.
Guías y documentos
GUÍA PRÁCTICA DE ATLASSIAN PARA EL DESARROLLO COLABORATIVO EN SALESFORCE
Primero, tenemos un excelente flujo de trabajo creado por nuestro amigo Melanie Wright en Atlassian. El equipo de Atlassian ha escrito en detalle sobre cómo desarrolla Atlassian en Salesforce. Este documento es una lectura imprescindible.
El flujo de trabajo describe todo, desde cómo configurar tus organizaciones de Salesforce hasta cómo dar seguimiento a las solicitudes de cambio y sus resultados con herramientas como JIRA. Incluso detalla las diferencias entre los flujos de trabajo que necesitan los administradores y los desarrolladores de Salesforce.
Uno de los aspectos más interesantes de su flujo de trabajo es cómo implementaron una solución de control de versiones que funciona en Bitbucket Server (antes conocido como “Stash”), su servicio de Git alojado en infraestructura propia. Cada funcionalidad termina en su propia rama y los desarrolladores pueden trabajar en ella de forma aislada de otros cambios. Cuando está lista, se integra en una rama principal en un sandbox de desarrollo. Cuando las pruebas pasan, integran las funcionalidades en sus organizaciones de UAT y producción. También explican cómo usan Bamboo para la integración continua.
Dos de los desarrolladores que ayudaron a crear este flujo de trabajo dieron una excelente presentación en Dreamforce ‘15 sobre el flujo de trabajo de desarrollo de Atlassian que te recomendamos ampliamente.
Leer más:
- https://developer.atlassian.com/sfdc
- https://developer.atlassian.com/sfdc/the-salesforce-development-workflow
FLUJO DE TRABAJO DE ENTREGA CONTINUA DE DREAMOPS
Otro flujo de trabajo emergente para desarrolladores de Salesforce al que le seguimos la pista es de Ted Husted con el acertado nombre de DreamOps. El objetivo de DreamOps es ayudar a los desarrolladores de Salesforce que buscan implementar entrega continua para sus equipos de Salesforce.
La guía es un documento extraordinariamente bien pensado que explica en detalle, y con abundante contexto, cómo podría ser un excelente pipeline de CI/CD para Salesforce. Abarca una amplia variedad de temas, desde roles de usuario hasta herramientas y configuración.
Es muy fácil contribuir si has descubierto buenas prácticas que quieres compartir con la comunidad de desarrolladores.
Leer más:
Editores y programación
MAVENSMATE
Una de las herramientas más populares de las que nos hablan es de Joe Ferraro excelente MavensMate. En realidad, MavensMate consta de tres pilares tecnológicos que gestionan la comunicación entre tu editor de texto, tu sistema de archivos local y una organización remota de Salesforce. Los tres componentes incluyen un servidor de coordinación local escrito en Node.js y Express; varios complementos de editores de texto para distintos IDE; y una aplicación de escritorio que facilita la instalación y ejecución de todo.
MavensMate incluye complementos para Sublime Text, Atom y Visual Studio Code(próximamente). Los complementos envían solicitudes al coordinador, como “compila este archivo”. El servidor de coordinación se encarga entonces de la comunicación con tu organización de Salesforce. Esto permite que MavensMate reutilice el sistema base común con varios IDE distintos sin tener que mantenerlos como versiones separadas. ¡DRY: no te repitas!
Muchos desarrolladores usan MavensMate como su entorno principal de desarrollo para Salesforce. Además, ¡MavensMate siempre busca colaboradores!
Leer más:
ECLIPSE (TAMBIÉN CONOCIDO COMO «FORCE.COM IDE»)
Probablemente lo conoces. Probablemente lo has usado. Tal vez tienes una opinión firme al respecto. “Force.com IDE” es un complemento de edición para Eclipse, desarrollado y mantenido por Salesforce. Es la implementación de referencia de un IDE de escritorio con muchas funciones útiles.
Por lo que nos cuentan, también es la herramienta de despliegue más popular.
Leer más:
Scripts y herramientas
HERRAMIENTA DE MIGRACIÓN ANT DE FORCE.COM
Force.com Migration Tool, que se ejecuta con Apache Ant y Java, es otra herramienta de despliegue popular que surgió en nuestras conversaciones. Force.com Migration Tool ayuda a desplegar metadatos entre distintos entornos de Salesforce. Salesforce la desarrolla y mantiene directamente. (Nota: técnicamente no es de código abierto, pero es una herramienta gratuita mantenida por Salesforce que vale la pena conocer).
En definitiva, Force.com Migration Tool es simplemente una CLI que te permite trabajar con la API de metadatos para realizar tareas como inspeccionar configuraciones, copiar entre organizaciones o recuperar y desplegar componentes.
Si quieres saber más, Iain Clements escribió una excelente publicación que presenta la herramienta de migración de Force.com para administradores de Salesforce. Está publicada en el Salesforce Ben blog, que en nuestra opinión ofrece mucho contenido valioso sobre Salesforce en general. Otra lectura muy recomendable de Jitendra Zaa es su Guía completa de implementación en Salesforce que ofrece un tutorial paso a paso para empezar.
Leer más:
PLUGIN DE JENKINS: SALESFORCE MIGRATION ASSISTANT
Para quienes usan Jenkins para las implementaciones en Salesforce, hay un plugin de Jenkins relativamente nuevo. El plugin Salesforce Migration Assistant implementa cambios de metadatos en organizaciones de Salesforce a partir de las diferencias entre commits en Git.
El plugin gestiona la ejecución de pruebas por ti y ejecuta tus pruebas unitarias de Apex cuando lo solicitas. También permite crear un «zip de reversión» si necesitas volver a una versión anterior del código fuente.
Todavía no es compatible con Lightning, ¡pero sigue siendo muy interesante y vale la pena conocerla!
Leer más:
DMC
Kevin O’Hara en Level Eleven creó una excelente herramienta de código abierto para el desarrollo en Salesforce llamada dmc. Está en beta, pero vale la pena conocerla.
Como explica brevemente el README del proyecto: «dmc es una herramienta de desarrollo multiplataforma con interfaz de línea de comandos para Salesforce.com». El objetivo del proyecto es simplificar considerablemente el trabajo con las API y los metadatos de Salesforce. La herramienta está diseñada para que trabajar con metadatos se sienta como realizar «operaciones en sistemas de archivos locales y remotos».
Esta es una excelente herramienta para desarrolladores que quieren trabajar principalmente desde la línea de comandos y buscan un enfoque de desarrollo más parecido al de Unix. ¡También es adecuada para un entorno de integración continua!
Leer más:
SOLENOPSIS (TAMBIÉN CONOCIDA COMO LA «HERRAMIENTA DE RED HAT»)
El equipo de Red Hat es un apasionado del código abierto y ha creado Solenopsis para el mundo. Solenopsis (el nombre del género de las hormigas rojas, en referencia a Red Hat y a la herramienta de migración Ant) es una interfaz de línea de comandos que te permite implementar código de Salesforce. Básicamente, combina algunos scripts de Ant y Python en una interfaz de línea de comandos simplificada.
Por ejemplo, si modificas, agregas o eliminas código Apex o Visualforce, Solenopsis puede generar automáticamente los manifiestos necesarios para la implementación. También puede ejecutar tus pruebas y te da cierta flexibilidad para elegir cuáles ejecutar.
Una de sus funciones más interesantes es que te permite generar informes que muestran las diferencias entre tus organizaciones de Salesforce.
Solenopsis existe desde 2013 y es una de las herramientas más antiguas del ecosistema. ¡Descúbrela!
Leer más:
- http://solenopsis.org/Solenopsis/
- https://github.com/solenopsis/Solenopsis
- http://blog.deadlypenguin.com/blog/tag/solenopsis
Otras herramientas interesantes
- https://github.com/amtrack/force-dev-tool
- https://jsforce.github.io/
- https://github.com/jsforce/jsforce
¿Olvidamos algo? Avísanos si falta tu herramienta de código abierto favorita para Salesforce. Puedes contactarnos en team@bluecanvas.io.
Un agradecimiento especial al MVP de Salesforce Anup Jadhav por sus comentarios sobre esta publicación.



