3. • Que es Salesforce DX ?
• Salesforce Extensions for VS Code
• Comandos del CLI
• Conectando a un Sandbox
• Org Explorer (beta), Lightning Explorer y Source Diff
• Creando Scratch Orgs
• Ejecutando Apex y SOQL usando el CLI
Agenda
4. Que es Salesforce DX?
Salesforce DX es un set de herramientas y
features de desarrollo de Salesforce, que
fueron pensadas para hacer el ciclo de
desarrollo usando metodologías Agile de
manera más sencilla y rápida.
Entre los features y herramientas incluye:
● Nueva estructura de proyecto
● Scratch Orgs
● Extension del CLI
● Plugins para el CLI
● Conectar a Sandboxes
Al incluir un CLI extensible esto abre las
puertas a muchas posibilidades:
● Ejecutar Tests
● Deploys mas facil
● Correr Queries
● Ejecutar Anonymous Apex
● Crear Scratch Orgs
● Automatizar (CD/CI)
5. Vamos a tener una serie de comandos para
interactuar con el org/scratch org. Estan
nombrados con el formato
namespace:topic:optionalsubtopic
:command
Podemos hacer:
sfdx force --help
Comandos del CLI
https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_intro.htm
6. Es posible tambien crear plugins para
salesforce DX de manera muy sencilla
usando typescript.
Esto genera un plugin template base que se
puede ejecutar usando
bin/run hello:org -h
Una vez que el plugin esta listo, lo podemos
conectar a nuestro SFDX usando:
sfdx plugins:link
Plugins
https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_intro.htm
7. Estructura de Proyecto
Ahora contamos con una nueva estructura de
proyecto y Source Format. Incluye un nuevo
set de archivos y extensiones distinto a lo que
se usaba anteriormente con la Metadata API
(Mavensmate).
Por ejemplo:
Ahora tiene una estructura mas intuitiva
https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_source_file_format.htm
8. Salesforce Extensions for VS Code
Provee varios features e integraciones para hacer el desarrollo mas sencillo desde VS Code:
• Integración con el CLI
• Apex, incluye code completion y syntax highlight (Usando el Apex Language Server)
• Apex Interactive Debugger
• Apex Replay Debugger
• Lightning Web Components
• Aura
• Visualforce
9. Salesforce Extensions for VS Code
El Org Explorer es uno de los features de las
extensiones, por ahora solo permite navegar
la metadata y bajar a nuestro local.
Este explorer funciona con sandboxes, dev
orgs. No esta disponible para scratch orgs.
Es importante aclarar que no actualiza el
package.xml que tengamos en el working
copy local.
Org Explorer
10. Salesforce Extensions for VS Code
El Lightning Explorer es otro de los features
de las extensiones. Nos permite tener una
vision global de todos los componentes aura
y lwc que hay en el org.
Se habilita desde las user settings o
editando el JSON de las settings de VS
Code.
Lightning Explorer
11. Salesforce Extensions for VS Code
Con el plugin de source diff, podemos ver si hay diferencias entre el archivo local que estamos
trabajando y lo que se encuentra en el org.
Este plugin funciona por archivo, no compara toda la metadata.
Source Diff
12. Salesforce DX
Para trabajar con Sandbox o Dev Org vamos a usar el método que llaman “Develop Against Any
Org”.
● Crear el Proyecto con Manifest (Package.xml)
○ Esto genera la estructura y un template del package.xml basico
● Autorizar el Org (sandbox, dev org, produccion)
● Editar el package.xml de ser necesario
● Retrieve from Org
● Y luego de hacer el trabajo, deploy to org
Al trabajar con este tipo de org, SFDX no tiene seguimiento del código, por lo que hay que tener
cuidado que deployamos, o usar plugins para chequear los archivos cambiados.
No detecta conflictos si hubo cambios en el org al momento del deploy
Conectando a un Sandbox o Dev Org (Demo)
13. Salesforce DX
Las scratch org son ambientes descartables con traqueo de codigo y metadata. Son
configurables, permitiendo emular distintas ediciones con diferentes features y configuraciones.
Se pueden compartir estas configuraciones con otros miembros del equipo asi todos usan el
mismo org como base para donde hacer los desarrollos.
Vamos a necesitar un Org con Dev Hub habilitado.
Disponible en: Salesforce Classic and Lightning Experience
Dev Hub disponible en: Developer, Enterprise, Performance, y Unlimited Editions
Scratch orgs disponible en: Developer, Enterprise, Group, y Professional Editions
Scratch Orgs
https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs.htm
14. Salesforce DX
Para crear scratch org de cero, podemos:
1. Autenticarse con el Dev Hub
2. Crear un nuevo Proyecto en VS Code
3. Editar (de ser necesario) el scratch-def con la configuración necesaria para el proyecto
4. Crear el scratch org
5. Asignarle un Alias fácil de identificar (recomendado)
6. Setear la validez del scratch org (de 1 a 30 dias)
7. Subir el código que tengamos o crear nuevo
O si ya existe un repo con código y scratch-def, podemos clonar el repo a nuestro local y a partir
de ese código crear un scratch org en nuestro dev hub.
Es importante aclarar que una vez pasado los días de validez del scratch org, la misma
automáticamente se marca para ser borrada y no se puede recuperar.
Creando Scratch Orgs (Demo)