SlideShare a Scribd company logo
1 of 11
1
Svatopluk Sejkora
CzechDreamin
SFDX - Myth Buster
What you need to be careful about
2
CzechDreamin
3
Today’s Items
01 02 03
How to work as an admin on SFDX project Profiles <3 Delta package.xml for Deployment
04 05 06
Anyone changing metadata outside
of agreed process
SFDX metadata specifics Bonus
4
Admin, Scratch Orgs and daily work
It might sound intimidating, to start using console and commands and how the scratch org is
even created.
It is actually very simple, when you work closely within the team!
• Utilize a plugin to make scratch org creation simple (envelope multiple
commands)
► https://www.npmjs.com/package/ci-sfdx-plugin
• Make sure all needed settings are applied and scratch org is ready to use once
created
► You can find basic scratch org setup on the link below
► https://github.com/SvataSejkora/default-scratch-org-template
• Renaming / Deleting items
► Search your repository for any instances, usual suspects:
o Profiles
o Permission Sets
o Translations
o Record Types
5
Profiles
When possible, do not use Profiles to anything besides:
• Page layout assignment
• Default app assignment
• Desktop client access
• Login Hours
• Login IP Ranges
• Session settings
• Password policies
• Delegated authentication
• Organization-Wide Email Addresses
• Default record type per object
• Profile specific search layouts
Reasons:
• To get whole profile you always need to include everything when downloading
metadata
• SFDX pull can’t do it automatically
• In large orgs profiles can have 15K+ lines easily
What to do?
• Go with Permission Sets and Permission Set Groups
• This is going to be future anyways, but using source control is speeding the decision a
lot
6
Package.xml delta
You never want to deploy all your metadata every time
• It increases time to deploy
• It increases potential of error
There are plugins you can use, we are using sfdx-git-delta
https://github.com/scolladon/sfdx-git-delta
It works with GIT and will create package.xml from one commit to second. Usually,
it is used to current HEAD from last successful commit.
Does support generation from between of any 2 commits and can be used for
redeployment of specific items.
Either manual or automatic deployments using this tool are available and picking
one will be based on your project and maturity.
7
Changes outside of expected places
No matter how robust process you have established at your project, there will always be
situations when someone would make changes directly in UAT, Production or any other
restricted environment.
• Required minimum is to obtain information about the changes!
► Although there are options how to handle these situations without any
knowledge, these are not covered in this session.
SFDX has your back covered. You can, quite easily, obtain metadata from any connected
org to your local repository:
• sfdx force:source:retrieve -u connectedOrgName -m
“MetadataType:MetadataName“
► -m “Layout:Account-Account Layout“
► -m “CustomMetadata:MetadataName.MetadataRecordName“
► -m „CustomLabels“
• sfdx force:source:retrieve -u connectedOrgName -p
src/main/default/objects/Lead/
► Will download all items from within given folder
8
SFDX metadata specifics
It would be great to work with all metadata in the same way, but unfortunately it is not possible.
• Custom Labels – always obtain all of them using *, otherwise you will need to merge a lot (fixed in
the latest version)
• Record Types – when pulling, include fields you have modified (fixed in the latest version)
• Workflow Definition – should not be used, not supported anymore
• Search settings – when you delete object you need to delete from here as well. Sometimes you will
get a 0 in “resultPerPageCount” it can’t be zero for push.
• Never include settings you are not using, they can be sources of many errors
• Enabling tracking history for Record Type does not work. There is an error when pushing. Needs to
be enabled manually if needed
• Relate multiple contacts to activities cannot be reliable enabled in scratch orgs (as of May 2022)
• AppMenus – do not include standard one, they cannot be reliable deployed. Also app switcher
cannot be modified via API, so do not include it. Consider always using custom apps for you
projects, and modifying app switcher manually.
• Reports and dashboards – it is fine having them in source but you need to follow proper naming of
your users for sharing (prod username + “.” + sandbox name. For initial scratch creation these names
will be adapted to scratch org user name. This will not work for any subsequent pushes and will
result in failure. Same goes for any user name reference in metadata (queues, flows)
9
How to work with SF features and metadata
You should be careful with your source control content.
You need to have there anything you modified but items you are not using, do not need to be
there. The reason is; they will be there when org or scratch is created as SF is providing
templates, including standard items, for us.
• There are items that you do not want to have in source
► Scratch org related items – they can exist only in production orgs, there is no
advantage of having them (hub, Active Scratch Org)
► Items, you do not use within your implementation (ideas, solutions, knowledge,
work…)
► Always try to minimize number of metadata you have (it influences time of scratch
creation)
• How to enable scratches with
► Knowledge
► Community licenses
10
Any Questions?
11
Thank you! #CD22

More Related Content

Similar to SFDX – Myth Buster, Svatopluk Sejkora

Distributed Erlang Systems In Operation
Distributed Erlang Systems In OperationDistributed Erlang Systems In Operation
Distributed Erlang Systems In Operation
Andy Gross
 

Similar to SFDX – Myth Buster, Svatopluk Sejkora (20)

Django at Scale
Django at ScaleDjango at Scale
Django at Scale
 
Puppetizing Your Organization
Puppetizing Your OrganizationPuppetizing Your Organization
Puppetizing Your Organization
 
Go Hack Yourself - 10 Pen Test Tactics for Blue Teamers
Go Hack Yourself - 10 Pen Test Tactics for Blue TeamersGo Hack Yourself - 10 Pen Test Tactics for Blue Teamers
Go Hack Yourself - 10 Pen Test Tactics for Blue Teamers
 
cf.Objective() 2017 - Design patterns - Brad Wood
cf.Objective() 2017 - Design patterns - Brad Woodcf.Objective() 2017 - Design patterns - Brad Wood
cf.Objective() 2017 - Design patterns - Brad Wood
 
DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015
 
Performant Django - Ara Anjargolian
Performant Django - Ara AnjargolianPerformant Django - Ara Anjargolian
Performant Django - Ara Anjargolian
 
DN18 | The Data Janitor Returns | Daniel Molnar | Oberlo/Shopify
DN18 | The Data Janitor Returns | Daniel Molnar | Oberlo/Shopify DN18 | The Data Janitor Returns | Daniel Molnar | Oberlo/Shopify
DN18 | The Data Janitor Returns | Daniel Molnar | Oberlo/Shopify
 
The Data Janitor Returns | Daniel Molnar | DN18
The Data Janitor Returns | Daniel Molnar | DN18The Data Janitor Returns | Daniel Molnar | DN18
The Data Janitor Returns | Daniel Molnar | DN18
 
Design patterns - Common Solutions to Common Problems - Brad Wood
Design patterns -  Common Solutions to Common Problems - Brad WoodDesign patterns -  Common Solutions to Common Problems - Brad Wood
Design patterns - Common Solutions to Common Problems - Brad Wood
 
Flamingo Carotene
Flamingo CaroteneFlamingo Carotene
Flamingo Carotene
 
Ember-CLI Blueprints for fun and profit
Ember-CLI Blueprints for fun and profitEmber-CLI Blueprints for fun and profit
Ember-CLI Blueprints for fun and profit
 
Distributed Erlang Systems In Operation
Distributed Erlang Systems In OperationDistributed Erlang Systems In Operation
Distributed Erlang Systems In Operation
 
OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...
OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...
OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...
 
Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1Introduction to the intermediate Python - v1.1
Introduction to the intermediate Python - v1.1
 
How to Achieve Scale with MongoDB
How to Achieve Scale with MongoDBHow to Achieve Scale with MongoDB
How to Achieve Scale with MongoDB
 
From SaltStack to Puppet and beyond...
From SaltStack to Puppet and beyond...From SaltStack to Puppet and beyond...
From SaltStack to Puppet and beyond...
 
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Performance Tuning -  Memory leaks, Thread deadlocks, JDK toolsPerformance Tuning -  Memory leaks, Thread deadlocks, JDK tools
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
 
Taboola's experience with Apache Spark (presentation @ Reversim 2014)
Taboola's experience with Apache Spark (presentation @ Reversim 2014)Taboola's experience with Apache Spark (presentation @ Reversim 2014)
Taboola's experience with Apache Spark (presentation @ Reversim 2014)
 
Deployer
DeployerDeployer
Deployer
 
Coding for production
Coding for productionCoding for production
Coding for production
 

More from CzechDreamin

More from CzechDreamin (20)

Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...
Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...
Salesforce Forecasting: Evolution, Implementation and Best Practices, Christi...
 
Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...
Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...
Supercharge Salesforce Marketing Cloud: The Ultimate Apps Guide, Cyril Louis ...
 
How we should include Devops Center to get happy developers?, David Fernandez...
How we should include Devops Center to get happy developers?, David Fernandez...How we should include Devops Center to get happy developers?, David Fernandez...
How we should include Devops Center to get happy developers?, David Fernandez...
 
Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...
Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...
Streamline Your Integration with Salesforce’s Composite API: A Consultant’s G...
 
Architecting for Analytics, Aaron Crear
Architecting for Analytics, Aaron CrearArchitecting for Analytics, Aaron Crear
Architecting for Analytics, Aaron Crear
 
Ape to API, Filip Dousek
Ape to API, Filip DousekApe to API, Filip Dousek
Ape to API, Filip Dousek
 
Push Upgrades, The last mile of Salesforce DevOps, Manuel Moya
Push Upgrades, The last mile of Salesforce DevOps, Manuel MoyaPush Upgrades, The last mile of Salesforce DevOps, Manuel Moya
Push Upgrades, The last mile of Salesforce DevOps, Manuel Moya
 
How do you know you’re solving the right problem? Design Thinking for Salesfo...
How do you know you’re solving the right problem? Design Thinking for Salesfo...How do you know you’re solving the right problem? Design Thinking for Salesfo...
How do you know you’re solving the right problem? Design Thinking for Salesfo...
 
ChatGPT … How Does it Flow?, Mark Jones
ChatGPT … How Does it Flow?, Mark JonesChatGPT … How Does it Flow?, Mark Jones
ChatGPT … How Does it Flow?, Mark Jones
 
Real-time communication with Account Engagement (Pardot). Marketers meet deve...
Real-time communication with Account Engagement (Pardot). Marketers meet deve...Real-time communication with Account Engagement (Pardot). Marketers meet deve...
Real-time communication with Account Engagement (Pardot). Marketers meet deve...
 
Black Hat Session: Exploring and Exploiting Aura based Experiences, Christian...
Black Hat Session: Exploring and Exploiting Aura based Experiences, Christian...Black Hat Session: Exploring and Exploiting Aura based Experiences, Christian...
Black Hat Session: Exploring and Exploiting Aura based Experiences, Christian...
 
Sales methodology for Salesforce Opportunity, Georgy Avilov
Sales methodology for Salesforce Opportunity, Georgy AvilovSales methodology for Salesforce Opportunity, Georgy Avilov
Sales methodology for Salesforce Opportunity, Georgy Avilov
 
5 key ideas for robust and flexible REST API integrations with Apex, Lucian M...
5 key ideas for robust and flexible REST API integrations with Apex, Lucian M...5 key ideas for robust and flexible REST API integrations with Apex, Lucian M...
5 key ideas for robust and flexible REST API integrations with Apex, Lucian M...
 
Report & Dashboard REST API : Get your report accessible anywhere !, Romain Q...
Report & Dashboard REST API : Get your report accessible anywhere !, Romain Q...Report & Dashboard REST API : Get your report accessible anywhere !, Romain Q...
Report & Dashboard REST API : Get your report accessible anywhere !, Romain Q...
 
No Such Thing as Best Practice in Design, Nati Asher and Pat Fragoso
No Such Thing as Best Practice in Design, Nati Asher and Pat FragosoNo Such Thing as Best Practice in Design, Nati Asher and Pat Fragoso
No Such Thing as Best Practice in Design, Nati Asher and Pat Fragoso
 
Why do you Need to Migrate to Salesforce Flow?, Andrew Cook
Why do you Need to Migrate to Salesforce Flow?, Andrew CookWhy do you Need to Migrate to Salesforce Flow?, Andrew Cook
Why do you Need to Migrate to Salesforce Flow?, Andrew Cook
 
Be kind to your future admin self, Silvia Denaro & Nathaniel Sombu
Be kind to your future admin self, Silvia Denaro & Nathaniel SombuBe kind to your future admin self, Silvia Denaro & Nathaniel Sombu
Be kind to your future admin self, Silvia Denaro & Nathaniel Sombu
 
Monitoring Automation Performance in Marketing Cloud Engagement, Daniela Vrbk...
Monitoring Automation Performance in Marketing Cloud Engagement, Daniela Vrbk...Monitoring Automation Performance in Marketing Cloud Engagement, Daniela Vrbk...
Monitoring Automation Performance in Marketing Cloud Engagement, Daniela Vrbk...
 
The minimum-profile approach – the modern way to design an efficient security...
The minimum-profile approach – the modern way to design an efficient security...The minimum-profile approach – the modern way to design an efficient security...
The minimum-profile approach – the modern way to design an efficient security...
 
Restriction Rules – The Whole Picture, Louise Lockie
Restriction Rules – The Whole Picture, Louise LockieRestriction Rules – The Whole Picture, Louise Lockie
Restriction Rules – The Whole Picture, Louise Lockie
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 

SFDX – Myth Buster, Svatopluk Sejkora

  • 1. 1 Svatopluk Sejkora CzechDreamin SFDX - Myth Buster What you need to be careful about
  • 3. 3 Today’s Items 01 02 03 How to work as an admin on SFDX project Profiles <3 Delta package.xml for Deployment 04 05 06 Anyone changing metadata outside of agreed process SFDX metadata specifics Bonus
  • 4. 4 Admin, Scratch Orgs and daily work It might sound intimidating, to start using console and commands and how the scratch org is even created. It is actually very simple, when you work closely within the team! • Utilize a plugin to make scratch org creation simple (envelope multiple commands) ► https://www.npmjs.com/package/ci-sfdx-plugin • Make sure all needed settings are applied and scratch org is ready to use once created ► You can find basic scratch org setup on the link below ► https://github.com/SvataSejkora/default-scratch-org-template • Renaming / Deleting items ► Search your repository for any instances, usual suspects: o Profiles o Permission Sets o Translations o Record Types
  • 5. 5 Profiles When possible, do not use Profiles to anything besides: • Page layout assignment • Default app assignment • Desktop client access • Login Hours • Login IP Ranges • Session settings • Password policies • Delegated authentication • Organization-Wide Email Addresses • Default record type per object • Profile specific search layouts Reasons: • To get whole profile you always need to include everything when downloading metadata • SFDX pull can’t do it automatically • In large orgs profiles can have 15K+ lines easily What to do? • Go with Permission Sets and Permission Set Groups • This is going to be future anyways, but using source control is speeding the decision a lot
  • 6. 6 Package.xml delta You never want to deploy all your metadata every time • It increases time to deploy • It increases potential of error There are plugins you can use, we are using sfdx-git-delta https://github.com/scolladon/sfdx-git-delta It works with GIT and will create package.xml from one commit to second. Usually, it is used to current HEAD from last successful commit. Does support generation from between of any 2 commits and can be used for redeployment of specific items. Either manual or automatic deployments using this tool are available and picking one will be based on your project and maturity.
  • 7. 7 Changes outside of expected places No matter how robust process you have established at your project, there will always be situations when someone would make changes directly in UAT, Production or any other restricted environment. • Required minimum is to obtain information about the changes! ► Although there are options how to handle these situations without any knowledge, these are not covered in this session. SFDX has your back covered. You can, quite easily, obtain metadata from any connected org to your local repository: • sfdx force:source:retrieve -u connectedOrgName -m “MetadataType:MetadataName“ ► -m “Layout:Account-Account Layout“ ► -m “CustomMetadata:MetadataName.MetadataRecordName“ ► -m „CustomLabels“ • sfdx force:source:retrieve -u connectedOrgName -p src/main/default/objects/Lead/ ► Will download all items from within given folder
  • 8. 8 SFDX metadata specifics It would be great to work with all metadata in the same way, but unfortunately it is not possible. • Custom Labels – always obtain all of them using *, otherwise you will need to merge a lot (fixed in the latest version) • Record Types – when pulling, include fields you have modified (fixed in the latest version) • Workflow Definition – should not be used, not supported anymore • Search settings – when you delete object you need to delete from here as well. Sometimes you will get a 0 in “resultPerPageCount” it can’t be zero for push. • Never include settings you are not using, they can be sources of many errors • Enabling tracking history for Record Type does not work. There is an error when pushing. Needs to be enabled manually if needed • Relate multiple contacts to activities cannot be reliable enabled in scratch orgs (as of May 2022) • AppMenus – do not include standard one, they cannot be reliable deployed. Also app switcher cannot be modified via API, so do not include it. Consider always using custom apps for you projects, and modifying app switcher manually. • Reports and dashboards – it is fine having them in source but you need to follow proper naming of your users for sharing (prod username + “.” + sandbox name. For initial scratch creation these names will be adapted to scratch org user name. This will not work for any subsequent pushes and will result in failure. Same goes for any user name reference in metadata (queues, flows)
  • 9. 9 How to work with SF features and metadata You should be careful with your source control content. You need to have there anything you modified but items you are not using, do not need to be there. The reason is; they will be there when org or scratch is created as SF is providing templates, including standard items, for us. • There are items that you do not want to have in source ► Scratch org related items – they can exist only in production orgs, there is no advantage of having them (hub, Active Scratch Org) ► Items, you do not use within your implementation (ideas, solutions, knowledge, work…) ► Always try to minimize number of metadata you have (it influences time of scratch creation) • How to enable scratches with ► Knowledge ► Community licenses

Editor's Notes

  1. Show how the npm run sfci:init works and what all is then in Scratch: Data, assigned profile, assigned PSG Go through the items that are controlling all behaviour Project Scratch Def Ciconfig Package Create Custom field on account + translation and try to pull (it should not get all of the items) Rename the field for renaming, pull, show what is missing and explain why, and what to do
  2. 1. Show after adding field to profile and downloading, that it is not here (needs to create first, download, then download profile - explain)
  3. Show how the plugin works, how the deployments work. sfdx sgd:source:delta --to "HEAD" --from "HEAD^" --output . sfdx force:source:deploy -x package/package.xml -u targetOrg -l RunLocalTests sfdx force:mdapi:deploy -d destructiveChanges --ignorewarnings -u targetOrg
  4. Show how to connect to an org -> sfdx force:auth:web:login -a CrestylProd -r https://test.salesforce.com Use created metadata (field, record Type, Translation) Show how to obtain them Talk a bit about formatting (Layout -, metadata without .mdt and so on)