SlideShare a Scribd company logo
1 of 62
Salesforce DX for Accidental
Admins
Can we steal some good things from developers?
@mhumpolec
Martin Humpolec, Senior Consultant
Forward-Looking Statements
Statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if
any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-
looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of
product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of
management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments
and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our
service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of
growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and
any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain,
and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling
non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the
financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form
10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the
Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may
not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently
available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Meet Martin Humpolec
Salesforce Consultant
Lightning Champion
Trailhead & Certification Addict
Prague Salesforce User Group Leader
CzechDreamin konference organizer
exDeveloper
Blogger: MartinHumpolec.cz
Twitter: @mhumpolec
Why adopt
What we
need to know
How to do it
Why steal knowledge from devs
It is good to have a backup
Be super quick
Transpone data in seconds
Import test data in seconds
Skip change sets
It is great to be able to roll back
What we need to learn
IDE
Interactive Development Environment
VCS aka GIT
Version Control System
CLIs
Salesforce CLI
• https://developer.salesforce.com/tools/sfdxcli
Git CLI
• https://git-scm.com/downloads
Command Line Interface
Scratch Orgs
{
"orgName": "Acme",
"country": "US",
"edition": "Enterprise",
"description": "Work Item #12345: add picklist to widget",
"hasSampleData": "true",
"features": ["MultiCurrency", "AuthorApex"],
"orgPreferences": {
"enabled": ["S1DesktopEnabled", "ChatterEnabled"],
"disabled": ["IsNameSuffixEnabled"]
}
}
Development Hub
Let‘s do it
Get/Enable Development Hub
Open a terminal and be like a dev
The structure is complex but simple
sfdx force:project:create -n Dreamforce18
Login to Dev Hub
sfdx force:auth:web:login -d -a DevHub
Login to Dev Hub
And Login to Your Instance
sfdx force:auth:web:login -r
https://test.salesforce.com -a MyOrg
Create a repository
Create a new project
• sfdx force:project:create -n Dreamforce18
• git init
• git remote add origin <vcs ssh url>
It is good to have a backup
It is good to have a backup
https://packagebuilder.herokuapp.com/
It is good to have a backup
https://packagebuilder.herokuapp.com/
Or create a package
It is good to have a backup
It is good to have a backup
https://packagebuilder.herokuapp.com/
It is good to have a backup
• sfdx force:mdapi:retrieve -r ./source -u MyOrg -k
./source/package.xml [-p PackageName]
• Unzip the downloaded zip file
Be super quick
Be super quick
Have package.xml with components you want
Be super quick (1)
Be super quick (1)
• sfdx force:mdapi:deploy -d ./source
Be super quick (2)
Be super quick (2)
• sfdx force:mdapi:convert -r ./source
• Update what you want to update right in the file
• sfdx force:source:convert -d ./source
• sfdx force:mdapi:deploy -d ./source [-o]
Be super quick (more friendly way?)
• sfdx force:org:create -f ./config/project-scratch-def.json -a
MyScratch
• sfdx force:source:push -g -f -u MyScratch
• sfdx force:org:open -u MyScratch
• Do changes in your org
• sfdx force:source:pull -u MyScratch
What can I put in the definition file?
AnalyticsSharingEnable
AsyncSaveEnabled
ChatterEnabled
DisableParallelApexTesting
EnhancedEmailEnabled
EventLogWaveIntegEnabled
LoginForensicsEnabled
NetworksEnabled
NotesReservedPref01
OfflineDraftsEnabled
PathAssistantsEnabled
S1DesktopEnabled
S1EncryptedStoragePref2
S1OfflinePref
SelfSetPasswordInApi
SendThroughGmailPref
SocialProfilesEnable
Translation
VoiceEnabled
API
AuthorApex
Communities
ContactsToMultipleAccounts
ContractApprovals
CascadeDelete
CustomerSelfService
CustomApps
CustomTabs
DebugApex
DefaultWorkflowUser
ExpandedSourceTracking
ExternalSharing (not available in Group Edition)
ForceComPlatform
MultiCurrency
PersonAccounts
SalesWave
LightningSalesConsole
LightningServiceConsole
ServiceCloud
ServiceWave
SiteDotCom
Sites
StateAndCountryPicklist
https://developer.salesforce.com/docs/atlas.en-
us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_def_file_config_values.htm
Transpone data
Transpone data in seconds
sfdx force:data:soql:query -q “SELECT Id, BillingCity FROM Account” -r csv
> accounts.csv
Update the file
sfdx force:data:bulk:upsert -s Account -f accounts.csv -i Id
Transpone data in seconds
sfdx force:data:soql:query -q “SELECT Id, BillingCity FROM Account” --json |
jsonv Id, BillingCity result.records |
cat ../data/header.csv - > updates.csv &&
sfdx force:data:bulk:upsert -s Account
-f updates.csv -i Id
If You Can Write a Formula Field You Can Use a Command Line, Petter Chittum,
London‘s Calling
Import test data in seconds
Import test data in seconds
Skip change sets
Skip change sets
• sfdx force:source:convert -d ./source
• sfdx force:mdapi:deploy -d ./source -u ProductionOrg
It is great to be able to roll back
It is great to be able to roll back
It is great to be able to roll back
• git revert <id>
• git push –f
OR
• git checkout <id> filename
Product Placement bluecanvas
Beware!
Product Placement
Product Placement
Product Placement
Product Placement
Product Placement
Resources
Resources
• https://trailhead.salesforce.com/en/trails/sfdx_get_started
• https://admin.salesforce.com/insight-salesforcedx-for-admins
• https://developer.salesforce.com/blogs/2018/02/getting-started-salesforce-dx-part-1-5.html
Fancy a sticker?
Ask question I‘m able to answer

More Related Content

What's hot

Salesforce Developer User Group Munich - October 2016
Salesforce Developer User Group Munich - October 2016Salesforce Developer User Group Munich - October 2016
Salesforce Developer User Group Munich - October 2016René Winkelmeyer
 
Coding Apex Triggers on Chatter Group Members
Coding Apex Triggers on Chatter Group MembersCoding Apex Triggers on Chatter Group Members
Coding Apex Triggers on Chatter Group MembersSalesforce Developers
 
Orchestrate all of your salesforce automation with the trigger actions framework
Orchestrate all of your salesforce automation with the trigger actions frameworkOrchestrate all of your salesforce automation with the trigger actions framework
Orchestrate all of your salesforce automation with the trigger actions frameworkSudipta Deb ☁
 
Coding for Declarative Customizations: How We Do It in Salesforce.com IT
Coding for Declarative Customizations: How We Do It in Salesforce.com ITCoding for Declarative Customizations: How We Do It in Salesforce.com IT
Coding for Declarative Customizations: How We Do It in Salesforce.com ITSalesforce Developers
 
sf tools from community
sf tools from communitysf tools from community
sf tools from communityDurgesh Dhoot
 
Build Together And Deliver Continuously With Salesforce DX
Build Together And Deliver Continuously With Salesforce DXBuild Together And Deliver Continuously With Salesforce DX
Build Together And Deliver Continuously With Salesforce DXLynette Lim
 
Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"Sudipta Deb ☁
 
Elevate workshop programmatic_2014
Elevate workshop programmatic_2014Elevate workshop programmatic_2014
Elevate workshop programmatic_2014David Scruggs
 
Salesforce DX Pilot Product Overview
Salesforce DX Pilot Product OverviewSalesforce DX Pilot Product Overview
Salesforce DX Pilot Product OverviewSalesforce Partners
 
Atl elevate programmatic developer slides
Atl elevate programmatic developer slidesAtl elevate programmatic developer slides
Atl elevate programmatic developer slidesDavid Scruggs
 
Integration with the Salesforce App Cloud - Amsterdam 2016
Integration with the Salesforce App Cloud - Amsterdam 2016Integration with the Salesforce App Cloud - Amsterdam 2016
Integration with the Salesforce App Cloud - Amsterdam 2016Samuel De Rycke
 
Automating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationAutomating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationSebastian Wagner
 
Salesforce DX with Visual Studio Code
Salesforce DX with Visual Studio CodeSalesforce DX with Visual Studio Code
Salesforce DX with Visual Studio CodeThierry TROUIN ☁
 
From Sandbox To Production: An Introduction to Salesforce Release Management
From Sandbox To Production: An Introduction to Salesforce Release ManagementFrom Sandbox To Production: An Introduction to Salesforce Release Management
From Sandbox To Production: An Introduction to Salesforce Release ManagementSalesforce Developers
 
ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017Salesforce Partners
 
Salesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinarSalesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinarSalesforce Developers
 
Coding Apps in the Cloud with Force.com - Part 2
Coding Apps in the Cloud with Force.com - Part 2Coding Apps in the Cloud with Force.com - Part 2
Coding Apps in the Cloud with Force.com - Part 2Salesforce Developers
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop LondonKeir Bowden
 

What's hot (20)

Salesforce Developer User Group Munich - October 2016
Salesforce Developer User Group Munich - October 2016Salesforce Developer User Group Munich - October 2016
Salesforce Developer User Group Munich - October 2016
 
Coding Apex Triggers on Chatter Group Members
Coding Apex Triggers on Chatter Group MembersCoding Apex Triggers on Chatter Group Members
Coding Apex Triggers on Chatter Group Members
 
Orchestrate all of your salesforce automation with the trigger actions framework
Orchestrate all of your salesforce automation with the trigger actions frameworkOrchestrate all of your salesforce automation with the trigger actions framework
Orchestrate all of your salesforce automation with the trigger actions framework
 
Coding for Declarative Customizations: How We Do It in Salesforce.com IT
Coding for Declarative Customizations: How We Do It in Salesforce.com ITCoding for Declarative Customizations: How We Do It in Salesforce.com IT
Coding for Declarative Customizations: How We Do It in Salesforce.com IT
 
Get Started with Salesforce DX!
Get Started with Salesforce DX!Get Started with Salesforce DX!
Get Started with Salesforce DX!
 
sf tools from community
sf tools from communitysf tools from community
sf tools from community
 
Build Together And Deliver Continuously With Salesforce DX
Build Together And Deliver Continuously With Salesforce DXBuild Together And Deliver Continuously With Salesforce DX
Build Together And Deliver Continuously With Salesforce DX
 
Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"Kitchener Developer Group's session on "All about events"
Kitchener Developer Group's session on "All about events"
 
Elevate workshop programmatic_2014
Elevate workshop programmatic_2014Elevate workshop programmatic_2014
Elevate workshop programmatic_2014
 
Salesforce DX Pilot Product Overview
Salesforce DX Pilot Product OverviewSalesforce DX Pilot Product Overview
Salesforce DX Pilot Product Overview
 
Atl elevate programmatic developer slides
Atl elevate programmatic developer slidesAtl elevate programmatic developer slides
Atl elevate programmatic developer slides
 
Integration with the Salesforce App Cloud - Amsterdam 2016
Integration with the Salesforce App Cloud - Amsterdam 2016Integration with the Salesforce App Cloud - Amsterdam 2016
Integration with the Salesforce App Cloud - Amsterdam 2016
 
Automating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationAutomating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous Integration
 
Salesforce DX with Visual Studio Code
Salesforce DX with Visual Studio CodeSalesforce DX with Visual Studio Code
Salesforce DX with Visual Studio Code
 
Adopting Salesforce DX
Adopting Salesforce DXAdopting Salesforce DX
Adopting Salesforce DX
 
From Sandbox To Production: An Introduction to Salesforce Release Management
From Sandbox To Production: An Introduction to Salesforce Release ManagementFrom Sandbox To Production: An Introduction to Salesforce Release Management
From Sandbox To Production: An Introduction to Salesforce Release Management
 
ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017ISV Tech Enablement Webinar April 2017
ISV Tech Enablement Webinar April 2017
 
Salesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinarSalesforce API Series: Release Management with the Metadata API webinar
Salesforce API Series: Release Management with the Metadata API webinar
 
Coding Apps in the Cloud with Force.com - Part 2
Coding Apps in the Cloud with Force.com - Part 2Coding Apps in the Cloud with Force.com - Part 2
Coding Apps in the Cloud with Force.com - Part 2
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop London
 

Similar to Salesforce DX for Accidential Admins

Apply the Salesforce CLI To Everyday Problems
Apply the Salesforce CLI To Everyday ProblemsApply the Salesforce CLI To Everyday Problems
Apply the Salesforce CLI To Everyday ProblemsPeter Chittum
 
Building Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APIBuilding Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APISalesforce Developers
 
Building Mobile Apps That Deliver Salesforce to Your Employees
Building Mobile Apps That Deliver Salesforce to Your EmployeesBuilding Mobile Apps That Deliver Salesforce to Your Employees
Building Mobile Apps That Deliver Salesforce to Your EmployeesSalesforce Developers
 
Data hero dream ole19
Data hero dream ole19Data hero dream ole19
Data hero dream ole19rikkehovgaard
 
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Sudipta Deb ☁
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Modern App Dev: Modular Development Strategies
Modern App Dev: Modular Development StrategiesModern App Dev: Modular Development Strategies
Modern App Dev: Modular Development StrategiesSalesforce Developers
 
Loading Data into the Analytics Cloud with Apex
Loading Data into the Analytics Cloud with ApexLoading Data into the Analytics Cloud with Apex
Loading Data into the Analytics Cloud with ApexSalesforce Developers
 
Route your triggers like a pro #DF18
Route your triggers like a pro #DF18Route your triggers like a pro #DF18
Route your triggers like a pro #DF18Daniel Stange
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforceMark Adcock
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressedrikkehovgaard
 
Df14 so many features dreamforce ’14
Df14 so many features dreamforce ’14Df14 so many features dreamforce ’14
Df14 so many features dreamforce ’14Mudit Agarwal
 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackCarolEnLaNube
 
TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018Keir Bowden
 
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...CodeScience
 
Introduction to Mulesoft and Salesforce Spring '19 release features
Introduction to Mulesoft and Salesforce Spring '19 release featuresIntroduction to Mulesoft and Salesforce Spring '19 release features
Introduction to Mulesoft and Salesforce Spring '19 release featuresBordeaux Salesforce Developer Group
 
Planning Your Migration to the Lightning Experience
Planning Your Migration to the Lightning ExperiencePlanning Your Migration to the Lightning Experience
Planning Your Migration to the Lightning ExperienceShell Black
 

Similar to Salesforce DX for Accidential Admins (20)

Apply the Salesforce CLI To Everyday Problems
Apply the Salesforce CLI To Everyday ProblemsApply the Salesforce CLI To Everyday Problems
Apply the Salesforce CLI To Everyday Problems
 
Building Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime APIBuilding Dynamic UI with Visual Workflow Runtime API
Building Dynamic UI with Visual Workflow Runtime API
 
Building Mobile Apps That Deliver Salesforce to Your Employees
Building Mobile Apps That Deliver Salesforce to Your EmployeesBuilding Mobile Apps That Deliver Salesforce to Your Employees
Building Mobile Apps That Deliver Salesforce to Your Employees
 
Data hero dream ole19
Data hero dream ole19Data hero dream ole19
Data hero dream ole19
 
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
Kitchener Salesforce Developer Group Event - Introduction to dev ops with Sal...
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Modern App Dev: Modular Development Strategies
Modern App Dev: Modular Development StrategiesModern App Dev: Modular Development Strategies
Modern App Dev: Modular Development Strategies
 
Introduction to Force.com
Introduction to Force.comIntroduction to Force.com
Introduction to Force.com
 
Loading Data into the Analytics Cloud with Apex
Loading Data into the Analytics Cloud with ApexLoading Data into the Analytics Cloud with Apex
Loading Data into the Analytics Cloud with Apex
 
Route your triggers like a pro #DF18
Route your triggers like a pro #DF18Route your triggers like a pro #DF18
Route your triggers like a pro #DF18
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressed
 
Df14 so many features dreamforce ’14
Df14 so many features dreamforce ’14Df14 so many features dreamforce ’14
Df14 so many features dreamforce ’14
 
Elevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance TrackElevate Madrid Essentials - Advance Track
Elevate Madrid Essentials - Advance Track
 
TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018
 
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...
Wrestling Alligators: How Salesforce Partners Can Increase Close Rates & Deli...
 
Force.com Friday - Intro to Visualforce
Force.com Friday - Intro to VisualforceForce.com Friday - Intro to Visualforce
Force.com Friday - Intro to Visualforce
 
Introduction to Mulesoft and Salesforce Spring '19 release features
Introduction to Mulesoft and Salesforce Spring '19 release featuresIntroduction to Mulesoft and Salesforce Spring '19 release features
Introduction to Mulesoft and Salesforce Spring '19 release features
 
Planning Your Migration to the Lightning Experience
Planning Your Migration to the Lightning ExperiencePlanning Your Migration to the Lightning Experience
Planning Your Migration to the Lightning Experience
 
Tdxgg18 summary presentation
Tdxgg18 summary presentationTdxgg18 summary presentation
Tdxgg18 summary presentation
 

More from Martin Humpolec

Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
The invisible elephant in PwC
The invisible elephant in PwCThe invisible elephant in PwC
The invisible elephant in PwCMartin Humpolec
 
Big data are here, how they can help you
Big data are here, how they can help youBig data are here, how they can help you
Big data are here, how they can help youMartin Humpolec
 
Salesforce Federated search
Salesforce Federated searchSalesforce Federated search
Salesforce Federated searchMartin Humpolec
 
8 Things I Learnt While Implementing Salesforce Communities | Surf force 2017
8 Things I Learnt While Implementing Salesforce Communities | Surf force 20178 Things I Learnt While Implementing Salesforce Communities | Surf force 2017
8 Things I Learnt While Implementing Salesforce Communities | Surf force 2017Martin Humpolec
 
Jak využít Salesforce.com pro lepší fundraising?
Jak využít Salesforce.com pro lepší fundraising?Jak využít Salesforce.com pro lepší fundraising?
Jak využít Salesforce.com pro lepší fundraising?Martin Humpolec
 
Vyúčtování mobilních telefonů
Vyúčtování mobilních telefonůVyúčtování mobilních telefonů
Vyúčtování mobilních telefonůMartin Humpolec
 
David pomáhá goliášům
David pomáhá goliášůmDavid pomáhá goliášům
David pomáhá goliášůmMartin Humpolec
 
Is K2 Nejsou Jen Doklady
Is K2 Nejsou Jen DokladyIs K2 Nejsou Jen Doklady
Is K2 Nejsou Jen DokladyMartin Humpolec
 
Novinky Lotus Notes 7 pro uživatele
Novinky Lotus Notes 7 pro uživateleNovinky Lotus Notes 7 pro uživatele
Novinky Lotus Notes 7 pro uživateleMartin Humpolec
 

More from Martin Humpolec (20)

Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
The invisible elephant in PwC
The invisible elephant in PwCThe invisible elephant in PwC
The invisible elephant in PwC
 
Big data are here, how they can help you
Big data are here, how they can help youBig data are here, how they can help you
Big data are here, how they can help you
 
Salesforce Federated search
Salesforce Federated searchSalesforce Federated search
Salesforce Federated search
 
8 Things I Learnt While Implementing Salesforce Communities | Surf force 2017
8 Things I Learnt While Implementing Salesforce Communities | Surf force 20178 Things I Learnt While Implementing Salesforce Communities | Surf force 2017
8 Things I Learnt While Implementing Salesforce Communities | Surf force 2017
 
Jak využít Salesforce.com pro lepší fundraising?
Jak využít Salesforce.com pro lepší fundraising?Jak využít Salesforce.com pro lepší fundraising?
Jak využít Salesforce.com pro lepší fundraising?
 
Nákupní požadavky
Nákupní požadavkyNákupní požadavky
Nákupní požadavky
 
Snídaně s BOSSem
Snídaně s BOSSemSnídaně s BOSSem
Snídaně s BOSSem
 
Vyúčtování mobilních telefonů
Vyúčtování mobilních telefonůVyúčtování mobilních telefonů
Vyúčtování mobilních telefonů
 
Dokumentové moduly
Dokumentové modulyDokumentové moduly
Dokumentové moduly
 
David pomáhá goliášům
David pomáhá goliášůmDavid pomáhá goliášům
David pomáhá goliášům
 
SharePoint a aplikace
SharePoint a aplikaceSharePoint a aplikace
SharePoint a aplikace
 
Boss Prezentace
Boss PrezentaceBoss Prezentace
Boss Prezentace
 
Is K2 Nejsou Jen Doklady
Is K2 Nejsou Jen DokladyIs K2 Nejsou Jen Doklady
Is K2 Nejsou Jen Doklady
 
Praktické zkušenosti
Praktické zkušenostiPraktické zkušenosti
Praktické zkušenosti
 
New Focus - co děláme
New Focus - co dělámeNew Focus - co děláme
New Focus - co děláme
 
Prezentace Lotus Notes
Prezentace Lotus NotesPrezentace Lotus Notes
Prezentace Lotus Notes
 
Lotus Notes 7
Lotus Notes 7Lotus Notes 7
Lotus Notes 7
 
Správa dokumentů
Správa dokumentůSpráva dokumentů
Správa dokumentů
 
Novinky Lotus Notes 7 pro uživatele
Novinky Lotus Notes 7 pro uživateleNovinky Lotus Notes 7 pro uživatele
Novinky Lotus Notes 7 pro uživatele
 

Recently uploaded

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Recently uploaded (20)

Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

Salesforce DX for Accidential Admins

  • 1. Salesforce DX for Accidental Admins Can we steal some good things from developers? @mhumpolec Martin Humpolec, Senior Consultant
  • 2. Forward-Looking Statements Statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward- looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. Meet Martin Humpolec Salesforce Consultant Lightning Champion Trailhead & Certification Addict Prague Salesforce User Group Leader CzechDreamin konference organizer exDeveloper Blogger: MartinHumpolec.cz Twitter: @mhumpolec
  • 4.
  • 5. Why adopt What we need to know How to do it
  • 7. It is good to have a backup
  • 10. Import test data in seconds
  • 12. It is great to be able to roll back
  • 13. What we need to learn
  • 15. VCS aka GIT Version Control System
  • 16. CLIs Salesforce CLI • https://developer.salesforce.com/tools/sfdxcli Git CLI • https://git-scm.com/downloads Command Line Interface
  • 17. Scratch Orgs { "orgName": "Acme", "country": "US", "edition": "Enterprise", "description": "Work Item #12345: add picklist to widget", "hasSampleData": "true", "features": ["MultiCurrency", "AuthorApex"], "orgPreferences": { "enabled": ["S1DesktopEnabled", "ChatterEnabled"], "disabled": ["IsNameSuffixEnabled"] } }
  • 21. Open a terminal and be like a dev
  • 22. The structure is complex but simple sfdx force:project:create -n Dreamforce18
  • 23. Login to Dev Hub sfdx force:auth:web:login -d -a DevHub
  • 25. And Login to Your Instance sfdx force:auth:web:login -r https://test.salesforce.com -a MyOrg
  • 27. Create a new project • sfdx force:project:create -n Dreamforce18 • git init • git remote add origin <vcs ssh url>
  • 28. It is good to have a backup
  • 29. It is good to have a backup https://packagebuilder.herokuapp.com/
  • 30. It is good to have a backup https://packagebuilder.herokuapp.com/
  • 31. Or create a package
  • 32. It is good to have a backup
  • 33. It is good to have a backup https://packagebuilder.herokuapp.com/
  • 34. It is good to have a backup • sfdx force:mdapi:retrieve -r ./source -u MyOrg -k ./source/package.xml [-p PackageName] • Unzip the downloaded zip file
  • 37. Have package.xml with components you want
  • 39. Be super quick (1) • sfdx force:mdapi:deploy -d ./source
  • 41. Be super quick (2) • sfdx force:mdapi:convert -r ./source • Update what you want to update right in the file • sfdx force:source:convert -d ./source • sfdx force:mdapi:deploy -d ./source [-o]
  • 42. Be super quick (more friendly way?) • sfdx force:org:create -f ./config/project-scratch-def.json -a MyScratch • sfdx force:source:push -g -f -u MyScratch • sfdx force:org:open -u MyScratch • Do changes in your org • sfdx force:source:pull -u MyScratch
  • 43. What can I put in the definition file? AnalyticsSharingEnable AsyncSaveEnabled ChatterEnabled DisableParallelApexTesting EnhancedEmailEnabled EventLogWaveIntegEnabled LoginForensicsEnabled NetworksEnabled NotesReservedPref01 OfflineDraftsEnabled PathAssistantsEnabled S1DesktopEnabled S1EncryptedStoragePref2 S1OfflinePref SelfSetPasswordInApi SendThroughGmailPref SocialProfilesEnable Translation VoiceEnabled API AuthorApex Communities ContactsToMultipleAccounts ContractApprovals CascadeDelete CustomerSelfService CustomApps CustomTabs DebugApex DefaultWorkflowUser ExpandedSourceTracking ExternalSharing (not available in Group Edition) ForceComPlatform MultiCurrency PersonAccounts SalesWave LightningSalesConsole LightningServiceConsole ServiceCloud ServiceWave SiteDotCom Sites StateAndCountryPicklist https://developer.salesforce.com/docs/atlas.en- us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_def_file_config_values.htm
  • 45. Transpone data in seconds sfdx force:data:soql:query -q “SELECT Id, BillingCity FROM Account” -r csv > accounts.csv Update the file sfdx force:data:bulk:upsert -s Account -f accounts.csv -i Id
  • 46. Transpone data in seconds sfdx force:data:soql:query -q “SELECT Id, BillingCity FROM Account” --json | jsonv Id, BillingCity result.records | cat ../data/header.csv - > updates.csv && sfdx force:data:bulk:upsert -s Account -f updates.csv -i Id If You Can Write a Formula Field You Can Use a Command Line, Petter Chittum, London‘s Calling
  • 47. Import test data in seconds
  • 48. Import test data in seconds
  • 50. Skip change sets • sfdx force:source:convert -d ./source • sfdx force:mdapi:deploy -d ./source -u ProductionOrg
  • 51. It is great to be able to roll back
  • 52. It is great to be able to roll back
  • 53. It is great to be able to roll back • git revert <id> • git push –f OR • git checkout <id> filename
  • 62. Fancy a sticker? Ask question I‘m able to answer

Editor's Notes

  1. Talk Track: Before I begin, just a quick note that when considering future developments, you should always base your purchasing decisions on what is currently available.
  2. I started my development carreer on Lotus Notes, which was similar to Salesforce back then. No versioning, production was source of truth. Got used to it
  3. Robust, collaborative, source driven development, modern development technique, source of truth, variety of different tools, extensible tools, plugins, command line, continuous integration
  4. Or copy fields between objects – so easy and quick
  5. Used rather reports and import wizard, but there is a quicker way
  6. Import test data which are related to each other is a lot of work. DX can take some work off you
  7. It takes long, you cannot push all changes in one change set, it is hard to maintain when having a lot of changes, ugly as you need to create them in each environment
  8. Anyone with me, that these are your daily struggles and would be great to do them quicker?
  9. I used Eclipse before as I had an experience with it, but as CLI isn‘t supported anymore I‘m moving to VS Code (free) This thing is to let you edit the files you have offline from Salesforce
  10. Github, Bitbucket, Microsoft Team Foundation This thing is to version all the things you did, so you can see all those commits and roll back when you need to Continuous integration for bigger teams
  11. These things communicate with the webservers and do all those things you need
  12. orgPreferences, quick to create, limited lifetime
  13. Just one org which knows about all those other org, so you don‘t have to login again and again
  14. So we installed everything, know some new words and now let‘s put it in action
  15. Have source code online is nice to have, you can survive without it. Bitbucket, Github and probably plenty others
  16. Or create a package of all your components
  17. Or create a package of all your components
  18. You get a xml with all your components
  19. But you rather want to have the same file with asterix. And if you want to use it for work include just components you work with
  20. If you have a package then include –p PackageName in the retrieve command
  21. More granular, metadata vs dx data
  22. You get a xml with all your components
  23. More granular, metadata vs dx data
  24. -o means ignore errors
  25. Why would you do that? Quick copy & paste of fields between objects, search and replace to update list views, …
  26. Or copy fields between objects – so easy and quick Start with a convert source, as it is way easier then -o means ignore errors
  27. -f defines path to definition file, where you can „shape“ your scratch org
  28. A lot, there are features I don‘t even know they exist
  29. Jsonv convert the json file to csv file, cat add a header already specified in the header.csv file Or sfdx force:data:soql:query -q "SELECT BillingCity, Id from Account" -u MyOrg -r csv | % {$_ -replace "BillingCity", "OtherCity"} > updates.csv | sfdx force:data:bulk:upsert -s Account -f updates.csv -i Id -u MyOrg
  30. Limit 200 records
  31. You already know the rutine – convert, deploy
  32. I usually do it manually, but this should work. And some dev will probably kill me You can either revert the whole commit or specific file (2nd option)
  33. I usually do it manually, but this should work. And some dev will probably kill me You can either revert the whole commit or specific file (2nd option)