Agenda
1) Scratch Org VS Sandbox Development
2) SalesforceDX source code format from traditional format
3) Winter 19 Salesforce Source Commands (Retrieve, Deploy and Delete)
4) Using Salesforce Extensions For VSCode against Non-scratch orgs
5) Auto Generating package.xml from changesets and unmanaged package
6) Setting Developer Workflows for Salesforce application development and debugging (ISV apps and changeset based development)
7) Deploying metadata from one org to another using Vscode extensions
1. Farmington Hills
Salesforce Developer User Group
Apex Hours
SalesforceDX For Non-Scratch Orgs
#SalesforceApexHours #FarmingtonHillsSFDCDug
Speaker
Date
Venue/Link
Mohith Shrivastava, Prajakta Samant
Saturday, NOV 3, 2018 10:00 AM EST ( 7:00 PM IST)
https://zoom.us/j/972158462
4. Scratch Org Source Driven Development VS Change Set Development
SalesforceDX source code format differences from traditional format
Winter 19 Salesforce Source Commands (Retrieve, Deploy and Delete)
Using Salesforce Extensions For VSCode against Non-scratch orgs
Auto Generating package.xml from changesets and unmanaged package
Setting Developer Workflows for Salesforce application development and debugging
(ISV apps and changeset based development)
Deploying metadata from one org to another using Vscode extensions
AGENDA
#SalesforceApexHours #FarmingtonHillsSFDCDug
7. Apex Hours
#FarmingtonHillsSFDCdug #SalesforceApexHours
SalesforceDX source code format
differences from traditional format
Object metadata is further organized into below sub directories
businessProcesses
compactLayouts
fields
fieldSets
listViews
recordTypes
sharingReasons
validationRules
webLinks
8. Apex Hours
#FarmingtonHillsSFDCdug #SalesforceApexHours
SalesforceDX source code format
differences from traditional
format…
Translations in separate directory
<directory>/main/default/objectTranslations
Static Resources are uncompressed in DX so one can edit it
Lightning bundles and components must reside in a directory
named aura under the <package directory> directory.
Documents organized inside its folder directory
9. Apex Hours
#FarmingtonHillsSFDCdug #SalesforceApexHours
Scratch Org VS Sandbox Change Set
Based Development
Scratch Org Development Approach Change Set Based Development
Encourages Complete Source Driven Development .Scratch org are designed
to track changes between local and the scratch org .
Suitable for change set based development model
Suitable if your application has less no of post install configuration(Subject
to change in future with org shapes and Templates)
If your application has lots of post install config and
depends on lot of other applications (example apps on
top of Health cloud, Financial Cloud , Salesforce CPQ
etc) sandbox has lots of advantages
Highly Recommended for ISVs building managed package application or
System Integrators building Unlocked Packages
Apps that have not moved to SalesforceDX source
format can benefit from this approach
10. Apex Hours
#FarmingtonHillsSFDCdug #SalesforceApexHours
Winter 19 Salesforce Source Commands
(Retrieve, Deploy and Delete)
Currently these commands are in BETA and hence you are of your own till
these become GA .
Retrieve Commands
$ sfdx force:source:retrieve -x path/to/package.xml
$ sfdx force:source:retrieve -m CustomObject,ApexClass
Deploy Commands
$ sfdx force:source:deploy -x path/to/package.xml
$ sfdx force:source:deploy -m ApexClass:MyApexClass
12. Apex Hours
#FarmingtonHillsSFDCdug #SalesforceApexHours
AutoGenerate package.xml Script
Get the shell script from here
Create scripts folder in root folder and create the shell script file
generatepkgXML.sh
Provide permissions to the shell script folder using chmod +x
/scripts/generatepkgXML.sh
Run the command ./scripts/generatepkgXML.sh <orgalias>
<changeset/unmanaged package name>