SlideShare una empresa de Scribd logo
Salesforce DX
A closer look
Salesforce Engineer @
Sitetracker via BairesDev
federico.giust@icloud.com
@federicogiust
Lightning Specialist @
Altimetrik
Federico Giust Brahian Calo
• 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
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)
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
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
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
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
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
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
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
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)
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
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)
Referencias
https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_develop.htm
https://developer.salesforce.com/tools/vscode/articles/getting-started/install
http://montevideosdg.com
https://trailblazercommunitygroups.com/montevideo-uy-developers-group/
https://github.com/wadewegner/
https://marketplace.visualstudio.com/items?itemName=VignaeshRamA.sfdx-package-xml-generator
https://github.com/fedegiust/sfdx-git-deploy
Preguntas?
Para futuros eventos, no olviden registrarse en
montevideosdg.com
Gracias!!!

Más contenido relacionado

Similar a Salesforce DX: A closer look

Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
Jorge Antonio Linares Vera
 
Net Beans
Net BeansNet Beans
Net Beans
Pablo perez
 
CÓDIGOS ABIERTOS.pptx
CÓDIGOS ABIERTOS.pptxCÓDIGOS ABIERTOS.pptx
CÓDIGOS ABIERTOS.pptx
BritneyCano
 
CodeIgniter
CodeIgniterCodeIgniter
CodeIgniter
Anayely Priincess
 
Tutorial de eclipsee
Tutorial de eclipseeTutorial de eclipsee
Tutorial de eclipsee
javierot99
 
Fury devops conf (1)
Fury devops conf (1)Fury devops conf (1)
Fury devops conf (1)
Flavia Marinelli
 
Tutorial de eclipse_denisse
Tutorial de eclipse_denisseTutorial de eclipse_denisse
Tutorial de eclipse_denisse
denisse_98
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013
Rodolfo Finochietti
 
Depuración de aplicaciones en visual studio
Depuración de aplicaciones en visual studioDepuración de aplicaciones en visual studio
Depuración de aplicaciones en visual studio
Javier Hermoso Blanco
 
Ecosistema laravel
Ecosistema laravelEcosistema laravel
Ecosistema laravel
Peter
 
Testing & debugging lightning web components
Testing & debugging lightning web componentsTesting & debugging lightning web components
Testing & debugging lightning web components
Federico Giust
 
Framework Catalyst
Framework CatalystFramework Catalyst
Framework Catalyst
Eduardo Rafael Petla
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
Saviotec
 
Laravel vc
Laravel vcLaravel vc
Laravel vc
Victor Cusco
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
Javier Villegas
 
Germán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo FrameworkGermán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo Framework
Grupo PHP Argentina
 
.Net framework
.Net framework.Net framework

Similar a Salesforce DX: A closer look (20)

Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Net Beans
Net BeansNet Beans
Net Beans
 
CÓDIGOS ABIERTOS.pptx
CÓDIGOS ABIERTOS.pptxCÓDIGOS ABIERTOS.pptx
CÓDIGOS ABIERTOS.pptx
 
CodeIgniter
CodeIgniterCodeIgniter
CodeIgniter
 
Tutorial de eclipsee
Tutorial de eclipseeTutorial de eclipsee
Tutorial de eclipsee
 
Fury devops conf (1)
Fury devops conf (1)Fury devops conf (1)
Fury devops conf (1)
 
Tutorial de eclipse_denisse
Tutorial de eclipse_denisseTutorial de eclipse_denisse
Tutorial de eclipse_denisse
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013
 
Charla grails
Charla grailsCharla grails
Charla grails
 
Depuración de aplicaciones en visual studio
Depuración de aplicaciones en visual studioDepuración de aplicaciones en visual studio
Depuración de aplicaciones en visual studio
 
Ecosistema laravel
Ecosistema laravelEcosistema laravel
Ecosistema laravel
 
Testing & debugging lightning web components
Testing & debugging lightning web componentsTesting & debugging lightning web components
Testing & debugging lightning web components
 
Framework Catalyst
Framework CatalystFramework Catalyst
Framework Catalyst
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
 
Laravel vc
Laravel vcLaravel vc
Laravel vc
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
 
Germán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo FrameworkGermán Peraferrer: Cormo Framework
Germán Peraferrer: Cormo Framework
 
Cormo Framework
Cormo FrameworkCormo Framework
Cormo Framework
 
.Net framework
.Net framework.Net framework
.Net framework
 

Último

FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
JavierAlejosM
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
DeyvisPalomino2
 
Curso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorysCurso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorys
LuisPerezIgnacio1
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
UOC Estudios de Informática, Multimedia y Telecomunicación
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
SantosCatalinoOrozco
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
JhonatanOQuionesChoq
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
RobertRamos84
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LuisLobatoingaruca
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
everchanging2020
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
HaroldKewinCanaza1
 
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).docEjercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
LuisEnriqueCarboneDe
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptxDesbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
ValGS2
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
elvis2000x
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
GROVER MORENO
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 

Último (20)

FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
 
Curso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorysCurso Basico de DIgSILENT power factorys
Curso Basico de DIgSILENT power factorys
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
 
Bash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptxBash Script Programacion en la consola.pptx
Bash Script Programacion en la consola.pptx
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).docEjercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
Ejercicios-de-Divisibilidad-para-Primero-de-Primaria (3).doc
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptxDesbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
 
choro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiologíachoro ciclo de vida anatomía y fisiología
choro ciclo de vida anatomía y fisiología
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 

Salesforce DX: A closer look

  • 2. Salesforce Engineer @ Sitetracker via BairesDev federico.giust@icloud.com @federicogiust Lightning Specialist @ Altimetrik Federico Giust Brahian Calo
  • 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)
  • 17. Para futuros eventos, no olviden registrarse en montevideosdg.com Gracias!!!