SlideShare a Scribd company logo
1 of 12
Successfully Retrieving Metadata
From Salesforce Org using
Packages
@msrivastav13 | mohith.shrivastava@salesforce.com
Mohith Shrivastava, Lead Developer Evangelist
Forward-Looking Statement
Statement under the Private Securities Litigation Reform Act of 1995:
This presentation contains forward-looking statements about the company’s financial and operating results, which may include expected GAAP and non-GAAP financial and other operating
and non-operating results, including revenue, net income, diluted earnings per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected
current remaining performance obligation growth, expected tax rates, the one-time accounting non-cash charge that was incurred in connection with the Salesforce.org combination; stock-
based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth and sustainability goals. The achievement or success of the matters covered by
such forward-looking statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s
results could differ materially from the results expressed or implied by the forward-looking statements we make.
The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of geopolitical events;
the impact of foreign currency exchange rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading
provider of enterprise cloud computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the
competitive nature of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our
customer base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and
prevent, detect and remediate potential security breaches; the expenses associated with new data centers and third-party infrastructure providers; additional data center capacity; real estate
and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market; our strategy of
acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair value of our investments in
complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and investments; the impact of future gains
or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly traded companies within the company's strategic
investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies, including delays related to the integration of
Tableau due to regulatory review by the United Kingdom Competition and Markets Authority; our ability to continue to grow unearned revenue and remaining performance obligation; our
ability to protect our intellectual property rights; our ability to develop our brands; our reliance on third-party hardware, software and platform providers; our dependency on the development
and maintenance of the infrastructure of the Internet; the
effect of evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those
addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the potential
availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax
rate; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our outstanding debt, revolving credit facility, term loan and
loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving us; and the impact of climate change.
Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes with the
Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s website at
www.salesforce.com/investor.
Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
Learning Objectives
● What is Org Metadata and what is a happy soup?
● Salesforce CLI Commands to explore your org Metadata.
● Understanding Dependency between various metadata
● What is Source Tracking feature?
● Retrieving org metadata using Salesforce CLI and packages
Dependency between Metadata
Custom Object
Field A Field B
LWC XYApex Class XYValidation Rule XPage Layout x
Happy Soup
Release at faster pace
with confidence
Your package has same
metadata thats there in
your git repo
Why do we need to package metadata?
Automate deployments.
Build once and install in
sandbox for testing and
deploy to production with
confidence
Salesforce DX Source
format
Deploy to Multiple orgs
Modular
application
development
Source Driven
Development
Build once and
deploy anywhere
If your org has large
number of components it
becomes hard to iterate
quickly
Packages can be tracked
in an installed org as they
show up as installed
packages with a set of
associated metadata.
Change Management is
more streamlined.
Creation of packages can
be scripted using
Salesforce CLI
Organise Metadata
Adopt CI/CD with
Salesforce DX
Trackable
Easier Change
Management
Upgrade Behaviour Options
● Mixed Mode (Default behaviour) - Listed components are deleted except when the
subscriber package has a reference and all others are deprecated.
● Deprecate Only - Deprecates all components and are not deleted. Very useful when moving
metadata from one package to other.
● Delete - Delete specifies to delete all removed components, except for custom objects and
custom fields, that don’t have dependencies.
Options when installing the unlocked packages
Horizontal Slicing
Pros Cons
Shared packages for shared metadata, code can help org governance Large packages that change frequently can add overhead
Less prone restrictions relating to inability to untangle objects, etc.
Allows option to use vertical slicing where needed
Views on Fit
Fewer questions of what constitutes a package
boundary, where should new development artifacts go,
etc
Faster developer onboarding, fewer questions of what
packages do I need/what should I be developing
against.
Executing against a framework/structure that's
provided. Basically developers are not driving org and
devops management.
May be more viable path to adoption, without a
declarative/UI-based tool to manage package
changes.
More prescribed, less advanced code required, easier for declarative
Org Metadata/Config that cannot be packaged or decomposed
(Layouts, Profiles)
Base Objects, Fields, Related Permission Sets
Vertical Slicing
Views on Fit
Assumes more ability to manage DI and more true isolation between
business units
Assumes developers will be around & have the skills & are
empowered to make decisions about package structures in the long-
term.
Package boundaries are not as prescribed. When I make a new set
of fields for Module C and new Apex services that could be reused by
A & B, how do I decide where those changes go? Unless I know
about A & B, I would be predisposed to just put everything into C.
Built around an implicit assumption of in-house developers, or at
least, teams of devs that have long-term ownership of their artifacts.
Pros Cons
Packages are more self-contained and managed. Only possible when there is a clear set of objects that can be associated
with a module.
Dependencies on AppExchange packages are more isolated, dev
environments and scratch orgs can be more straightforward to set up.
Requires a cap-stone package (or just left in the org) for all the things you
cannot decompose at present.
Supports the option to go horizontal in places if needed Governance is more complex.
Flexible, more advanced code required, packages are developer-driven
Org Metadata/Config that cannot be packaged or decomposed
(Layouts, Profiles)
Unofficial Tools for Helping Org Modularization
Dependencies CLI - https://github.com/forcedotcom/dependencies-cli
Org Visualizer App https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000G11oIUAR
Metadata Dependency API - https://developer.salesforce.com/docs/atlas.en-
us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacomponentdependency.htm
NOTE - All of this has no official salesforce support but if you are developer centric you should be
able to fork and enhance this as they are open source.
Check out these resources and earn badges on Trailhead
Learn more about Release Management with Salesforce
Application Lifecycle and Development
Models
Learn how to use application lifecycle and development
models on the Lightning Platform.
Git and GitHub Basics
Learn about version control systems and
practice using Git and GitHub
Build an Automated CI/CD Pipeline with GitLab
Integrate with GitLab and define steps for efficient application
development.
App Development with Salesforce DX
Use the Salesforce command-line interface to create,
convert, and deploy apps.
Quick Start: Visual Studio Code for
Salesforce Development
description
Successfully retrieving metadata from salesforce org using packages

More Related Content

What's hot

Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Einstein recommendations how it works
Einstein recommendations  how it works  Einstein recommendations  how it works
Einstein recommendations how it works Cloud Analogy
 
Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Salesforce Partners
 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkSalesforce Developers
 
Salesforce data model
Salesforce data modelSalesforce data model
Salesforce data modelJean Brenda
 
Deep dive into salesforce connected app part 1
Deep dive into salesforce connected app   part 1Deep dive into salesforce connected app   part 1
Deep dive into salesforce connected app part 1Mohith Shrivastava
 
Integrating with salesforce using platform events
Integrating with salesforce using platform eventsIntegrating with salesforce using platform events
Integrating with salesforce using platform eventsAmit Chaudhary
 
Salesforce integration architecture 20200529
Salesforce integration architecture 20200529Salesforce integration architecture 20200529
Salesforce integration architecture 20200529Hiroki Iida
 
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発Salesforce Developers Japan
 
Integrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity ConnectIntegrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity ConnectSalesforce Developers
 
Introduction To Salesforce Content Management System (CMS)
Introduction To Salesforce Content Management System (CMS)Introduction To Salesforce Content Management System (CMS)
Introduction To Salesforce Content Management System (CMS)Cloud Analogy
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudrsg00usa
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patternsusolutions
 
9 Principles for Salesforce Application Architecture
9 Principles for Salesforce Application Architecture9 Principles for Salesforce Application Architecture
9 Principles for Salesforce Application ArchitectureSteven Herod
 
Platform Events by Tim Taylor
Platform Events by Tim TaylorPlatform Events by Tim Taylor
Platform Events by Tim TaylorChristine Smith
 
Sharing and security in Salesforce
Sharing and security in SalesforceSharing and security in Salesforce
Sharing and security in SalesforceSaurabh Kulkarni
 
Manage Salesforce Like a Pro with Governance
Manage Salesforce Like a Pro with GovernanceManage Salesforce Like a Pro with Governance
Manage Salesforce Like a Pro with GovernanceSalesforce Admins
 
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 OrgSalesforce Developers
 

What's hot (20)

Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Einstein recommendations how it works
Einstein recommendations  how it works  Einstein recommendations  how it works
Einstein recommendations how it works
 
Apigee Edge Overview and Roadmap
Apigee Edge Overview and RoadmapApigee Edge Overview and Roadmap
Apigee Edge Overview and Roadmap
 
Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)Choosing the Right Demo Environment (Salesforce Partners)
Choosing the Right Demo Environment (Salesforce Partners)
 
Manage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance FrameworkManage Development in Your Org with Salesforce Governance Framework
Manage Development in Your Org with Salesforce Governance Framework
 
Salesforce data model
Salesforce data modelSalesforce data model
Salesforce data model
 
Deep dive into salesforce connected app part 1
Deep dive into salesforce connected app   part 1Deep dive into salesforce connected app   part 1
Deep dive into salesforce connected app part 1
 
Architecting Multi-Org Solutions
Architecting Multi-Org SolutionsArchitecting Multi-Org Solutions
Architecting Multi-Org Solutions
 
Integrating with salesforce using platform events
Integrating with salesforce using platform eventsIntegrating with salesforce using platform events
Integrating with salesforce using platform events
 
Salesforce integration architecture 20200529
Salesforce integration architecture 20200529Salesforce integration architecture 20200529
Salesforce integration architecture 20200529
 
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発
Salesforce DXとLightning Web ComponentsでモダンSalesforceアプリ開発
 
Integrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity ConnectIntegrating Active Directory With Salesforce Using Identity Connect
Integrating Active Directory With Salesforce Using Identity Connect
 
Introduction To Salesforce Content Management System (CMS)
Introduction To Salesforce Content Management System (CMS)Introduction To Salesforce Content Management System (CMS)
Introduction To Salesforce Content Management System (CMS)
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
 
Salesforce Integration Patterns
Salesforce Integration PatternsSalesforce Integration Patterns
Salesforce Integration Patterns
 
9 Principles for Salesforce Application Architecture
9 Principles for Salesforce Application Architecture9 Principles for Salesforce Application Architecture
9 Principles for Salesforce Application Architecture
 
Platform Events by Tim Taylor
Platform Events by Tim TaylorPlatform Events by Tim Taylor
Platform Events by Tim Taylor
 
Sharing and security in Salesforce
Sharing and security in SalesforceSharing and security in Salesforce
Sharing and security in Salesforce
 
Manage Salesforce Like a Pro with Governance
Manage Salesforce Like a Pro with GovernanceManage Salesforce Like a Pro with Governance
Manage Salesforce Like a Pro with Governance
 
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
 

Similar to Successfully retrieving metadata from salesforce org using packages

Successfully creating unlocked package
Successfully creating unlocked packageSuccessfully creating unlocked package
Successfully creating unlocked packageMohith Shrivastava
 
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program ArchitectSalesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architectgemziebeth
 
Winter 21 Developer Highlights for Salesforce
Winter 21 Developer Highlights for SalesforceWinter 21 Developer Highlights for Salesforce
Winter 21 Developer Highlights for SalesforcePeter Chittum
 
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Dreamforce 2019: "Using Quip for Better Documentation of your Salesforce Org"
Dreamforce 2019: "Using Quip for Better Documentation of your Salesforce Org"Dreamforce 2019: "Using Quip for Better Documentation of your Salesforce Org"
Dreamforce 2019: "Using Quip for Better Documentation of your Salesforce Org"Prag Ravichandran Kamalaveni (he/him)
 
TrailheadX Presentation - 2020 Cluj
TrailheadX Presentation -  2020 ClujTrailheadX Presentation -  2020 Cluj
TrailheadX Presentation - 2020 ClujArpad Komaromi
 
CLE TrailheaDX 2020 Global Gathering
CLE TrailheaDX 2020 Global GatheringCLE TrailheaDX 2020 Global Gathering
CLE TrailheaDX 2020 Global GatheringLynda Kane
 
Bootstrapping DX in Your Enterprise - AutoRABIT at TrailheaDX
Bootstrapping DX in Your Enterprise - AutoRABIT at TrailheaDXBootstrapping DX in Your Enterprise - AutoRABIT at TrailheaDX
Bootstrapping DX in Your Enterprise - AutoRABIT at TrailheaDXAutoRABIT
 
Summer 23 LWC Updates + Slack Apps.pptx
Summer 23 LWC Updates + Slack Apps.pptxSummer 23 LWC Updates + Slack Apps.pptx
Summer 23 LWC Updates + Slack Apps.pptxKishore B T
 
WT19: Metadata Magic: Maintain Code, Without the Code!
WT19: Metadata Magic: Maintain Code, Without the Code!WT19: Metadata Magic: Maintain Code, Without the Code!
WT19: Metadata Magic: Maintain Code, Without the Code!Salesforce Admins
 
SFWelly user group spring '22 release highlights with Mel Macdonald
SFWelly user group spring '22 release highlights with Mel MacdonaldSFWelly user group spring '22 release highlights with Mel Macdonald
SFWelly user group spring '22 release highlights with Mel MacdonaldAnna Loughnan Colquhoun
 
Alba Rivas - Building Slack Applications with Bolt.js.pdf
Alba Rivas - Building Slack Applications with Bolt.js.pdfAlba Rivas - Building Slack Applications with Bolt.js.pdf
Alba Rivas - Building Slack Applications with Bolt.js.pdfMarkPawlikowski2
 
My trailhead - salesforce user group, Frankfurt, Germany - 02.09.2021
My trailhead - salesforce user group, Frankfurt, Germany - 02.09.2021My trailhead - salesforce user group, Frankfurt, Germany - 02.09.2021
My trailhead - salesforce user group, Frankfurt, Germany - 02.09.2021Alan Thomas Payne
 
Orchestrator and Flow in Slack: Antoine Cabot - Jacksonville Architects - Sal...
Orchestrator and Flow in Slack: Antoine Cabot - Jacksonville Architects - Sal...Orchestrator and Flow in Slack: Antoine Cabot - Jacksonville Architects - Sal...
Orchestrator and Flow in Slack: Antoine Cabot - Jacksonville Architects - Sal...A. Engin Utkan
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
Essential Habits for Salesforce Admins: Security
Essential Habits for Salesforce Admins: SecurityEssential Habits for Salesforce Admins: Security
Essential Habits for Salesforce Admins: SecuritySalesforce Admins
 
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...Amol Dixit
 

Similar to Successfully retrieving metadata from salesforce org using packages (20)

Successfully creating unlocked package
Successfully creating unlocked packageSuccessfully creating unlocked package
Successfully creating unlocked package
 
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program ArchitectSalesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
 
Winter 21 Developer Highlights for Salesforce
Winter 21 Developer Highlights for SalesforceWinter 21 Developer Highlights for Salesforce
Winter 21 Developer Highlights for Salesforce
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Summer '20 Release Overview
Summer '20 Release OverviewSummer '20 Release Overview
Summer '20 Release Overview
 
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Dreamforce 2019: "Using Quip for Better Documentation of your Salesforce Org"
Dreamforce 2019: "Using Quip for Better Documentation of your Salesforce Org"Dreamforce 2019: "Using Quip for Better Documentation of your Salesforce Org"
Dreamforce 2019: "Using Quip for Better Documentation of your Salesforce Org"
 
TrailheadX Presentation - 2020 Cluj
TrailheadX Presentation -  2020 ClujTrailheadX Presentation -  2020 Cluj
TrailheadX Presentation - 2020 Cluj
 
CLE TrailheaDX 2020 Global Gathering
CLE TrailheaDX 2020 Global GatheringCLE TrailheaDX 2020 Global Gathering
CLE TrailheaDX 2020 Global Gathering
 
Bootstrapping DX in Your Enterprise - AutoRABIT at TrailheaDX
Bootstrapping DX in Your Enterprise - AutoRABIT at TrailheaDXBootstrapping DX in Your Enterprise - AutoRABIT at TrailheaDX
Bootstrapping DX in Your Enterprise - AutoRABIT at TrailheaDX
 
Summer 23 LWC Updates + Slack Apps.pptx
Summer 23 LWC Updates + Slack Apps.pptxSummer 23 LWC Updates + Slack Apps.pptx
Summer 23 LWC Updates + Slack Apps.pptx
 
Intro to Tableau - SL Dev Group.pdf
Intro to Tableau - SL Dev Group.pdfIntro to Tableau - SL Dev Group.pdf
Intro to Tableau - SL Dev Group.pdf
 
WT19: Metadata Magic: Maintain Code, Without the Code!
WT19: Metadata Magic: Maintain Code, Without the Code!WT19: Metadata Magic: Maintain Code, Without the Code!
WT19: Metadata Magic: Maintain Code, Without the Code!
 
SFWelly user group spring '22 release highlights with Mel Macdonald
SFWelly user group spring '22 release highlights with Mel MacdonaldSFWelly user group spring '22 release highlights with Mel Macdonald
SFWelly user group spring '22 release highlights with Mel Macdonald
 
Alba Rivas - Building Slack Applications with Bolt.js.pdf
Alba Rivas - Building Slack Applications with Bolt.js.pdfAlba Rivas - Building Slack Applications with Bolt.js.pdf
Alba Rivas - Building Slack Applications with Bolt.js.pdf
 
My trailhead - salesforce user group, Frankfurt, Germany - 02.09.2021
My trailhead - salesforce user group, Frankfurt, Germany - 02.09.2021My trailhead - salesforce user group, Frankfurt, Germany - 02.09.2021
My trailhead - salesforce user group, Frankfurt, Germany - 02.09.2021
 
Orchestrator and Flow in Slack: Antoine Cabot - Jacksonville Architects - Sal...
Orchestrator and Flow in Slack: Antoine Cabot - Jacksonville Architects - Sal...Orchestrator and Flow in Slack: Antoine Cabot - Jacksonville Architects - Sal...
Orchestrator and Flow in Slack: Antoine Cabot - Jacksonville Architects - Sal...
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
Essential Habits for Salesforce Admins: Security
Essential Habits for Salesforce Admins: SecurityEssential Habits for Salesforce Admins: Security
Essential Habits for Salesforce Admins: Security
 
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
Manage and Release Changes Easily and Collaboratively with DevOps Center - Sa...
 

More from Mohith Shrivastava

Deep dive into salesforce connected app part 4
Deep dive into salesforce connected app   part 4Deep dive into salesforce connected app   part 4
Deep dive into salesforce connected app part 4Mohith Shrivastava
 
Deep dive into salesforce connected app - part 2
Deep dive into salesforce connected app - part 2Deep dive into salesforce connected app - part 2
Deep dive into salesforce connected app - part 2Mohith Shrivastava
 
Enhance salesforce application performance using lightning platform cache
Enhance salesforce application performance using lightning platform cacheEnhance salesforce application performance using lightning platform cache
Enhance salesforce application performance using lightning platform cacheMohith Shrivastava
 
Build your own dev tools with salesforce cli plugin generator
Build your own dev tools with salesforce cli plugin generatorBuild your own dev tools with salesforce cli plugin generator
Build your own dev tools with salesforce cli plugin generatorMohith Shrivastava
 
Modular application development using unlocked packages
Modular application development using unlocked packagesModular application development using unlocked packages
Modular application development using unlocked packagesMohith Shrivastava
 
Introduction to lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web ComponentMohith Shrivastava
 
Modular Salesforce Application Development Using DX
Modular Salesforce Application Development Using DXModular Salesforce Application Development Using DX
Modular Salesforce Application Development Using DXMohith Shrivastava
 
Spring18 Lightning Component Updates
Spring18 Lightning Component UpdatesSpring18 Lightning Component Updates
Spring18 Lightning Component UpdatesMohith Shrivastava
 
Introduction To Service Cloud Snapins SDK
Introduction To Service Cloud Snapins SDKIntroduction To Service Cloud Snapins SDK
Introduction To Service Cloud Snapins SDKMohith Shrivastava
 
Introduction to einstein analytics sdk for lightning
Introduction to einstein analytics sdk for lightningIntroduction to einstein analytics sdk for lightning
Introduction to einstein analytics sdk for lightningMohith Shrivastava
 
Machine learning with salesforce data using prediction io
Machine learning with salesforce data using prediction ioMachine learning with salesforce data using prediction io
Machine learning with salesforce data using prediction ioMohith Shrivastava
 
Debugging lightning components-SEDreamin17
Debugging lightning components-SEDreamin17Debugging lightning components-SEDreamin17
Debugging lightning components-SEDreamin17Mohith Shrivastava
 
Introduction to Analytics Cloud
Introduction to Analytics CloudIntroduction to Analytics Cloud
Introduction to Analytics CloudMohith Shrivastava
 
Debugging lightning components
Debugging lightning componentsDebugging lightning components
Debugging lightning componentsMohith Shrivastava
 
Introduction to lightning out df16
Introduction to lightning out   df16Introduction to lightning out   df16
Introduction to lightning out df16Mohith Shrivastava
 
Introduction to lightning components
Introduction to lightning componentsIntroduction to lightning components
Introduction to lightning componentsMohith Shrivastava
 
Lighnting component development
Lighnting component developmentLighnting component development
Lighnting component developmentMohith Shrivastava
 

More from Mohith Shrivastava (20)

Deep dive into salesforce connected app part 4
Deep dive into salesforce connected app   part 4Deep dive into salesforce connected app   part 4
Deep dive into salesforce connected app part 4
 
Implementing Einstein OCR
Implementing Einstein OCRImplementing Einstein OCR
Implementing Einstein OCR
 
Deep dive into salesforce connected app - part 2
Deep dive into salesforce connected app - part 2Deep dive into salesforce connected app - part 2
Deep dive into salesforce connected app - part 2
 
Enhance salesforce application performance using lightning platform cache
Enhance salesforce application performance using lightning platform cacheEnhance salesforce application performance using lightning platform cache
Enhance salesforce application performance using lightning platform cache
 
Become a rockstar admin
Become a rockstar adminBecome a rockstar admin
Become a rockstar admin
 
Build your own dev tools with salesforce cli plugin generator
Build your own dev tools with salesforce cli plugin generatorBuild your own dev tools with salesforce cli plugin generator
Build your own dev tools with salesforce cli plugin generator
 
Modular application development using unlocked packages
Modular application development using unlocked packagesModular application development using unlocked packages
Modular application development using unlocked packages
 
Introduction to lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web Component
 
Building Apps On Lightning
Building Apps On LightningBuilding Apps On Lightning
Building Apps On Lightning
 
Modular Salesforce Application Development Using DX
Modular Salesforce Application Development Using DXModular Salesforce Application Development Using DX
Modular Salesforce Application Development Using DX
 
Spring18 Lightning Component Updates
Spring18 Lightning Component UpdatesSpring18 Lightning Component Updates
Spring18 Lightning Component Updates
 
Introduction To Service Cloud Snapins SDK
Introduction To Service Cloud Snapins SDKIntroduction To Service Cloud Snapins SDK
Introduction To Service Cloud Snapins SDK
 
Introduction to einstein analytics sdk for lightning
Introduction to einstein analytics sdk for lightningIntroduction to einstein analytics sdk for lightning
Introduction to einstein analytics sdk for lightning
 
Machine learning with salesforce data using prediction io
Machine learning with salesforce data using prediction ioMachine learning with salesforce data using prediction io
Machine learning with salesforce data using prediction io
 
Debugging lightning components-SEDreamin17
Debugging lightning components-SEDreamin17Debugging lightning components-SEDreamin17
Debugging lightning components-SEDreamin17
 
Introduction to Analytics Cloud
Introduction to Analytics CloudIntroduction to Analytics Cloud
Introduction to Analytics Cloud
 
Debugging lightning components
Debugging lightning componentsDebugging lightning components
Debugging lightning components
 
Introduction to lightning out df16
Introduction to lightning out   df16Introduction to lightning out   df16
Introduction to lightning out df16
 
Introduction to lightning components
Introduction to lightning componentsIntroduction to lightning components
Introduction to lightning components
 
Lighnting component development
Lighnting component developmentLighnting component development
Lighnting component development
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

Successfully retrieving metadata from salesforce org using packages

  • 1. Successfully Retrieving Metadata From Salesforce Org using Packages @msrivastav13 | mohith.shrivastava@salesforce.com Mohith Shrivastava, Lead Developer Evangelist
  • 2. Forward-Looking Statement Statement under the Private Securities Litigation Reform Act of 1995: This presentation contains forward-looking statements about the company’s financial and operating results, which may include expected GAAP and non-GAAP financial and other operating and non-operating results, including revenue, net income, diluted earnings per share, operating cash flow growth, operating margin improvement, expected revenue growth, expected current remaining performance obligation growth, expected tax rates, the one-time accounting non-cash charge that was incurred in connection with the Salesforce.org combination; stock- based compensation expenses, amortization of purchased intangibles, shares outstanding, market growth and sustainability goals. The achievement or success of the matters covered by such forward-looking statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, the company’s results could differ materially from the results expressed or implied by the forward-looking statements we make. The risks and uncertainties referred to above include -- but are not limited to -- risks associated with the effect of general economic and market conditions; the impact of geopolitical events; the impact of foreign currency exchange rate and interest rate fluctuations on our results; our business strategy and our plan to build our business, including our strategy to be the leading provider of enterprise cloud computing applications and platforms; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; the competitive nature of the market in which we participate; our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer base and operations, including as a result of acquisitions; our service performance and security, including the resources and costs required to avoid unanticipated downtime and prevent, detect and remediate potential security breaches; the expenses associated with new data centers and third-party infrastructure providers; additional data center capacity; real estate and office facilities space; our operating results and cash flows; new services and product features, including any efforts to expand our services beyond the CRM market; our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; the performance and fair value of our investments in complementary businesses through our strategic investment portfolio; our ability to realize the benefits from strategic partnerships, joint ventures and investments; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly traded companies within the company's strategic investment portfolio; our ability to execute our business plans; our ability to successfully integrate acquired businesses and technologies, including delays related to the integration of Tableau due to regulatory review by the United Kingdom Competition and Markets Authority; our ability to continue to grow unearned revenue and remaining performance obligation; our ability to protect our intellectual property rights; our ability to develop our brands; our reliance on third-party hardware, software and platform providers; our dependency on the development and maintenance of the infrastructure of the Internet; the effect of evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those addressing data privacy, cross-border data transfers and import and export controls; the valuation of our deferred tax assets and the release of related valuation allowances; the potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate; the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; factors related to our outstanding debt, revolving credit facility, term loan and loan associated with 50 Fremont; compliance with our debt covenants and lease obligations; current and potential litigation involving us; and the impact of climate change. Further information on these and other factors that could affect the company’s financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings it makes with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of the company’s website at www.salesforce.com/investor. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.
  • 3. Learning Objectives ● What is Org Metadata and what is a happy soup? ● Salesforce CLI Commands to explore your org Metadata. ● Understanding Dependency between various metadata ● What is Source Tracking feature? ● Retrieving org metadata using Salesforce CLI and packages
  • 4. Dependency between Metadata Custom Object Field A Field B LWC XYApex Class XYValidation Rule XPage Layout x
  • 6. Release at faster pace with confidence Your package has same metadata thats there in your git repo Why do we need to package metadata? Automate deployments. Build once and install in sandbox for testing and deploy to production with confidence Salesforce DX Source format Deploy to Multiple orgs Modular application development Source Driven Development Build once and deploy anywhere If your org has large number of components it becomes hard to iterate quickly Packages can be tracked in an installed org as they show up as installed packages with a set of associated metadata. Change Management is more streamlined. Creation of packages can be scripted using Salesforce CLI Organise Metadata Adopt CI/CD with Salesforce DX Trackable Easier Change Management
  • 7. Upgrade Behaviour Options ● Mixed Mode (Default behaviour) - Listed components are deleted except when the subscriber package has a reference and all others are deprecated. ● Deprecate Only - Deprecates all components and are not deleted. Very useful when moving metadata from one package to other. ● Delete - Delete specifies to delete all removed components, except for custom objects and custom fields, that don’t have dependencies. Options when installing the unlocked packages
  • 8. Horizontal Slicing Pros Cons Shared packages for shared metadata, code can help org governance Large packages that change frequently can add overhead Less prone restrictions relating to inability to untangle objects, etc. Allows option to use vertical slicing where needed Views on Fit Fewer questions of what constitutes a package boundary, where should new development artifacts go, etc Faster developer onboarding, fewer questions of what packages do I need/what should I be developing against. Executing against a framework/structure that's provided. Basically developers are not driving org and devops management. May be more viable path to adoption, without a declarative/UI-based tool to manage package changes. More prescribed, less advanced code required, easier for declarative Org Metadata/Config that cannot be packaged or decomposed (Layouts, Profiles) Base Objects, Fields, Related Permission Sets
  • 9. Vertical Slicing Views on Fit Assumes more ability to manage DI and more true isolation between business units Assumes developers will be around & have the skills & are empowered to make decisions about package structures in the long- term. Package boundaries are not as prescribed. When I make a new set of fields for Module C and new Apex services that could be reused by A & B, how do I decide where those changes go? Unless I know about A & B, I would be predisposed to just put everything into C. Built around an implicit assumption of in-house developers, or at least, teams of devs that have long-term ownership of their artifacts. Pros Cons Packages are more self-contained and managed. Only possible when there is a clear set of objects that can be associated with a module. Dependencies on AppExchange packages are more isolated, dev environments and scratch orgs can be more straightforward to set up. Requires a cap-stone package (or just left in the org) for all the things you cannot decompose at present. Supports the option to go horizontal in places if needed Governance is more complex. Flexible, more advanced code required, packages are developer-driven Org Metadata/Config that cannot be packaged or decomposed (Layouts, Profiles)
  • 10. Unofficial Tools for Helping Org Modularization Dependencies CLI - https://github.com/forcedotcom/dependencies-cli Org Visualizer App https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000G11oIUAR Metadata Dependency API - https://developer.salesforce.com/docs/atlas.en- us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacomponentdependency.htm NOTE - All of this has no official salesforce support but if you are developer centric you should be able to fork and enhance this as they are open source.
  • 11. Check out these resources and earn badges on Trailhead Learn more about Release Management with Salesforce Application Lifecycle and Development Models Learn how to use application lifecycle and development models on the Lightning Platform. Git and GitHub Basics Learn about version control systems and practice using Git and GitHub Build an Automated CI/CD Pipeline with GitLab Integrate with GitLab and define steps for efficient application development. App Development with Salesforce DX Use the Salesforce command-line interface to create, convert, and deploy apps. Quick Start: Visual Studio Code for Salesforce Development description