SlideShare a Scribd company logo
Untangle Your Org with Salesforce Developer Tools
Shane McLaughlin
Director, Technical Product Marketing
shane.mclaughlin@salesforce.com
@MShaneMc
Doug Ayers
Lead Developer, Trailhead Content
doug.ayers@salesforce.com
@DouglasCAyers
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.
Statement under the Private Securities Litigation Reform Act of 1995
Forward-Looking Statement
Agenda
Why untangle your org?
Common Tangles
1. Profiles
2. Processes and Triggers
3. Page Layouts, Lightning Pages, Reports & Dashboards
Tips, Tricks, Tools
Q&A
An org where it is not apparent which code
and config pertain to which logical apps and
functionality.
To iterate development on a single feature
often requires the entire org’s metadata
deployed to it and may impede the use of
CI/CD, scratch orgs, and other critical tools.
First, what is a tangled org?
Why untangle your org?
Empower multiple teams to own, build, and release independently of each other
Promote reusable functionality and packaging with modular app development
Simplify scratch org setup and adopt CI/CD for each logical app
Team 1 Team 2 Team 3
Tangle 1: Profiles
What does your System Admin profile refer to?
Profiles Are Not Your Friend
System Admin
Profile
Record Type
Assignments
Page Layout
Assignments
Object & Field
Permissions
App
Assignments
Alternative Design with Permission Sets
base schema
base permissions (ALL)
base permissions (regular) base permissions
(read-only)
app schema
app permissions (ALL)
app permissions (regular)
app permissions (read-only)
app schema
app permissions (ALL)
app permissions (regular)
app permissions (read-only)
capstone or soup: includes minimal profiles (ex: layout assignments)
Shane wrote a blog post at bit.ly/migrate-to-permsets
1. Do it manually in the UI
2. Cut and paste in your code editor
3. Open Source plugins for Salesforce CLI
a. Convert with options
b. Align from local source schema
c. Remove objects from profiles/permsets
4. Profile and Permission Set Helper
by Salesforce Labs on AppExchange
Migration Paths from Profiles to Permission Sets
Profile & Permset Demos
Tangle 2: Processes and Triggers
Processes and Triggers Demo
● Platform Events
● Invocable Processes and Autolaunched Flows
● Interfaces, Type.forName, and Callable
○ bit.ly/callable-sean-cuevo
● Dependency Injection
○ bit.ly/df18-force-di
Design Patterns for Untangling Processes and Triggers
Tangle 3: UI
Page Layouts, Lightning Pages,
Reports & Dashboards
Page Layouts, Lightning Pages, Reports & Dashboards
Some things depend on many things; leave them unpackaged or in a top-level package
Tips, Tricks, and Tools
Sometimes you have to build something else to view/test/try your actual project
- project structure
- project.json
“I need this to exist, but not in my package”
Minimum dependencies from the soup
- (unpackaged) mdapi deployments
- (packaged) runtime packages (pilot)
Trick #1: Unpackaged / Implementation Folder
Community Boilerplate: Salesforce’s code included in communities
● Keeps this code out of source tracking
● All communities have this dependency
Standalone, non-dependency, non-dev
● ex: LightningThemes
Feature packages
● fat base: common schema, ui, perms, etc.
● extensions: minimal schema, community
Trick #2: Package Patterns
AppExchange in setup script
Refer to a package on GitHub (not manually updating versions everywhere
downstream)
● source code for package version list
● install script/plugin
Deploying actual source via GitHub
Trick #3: Ways to Include “packages” in Deployments
Scenario
- You got rid of the 4 standard account layouts
- Every DE scratch org has them
- Adding a required field to an object populates them
- sfdx force:pull:source
Solution
- DestructiveChanges.xml (package.xml format)
- Script that uses this
Trick #4: Destructive Changes for Unwanted Stuff
Next Steps
● Second-Generation Packaging: a Practical Guide
● Package-Based App Development Patterns
● Accelerate Source-Driven Development with
Unlocked Packages and Scratch Orgs
● Truly Asynchronous Apex Triggers using Change Data
Capture
Explore Related Sessions
Check out the session recordings after the conference
What’s Next?
Experience Salesforce DX across TDX 2019
See demos, join a workshop,
ask questions & more!
Visit us at Platform Point!
Floor 1
Related Sessions
W, 12:30pm The Salesforce DX Cheatsheet Surfside Theater
W, 2:30pm Transitioning to Custom Metadata Types Redwood Theater
W, 3:45pm Salesforce DX for ISVs: How to Get Started Reefscape Theater
W, 5:00pm Unleash Citizen Developers Effectively Redwood Theater
Th, 8:30am Accelerate DevOps with GitLab and Salesforce Room 2005
Th, 10:00am Best Practices: Building with VS Code Room 2004
Th, 1:00pm Accelerate Source-Driven Development with
Unlocked Packages and Scratch Orgs
Room 2004
Th, 2:00pm How We Built Salesforce DX Room 2004
3rd Floor
Keynote Room
Super Sessions:
Salesforce <3 DX
Weds at 3:00 PM
Build Together
with Low Code
Thurs at 11:00 AM
TDX19 - Untangle Your Org with Salesforce Developer Tools

More Related Content

What's hot

Salesforce & GitLab Integration for Next-gen DevOps with CEPTES
Salesforce & GitLab Integration for Next-gen DevOps with CEPTESSalesforce & GitLab Integration for Next-gen DevOps with CEPTES
Salesforce & GitLab Integration for Next-gen DevOps with CEPTES
CEPTES Software Inc
 
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
Lynette Lim
 
COPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour SalesforceCOPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour Salesforce
Thierry TROUIN ☁
 
How to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.comHow to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.com
Salesforce Developers
 
Dreamforce 2017: Salesforce DX - an Admin's Perspective
Dreamforce 2017:  Salesforce DX - an Admin's PerspectiveDreamforce 2017:  Salesforce DX - an Admin's Perspective
Dreamforce 2017: Salesforce DX - an Admin's Perspective
Mike White
 
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
Salesforce Developers
 
Release Management: Managing Your Internal Releases
Release Management: Managing Your Internal ReleasesRelease Management: Managing Your Internal Releases
Release Management: Managing Your Internal Releases
Joshua Hoskins
 
Scaling Continuous Integration for Puppet
Scaling Continuous Integration for PuppetScaling Continuous Integration for Puppet
Scaling Continuous Integration for Puppet
Salesforce Engineering
 
Crossbrowser Testing at Salesforce Analytics
Crossbrowser Testing at Salesforce AnalyticsCrossbrowser Testing at Salesforce Analytics
Crossbrowser Testing at Salesforce Analytics
Salesforce Engineering
 
A Recipe for Scale: Succeeding with Agile Software Development in the Enterprise
A Recipe for Scale: Succeeding with Agile Software Development in the EnterpriseA Recipe for Scale: Succeeding with Agile Software Development in the Enterprise
A Recipe for Scale: Succeeding with Agile Software Development in the Enterprise
VMware Tanzu
 
The Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development LifecycleThe Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development Lifecycle
Joshua Hoskins
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
Salesforce 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 webinar
Salesforce Developers
 
Salesforce.com Sandbox management
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management
Ali Akbar
 
Meet The Welkin Suite IDE: Product Overview
Meet The Welkin Suite IDE: Product OverviewMeet The Welkin Suite IDE: Product Overview
Meet The Welkin Suite IDE: Product Overview
Salesforce Developers
 
Best Practices for Successful Deployment
Best Practices for Successful DeploymentBest Practices for Successful Deployment
Best Practices for Successful Deployment
Salesforce Developers
 
How to build a Salesforce DevOps process with Gearset
How to build a Salesforce DevOps process with GearsetHow to build a Salesforce DevOps process with Gearset
How to build a Salesforce DevOps process with Gearset
Thierry TROUIN ☁
 
Dev ops.enterprise.2014 (1)
Dev ops.enterprise.2014 (1)Dev ops.enterprise.2014 (1)
Dev ops.enterprise.2014 (1)
Salesforce Engineering
 
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
Susmitha Vakkalanka
 
Salesforce1 ELEVATE Workshop - Dublin
Salesforce1 ELEVATE Workshop - DublinSalesforce1 ELEVATE Workshop - Dublin
Salesforce1 ELEVATE Workshop - Dublin
Joshua Hoskins
 

What's hot (20)

Salesforce & GitLab Integration for Next-gen DevOps with CEPTES
Salesforce & GitLab Integration for Next-gen DevOps with CEPTESSalesforce & GitLab Integration for Next-gen DevOps with CEPTES
Salesforce & GitLab Integration for Next-gen DevOps with CEPTES
 
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
 
COPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour SalesforceCOPADO - Plateforme de DEVOPS pour Salesforce
COPADO - Plateforme de DEVOPS pour Salesforce
 
How to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.comHow to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.com
 
Dreamforce 2017: Salesforce DX - an Admin's Perspective
Dreamforce 2017:  Salesforce DX - an Admin's PerspectiveDreamforce 2017:  Salesforce DX - an Admin's Perspective
Dreamforce 2017: Salesforce DX - an Admin's Perspective
 
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
 
Release Management: Managing Your Internal Releases
Release Management: Managing Your Internal ReleasesRelease Management: Managing Your Internal Releases
Release Management: Managing Your Internal Releases
 
Scaling Continuous Integration for Puppet
Scaling Continuous Integration for PuppetScaling Continuous Integration for Puppet
Scaling Continuous Integration for Puppet
 
Crossbrowser Testing at Salesforce Analytics
Crossbrowser Testing at Salesforce AnalyticsCrossbrowser Testing at Salesforce Analytics
Crossbrowser Testing at Salesforce Analytics
 
A Recipe for Scale: Succeeding with Agile Software Development in the Enterprise
A Recipe for Scale: Succeeding with Agile Software Development in the EnterpriseA Recipe for Scale: Succeeding with Agile Software Development in the Enterprise
A Recipe for Scale: Succeeding with Agile Software Development in the Enterprise
 
The Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development LifecycleThe Ideal Salesforce Development Lifecycle
The Ideal Salesforce Development Lifecycle
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
 
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
 
Salesforce.com Sandbox management
Salesforce.com Sandbox management Salesforce.com Sandbox management
Salesforce.com Sandbox management
 
Meet The Welkin Suite IDE: Product Overview
Meet The Welkin Suite IDE: Product OverviewMeet The Welkin Suite IDE: Product Overview
Meet The Welkin Suite IDE: Product Overview
 
Best Practices for Successful Deployment
Best Practices for Successful DeploymentBest Practices for Successful Deployment
Best Practices for Successful Deployment
 
How to build a Salesforce DevOps process with Gearset
How to build a Salesforce DevOps process with GearsetHow to build a Salesforce DevOps process with Gearset
How to build a Salesforce DevOps process with Gearset
 
Dev ops.enterprise.2014 (1)
Dev ops.enterprise.2014 (1)Dev ops.enterprise.2014 (1)
Dev ops.enterprise.2014 (1)
 
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
Automate Salesforce Releases with DevOps: Crawl, Walk, Run!
 
Salesforce1 ELEVATE Workshop - Dublin
Salesforce1 ELEVATE Workshop - DublinSalesforce1 ELEVATE Workshop - Dublin
Salesforce1 ELEVATE Workshop - Dublin
 

Similar to TDX19 - Untangle Your Org with Salesforce Developer Tools

Salesforce Lightning workshop Hartford - 12 March
Salesforce Lightning workshop Hartford - 12 MarchSalesforce Lightning workshop Hartford - 12 March
Salesforce Lightning workshop Hartford - 12 March
Jitendra Zaa
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
Shivanath Devinarayanan
 
Adopting Salesforce DX
Adopting Salesforce DXAdopting Salesforce DX
Adopting Salesforce DX
Salesforce Developers
 
Modern App Dev: Modular Development Strategies
Modern App Dev: Modular Development StrategiesModern App Dev: Modular Development Strategies
Modern App Dev: Modular Development Strategies
Salesforce Developers
 
PhillyForce 2018 - Salesforce Platform Keynote
PhillyForce 2018  - Salesforce Platform KeynotePhillyForce 2018  - Salesforce Platform Keynote
PhillyForce 2018 - Salesforce Platform Keynote
andyinthecloud
 
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 ☁
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single Org
Salesforce Developers
 
San Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning OverviewSan Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning Overview
Vivek Chawla
 
Lightning Developer Week - Bangalore Salesforce Developer Group
Lightning Developer Week - Bangalore Salesforce Developer GroupLightning Developer Week - Bangalore Salesforce Developer Group
Lightning Developer Week - Bangalore Salesforce Developer Group
Abhilash Kuntar
 
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
Shell Black
 
Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
Salesforce Developers
 
Lightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE EvolvedLightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE Evolved
Salesforce Developers
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop London
Keir Bowden
 
Developer Preview Live – Release Readiness LIVE, Spring '18
Developer Preview Live – Release Readiness LIVE, Spring '18Developer Preview Live – Release Readiness LIVE, Spring '18
Developer Preview Live – Release Readiness LIVE, Spring '18
Salesforce Developers
 
Suisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshopSuisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshop
Gnanasekaran Thoppae
 
#Df17 Recap Series Build Apps Faster with the Salesforce Platform
#Df17 Recap Series Build Apps Faster with the Salesforce Platform #Df17 Recap Series Build Apps Faster with the Salesforce Platform
#Df17 Recap Series Build Apps Faster with the Salesforce Platform
Salesforce Developers
 
Get Started with Salesforce DX!
Get Started with Salesforce DX!Get Started with Salesforce DX!
Get Started with Salesforce DX!
Salesforce Developers
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
Mark Adcock
 
Automating the Impossible: End to End Team Development for ISVs (October 14, ...
Automating the Impossible: End to End Team Development for ISVs (October 14, ...Automating the Impossible: End to End Team Development for ISVs (October 14, ...
Automating the Impossible: End to End Team Development for ISVs (October 14, ...
Salesforce Partners
 
Understanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoUnderstanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We Do
Salesforce Developers
 

Similar to TDX19 - Untangle Your Org with Salesforce Developer Tools (20)

Salesforce Lightning workshop Hartford - 12 March
Salesforce Lightning workshop Hartford - 12 MarchSalesforce Lightning workshop Hartford - 12 March
Salesforce Lightning workshop Hartford - 12 March
 
Salesforce Lightning workshop
Salesforce Lightning workshopSalesforce Lightning workshop
Salesforce Lightning workshop
 
Adopting Salesforce DX
Adopting Salesforce DXAdopting Salesforce DX
Adopting Salesforce DX
 
Modern App Dev: Modular Development Strategies
Modern App Dev: Modular Development StrategiesModern App Dev: Modular Development Strategies
Modern App Dev: Modular Development Strategies
 
PhillyForce 2018 - Salesforce Platform Keynote
PhillyForce 2018  - Salesforce Platform KeynotePhillyForce 2018  - Salesforce Platform Keynote
PhillyForce 2018 - Salesforce Platform Keynote
 
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...
 
Best Practices for Team Development in a Single Org
Best Practices for Team Development in a Single OrgBest Practices for Team Development in a Single Org
Best Practices for Team Development in a Single Org
 
San Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning OverviewSan Diego Salesforce User Group - Lightning Overview
San Diego Salesforce User Group - Lightning Overview
 
Lightning Developer Week - Bangalore Salesforce Developer Group
Lightning Developer Week - Bangalore Salesforce Developer GroupLightning Developer Week - Bangalore Salesforce Developer Group
Lightning Developer Week - Bangalore Salesforce Developer Group
 
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
Transition to the Lightning Experience: Pro Tips, Tools and a Transition Stra...
 
Coding in the App Cloud
Coding in the App CloudCoding in the App Cloud
Coding in the App Cloud
 
Lightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE EvolvedLightning Developer Experience, Eclipse IDE Evolved
Lightning Developer Experience, Eclipse IDE Evolved
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop London
 
Developer Preview Live – Release Readiness LIVE, Spring '18
Developer Preview Live – Release Readiness LIVE, Spring '18Developer Preview Live – Release Readiness LIVE, Spring '18
Developer Preview Live – Release Readiness LIVE, Spring '18
 
Suisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshopSuisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshop
 
#Df17 Recap Series Build Apps Faster with the Salesforce Platform
#Df17 Recap Series Build Apps Faster with the Salesforce Platform #Df17 Recap Series Build Apps Faster with the Salesforce Platform
#Df17 Recap Series Build Apps Faster with the Salesforce Platform
 
Get Started with Salesforce DX!
Get Started with Salesforce DX!Get Started with Salesforce DX!
Get Started with Salesforce DX!
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 
Automating the Impossible: End to End Team Development for ISVs (October 14, ...
Automating the Impossible: End to End Team Development for ISVs (October 14, ...Automating the Impossible: End to End Team Development for ISVs (October 14, ...
Automating the Impossible: End to End Team Development for ISVs (October 14, ...
 
Understanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We DoUnderstanding the Salesforce Architecture: How We Do the Magic We Do
Understanding the Salesforce Architecture: How We Do the Magic We Do
 

More from Doug Ayers

Adopting Files and Enhanced Notes in Lightning Experience
Adopting Files and Enhanced Notes in Lightning ExperienceAdopting Files and Enhanced Notes in Lightning Experience
Adopting Files and Enhanced Notes in Lightning Experience
Doug Ayers
 
Chatter Bot - Enabling New Capabilities for Process Builder
Chatter Bot - Enabling New Capabilities for Process BuilderChatter Bot - Enabling New Capabilities for Process Builder
Chatter Bot - Enabling New Capabilities for Process Builder
Doug Ayers
 
Dreamforce '16 Recap & Winter '17 Release
Dreamforce '16 Recap & Winter '17 ReleaseDreamforce '16 Recap & Winter '17 Release
Dreamforce '16 Recap & Winter '17 Release
Doug Ayers
 
Salesforce - How to Load Leads and Add to Campaigns with Import Wizard
Salesforce - How to Load Leads and Add to Campaigns with Import WizardSalesforce - How to Load Leads and Add to Campaigns with Import Wizard
Salesforce - How to Load Leads and Add to Campaigns with Import Wizard
Doug Ayers
 
Salesforce: Advanced Lead Conversion Using Process Builder
Salesforce: Advanced Lead Conversion Using Process BuilderSalesforce: Advanced Lead Conversion Using Process Builder
Salesforce: Advanced Lead Conversion Using Process Builder
Doug Ayers
 
Salesforce - The Power of Upsert and External IDs - How To - Workbench
Salesforce - The Power of Upsert and External IDs - How To - WorkbenchSalesforce - The Power of Upsert and External IDs - How To - Workbench
Salesforce - The Power of Upsert and External IDs - How To - Workbench
Doug Ayers
 
Salesforce - Filtered Related Lists Without Code
Salesforce - Filtered Related Lists Without CodeSalesforce - Filtered Related Lists Without Code
Salesforce - Filtered Related Lists Without Code
Doug Ayers
 
Dreamforce 15 Recap & Winter 16 Release Notes
Dreamforce 15 Recap & Winter 16 Release NotesDreamforce 15 Recap & Winter 16 Release Notes
Dreamforce 15 Recap & Winter 16 Release Notes
Doug Ayers
 
Salesforce1 Mobile Experience - Remedyforce On Call
Salesforce1 Mobile Experience - Remedyforce On CallSalesforce1 Mobile Experience - Remedyforce On Call
Salesforce1 Mobile Experience - Remedyforce On Call
Doug Ayers
 

More from Doug Ayers (9)

Adopting Files and Enhanced Notes in Lightning Experience
Adopting Files and Enhanced Notes in Lightning ExperienceAdopting Files and Enhanced Notes in Lightning Experience
Adopting Files and Enhanced Notes in Lightning Experience
 
Chatter Bot - Enabling New Capabilities for Process Builder
Chatter Bot - Enabling New Capabilities for Process BuilderChatter Bot - Enabling New Capabilities for Process Builder
Chatter Bot - Enabling New Capabilities for Process Builder
 
Dreamforce '16 Recap & Winter '17 Release
Dreamforce '16 Recap & Winter '17 ReleaseDreamforce '16 Recap & Winter '17 Release
Dreamforce '16 Recap & Winter '17 Release
 
Salesforce - How to Load Leads and Add to Campaigns with Import Wizard
Salesforce - How to Load Leads and Add to Campaigns with Import WizardSalesforce - How to Load Leads and Add to Campaigns with Import Wizard
Salesforce - How to Load Leads and Add to Campaigns with Import Wizard
 
Salesforce: Advanced Lead Conversion Using Process Builder
Salesforce: Advanced Lead Conversion Using Process BuilderSalesforce: Advanced Lead Conversion Using Process Builder
Salesforce: Advanced Lead Conversion Using Process Builder
 
Salesforce - The Power of Upsert and External IDs - How To - Workbench
Salesforce - The Power of Upsert and External IDs - How To - WorkbenchSalesforce - The Power of Upsert and External IDs - How To - Workbench
Salesforce - The Power of Upsert and External IDs - How To - Workbench
 
Salesforce - Filtered Related Lists Without Code
Salesforce - Filtered Related Lists Without CodeSalesforce - Filtered Related Lists Without Code
Salesforce - Filtered Related Lists Without Code
 
Dreamforce 15 Recap & Winter 16 Release Notes
Dreamforce 15 Recap & Winter 16 Release NotesDreamforce 15 Recap & Winter 16 Release Notes
Dreamforce 15 Recap & Winter 16 Release Notes
 
Salesforce1 Mobile Experience - Remedyforce On Call
Salesforce1 Mobile Experience - Remedyforce On CallSalesforce1 Mobile Experience - Remedyforce On Call
Salesforce1 Mobile Experience - Remedyforce On Call
 

Recently uploaded

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 

Recently uploaded (20)

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 

TDX19 - Untangle Your Org with Salesforce Developer Tools

  • 1. Untangle Your Org with Salesforce Developer Tools Shane McLaughlin Director, Technical Product Marketing shane.mclaughlin@salesforce.com @MShaneMc Doug Ayers Lead Developer, Trailhead Content doug.ayers@salesforce.com @DouglasCAyers
  • 2. 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. Statement under the Private Securities Litigation Reform Act of 1995 Forward-Looking Statement
  • 3. Agenda Why untangle your org? Common Tangles 1. Profiles 2. Processes and Triggers 3. Page Layouts, Lightning Pages, Reports & Dashboards Tips, Tricks, Tools Q&A
  • 4. An org where it is not apparent which code and config pertain to which logical apps and functionality. To iterate development on a single feature often requires the entire org’s metadata deployed to it and may impede the use of CI/CD, scratch orgs, and other critical tools. First, what is a tangled org?
  • 5. Why untangle your org? Empower multiple teams to own, build, and release independently of each other Promote reusable functionality and packaging with modular app development Simplify scratch org setup and adopt CI/CD for each logical app Team 1 Team 2 Team 3
  • 7. What does your System Admin profile refer to? Profiles Are Not Your Friend System Admin Profile Record Type Assignments Page Layout Assignments Object & Field Permissions App Assignments
  • 8. Alternative Design with Permission Sets base schema base permissions (ALL) base permissions (regular) base permissions (read-only) app schema app permissions (ALL) app permissions (regular) app permissions (read-only) app schema app permissions (ALL) app permissions (regular) app permissions (read-only) capstone or soup: includes minimal profiles (ex: layout assignments)
  • 9. Shane wrote a blog post at bit.ly/migrate-to-permsets 1. Do it manually in the UI 2. Cut and paste in your code editor 3. Open Source plugins for Salesforce CLI a. Convert with options b. Align from local source schema c. Remove objects from profiles/permsets 4. Profile and Permission Set Helper by Salesforce Labs on AppExchange Migration Paths from Profiles to Permission Sets
  • 11. Tangle 2: Processes and Triggers
  • 13. ● Platform Events ● Invocable Processes and Autolaunched Flows ● Interfaces, Type.forName, and Callable ○ bit.ly/callable-sean-cuevo ● Dependency Injection ○ bit.ly/df18-force-di Design Patterns for Untangling Processes and Triggers
  • 14. Tangle 3: UI Page Layouts, Lightning Pages, Reports & Dashboards
  • 15. Page Layouts, Lightning Pages, Reports & Dashboards Some things depend on many things; leave them unpackaged or in a top-level package
  • 17. Sometimes you have to build something else to view/test/try your actual project - project structure - project.json “I need this to exist, but not in my package” Minimum dependencies from the soup - (unpackaged) mdapi deployments - (packaged) runtime packages (pilot) Trick #1: Unpackaged / Implementation Folder
  • 18. Community Boilerplate: Salesforce’s code included in communities ● Keeps this code out of source tracking ● All communities have this dependency Standalone, non-dependency, non-dev ● ex: LightningThemes Feature packages ● fat base: common schema, ui, perms, etc. ● extensions: minimal schema, community Trick #2: Package Patterns
  • 19. AppExchange in setup script Refer to a package on GitHub (not manually updating versions everywhere downstream) ● source code for package version list ● install script/plugin Deploying actual source via GitHub Trick #3: Ways to Include “packages” in Deployments
  • 20. Scenario - You got rid of the 4 standard account layouts - Every DE scratch org has them - Adding a required field to an object populates them - sfdx force:pull:source Solution - DestructiveChanges.xml (package.xml format) - Script that uses this Trick #4: Destructive Changes for Unwanted Stuff
  • 22. ● Second-Generation Packaging: a Practical Guide ● Package-Based App Development Patterns ● Accelerate Source-Driven Development with Unlocked Packages and Scratch Orgs ● Truly Asynchronous Apex Triggers using Change Data Capture Explore Related Sessions Check out the session recordings after the conference
  • 23. What’s Next? Experience Salesforce DX across TDX 2019 See demos, join a workshop, ask questions & more! Visit us at Platform Point! Floor 1 Related Sessions W, 12:30pm The Salesforce DX Cheatsheet Surfside Theater W, 2:30pm Transitioning to Custom Metadata Types Redwood Theater W, 3:45pm Salesforce DX for ISVs: How to Get Started Reefscape Theater W, 5:00pm Unleash Citizen Developers Effectively Redwood Theater Th, 8:30am Accelerate DevOps with GitLab and Salesforce Room 2005 Th, 10:00am Best Practices: Building with VS Code Room 2004 Th, 1:00pm Accelerate Source-Driven Development with Unlocked Packages and Scratch Orgs Room 2004 Th, 2:00pm How We Built Salesforce DX Room 2004 3rd Floor Keynote Room Super Sessions: Salesforce <3 DX Weds at 3:00 PM Build Together with Low Code Thurs at 11:00 AM