SlideShare a Scribd company logo
Farmington Hills Salesforce Developer User
Group
Salesforce Apex Hours - Modular
Application Development Using
Unlocked Packages
#SalesforceApexHours #FarmingtonHillsSFDCDug
Speaker :- Mohith Shrivastava, Amit Chaudhary
Date :- Saturday, March 2, 2018 10:00 AM EST
Venue/Link :- https://zoom.us/j/875155044
Who am I ?
Amit Chaudhary (Salesforce MVP)
• Founder of ApexHours
• Blogging at http://amitsalesforce.blogspot.in/
• Follow me @amit_sfdc
Our Speaker
Mohith Shrivastava
Salesforce MVP
Author “Learning Salesforce Lightning
Application Development”
Technical Architect - Codescience INC
Agenda
● Introduction To Salesforce Packaging
● Differentiate between unmanaged packages , managed packaged and unlocked
packages
● Modular Application Development Concepts
● Building unlocked packages using salesforce cli
● Publishing and Installing Unlocked packages
● Creating Dependency between packages
● References
● Q&A
Introduction To Packaging
● Packaging allows you to group various Salesforce Components (Apps ,
Tabs , Objects , Layouts , Workflows, Approval Process Flows , visualforce ,
apex , lightning components , profiles , permission sets and other
metadata) for distribution or deployment .
● A package can also be defined as a container and allows for
deployment of the components across various salesforce organizations.
● Salesforce Set up UI and Salesforce CLI allows for creation of these
● Package Creation yields a URL that allows it to install in various orgs
Differentiate between Unmanaged packages ,
Managed packaged and Unlocked packages
Unmanaged
Package
Not upgradable
Metadata elements are not IP
Protected
Can we created in Salesforce
UI
Unmanaged package
containers automatically pull
dependency
Managed
Package
Upgradable and has
namespace
Metadata elements are IP
Protected
Can be created in salesforce UI
and distributed via
appexchange
Components are locked and
one cannot modify them
directly in production or
sandbox
Allows for creation of extension
packages
Unlocked
Package
Upgradable and one can
namespace them or choose
not to
Metadata elements are not
locked and can be changed
by system admins
Requires Salesforce CLI to
generate them
Allows you to build your
applications in a modular way
Easier to manage when
codebase is modularized
Modular Application
Development Concepts
● Break Your one monolithic app to
multiple packages defining
dependency between them .
● Unlock packages allow you to do them
Credits To Salesforce Trailhead Team For this
diagram
Building Unlocked packages using Salesforce CLI
● Unlocked packages cannot be created using salesforce UI and requires knowledge of salesforce
CLI and requires source code in DX Source format .
● Scratch orgs are not required but a DevHub is mandatory . However scratch orgs are
recommended since the deployment to them is faster .
● One can create a package using below
sfdx force:package:create --name <name> --description <description> --packagetype Unlocked --
path force-app --nonamespace --targetdevhubusername <Devhubalias>
● Create a package version as below
sfdx force:package:version:create -p <packagename> -d force-app --wait 10 -v <Devhubalias>
Publishing and Installing Unlocked packages
● sfdx-project.json defines the Version Name and version number
● Installing can be using the Subscriber Package Version Id
● Installation can also be done via the Salesforce CLI
sfdx force:package:install --wait 10 --publishwait 10 --package <packagename>@1.0.0-1 -r
-u <alias>
● By Default a BETA package is generated . We can promote a package using below
sfdx force:package:version:promote -p <packagename>@1.0.0-1 -v <DevHubalias>
Creating Dependency between packages
● sfdx-project.json can be used to define dependency between packages
References
Created a Trail Mix with relevant Trailhead Module
App Development Guide
Dreamforce Session
4 part blog series on this topic from Salesforce Developer Evangelist Team
Thank You
Thank you for attending the session.
Follow us
#SalesforceApexHours @ApexHours
http://www.apexhours.com/
https://trailblazercommunitygroups.com/farmington-mi-
developers-group/
https://www.youtube.com/channel/UChTdRj6YfwqhR_WEFepkcJw/
videos
https://www.facebook.com/SalesforceApexHours

More Related Content

What's hot (20)

PPTX
Salesforce Lightning workshop Hartford - 12 March
Jitendra Zaa
 
PPTX
Live session 2 lightning web component
SmritiSharan1
 
PPTX
Salesforce Apex Hours: What means Winter 18 for Developers
Amit Chaudhary
 
PPTX
ASP.NET Core
Maurice De Beijer [MVP]
 
PPTX
Introduction to Lightning Web Component
SmritiSharan1
 
PDF
Fun with Jenkins & Salesforce
Abhinav Gupta
 
PPTX
LDC Via building a new app
Mark Myers
 
PPTX
What's new in Visual Studio 2013 & TFS 2013
Danijel Malik
 
PDF
Mule 4 meetup @Hyderabad
Vijay Reddy
 
PPTX
ASP.NET Core MVC + Web API with Overview (Post RC2)
Shahed Chowdhuri
 
PPTX
CI CD Daridabad MuleSoft meetup
Amit Singh
 
PDF
Tomasz Janczuk - Webtaskalifragilistexpialidocious
ServerlessConf
 
PPTX
ASP.NET Core MVC + Web API with Overview
Shahed Chowdhuri
 
PPTX
ASP.NET Core 1.0 Overview: Pre-RC2
Shahed Chowdhuri
 
PPTX
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
WinWire Technologies Inc
 
PPTX
Welcome to the World of WordPress
Content Connects, Nashville
 
PDF
O365Con18 - Yo I want to extend - Stefan Bauer
NCCOMMS
 
PPTX
Salesforce Apex Hours : Node red for salesforce
Amit Chaudhary
 
PPT
Impact Of A Cms Framework Change - Holland Open Netherlands
Wilco Jansen
 
PPTX
ASP.NET Core MVC + Web API with Overview
Shahed Chowdhuri
 
Salesforce Lightning workshop Hartford - 12 March
Jitendra Zaa
 
Live session 2 lightning web component
SmritiSharan1
 
Salesforce Apex Hours: What means Winter 18 for Developers
Amit Chaudhary
 
Introduction to Lightning Web Component
SmritiSharan1
 
Fun with Jenkins & Salesforce
Abhinav Gupta
 
LDC Via building a new app
Mark Myers
 
What's new in Visual Studio 2013 & TFS 2013
Danijel Malik
 
Mule 4 meetup @Hyderabad
Vijay Reddy
 
ASP.NET Core MVC + Web API with Overview (Post RC2)
Shahed Chowdhuri
 
CI CD Daridabad MuleSoft meetup
Amit Singh
 
Tomasz Janczuk - Webtaskalifragilistexpialidocious
ServerlessConf
 
ASP.NET Core MVC + Web API with Overview
Shahed Chowdhuri
 
ASP.NET Core 1.0 Overview: Pre-RC2
Shahed Chowdhuri
 
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
WinWire Technologies Inc
 
Welcome to the World of WordPress
Content Connects, Nashville
 
O365Con18 - Yo I want to extend - Stefan Bauer
NCCOMMS
 
Salesforce Apex Hours : Node red for salesforce
Amit Chaudhary
 
Impact Of A Cms Framework Change - Holland Open Netherlands
Wilco Jansen
 
ASP.NET Core MVC + Web API with Overview
Shahed Chowdhuri
 

Similar to Modular application development using unlocked packages (20)

PPTX
Dublin Meetup: TrailheaDX '18
Fabrice Cathala
 
PDF
Salesforce DX & Deep Dive demo on force:data commands
Steven Hugo
 
PDF
Accenture Salesforce Developer Meetup vol 1 2019
Accenture Hungary
 
PDF
Our move to Salesforce DX and Unlocked Packages
Fabien Taillon
 
PDF
TDX19 - Untangle Your Org with Salesforce Developer Tools
Doug Ayers
 
PPTX
Empower admins with the power of salesforce dx, git and cicd pipeline
Amit Chaudhary
 
PPTX
PhillyForce 2018 - Salesforce Platform Keynote
andyinthecloud
 
PPTX
Build sfdx plugin in 15 minutes
Jitendra Zaa
 
PPTX
Deploying to the Salesforce1 Platform
Keir Bowden
 
PPTX
Successfully creating unlocked package
Mohith Shrivastava
 
PPTX
Building Apps On Lightning
Mohith Shrivastava
 
PPTX
01 #awesome admin tdx19 global gatherings highlights for admins final
szurley
 
PPTX
Trailhead Live Developer Workshop - Salesforce App Cloud
Sam Garforth
 
PPTX
Simplify your code with Salesforce DX and module development
Salesforce Developers
 
PDF
Elevate london dec 2014.pptx
Peter Chittum
 
PPTX
TrailheaDX GlobalGathering 2019 Presentation
Pankaj Badaya
 
PPTX
Dev day paris020415
pdufourSFDC
 
PPTX
Trailhead live - Overview of Salesforce App Cloud
John Stevenson
 
PPTX
Packaging your App for AppExchange – Managed Vs Unmanaged.pptx
mohayyudin7826
 
Dublin Meetup: TrailheaDX '18
Fabrice Cathala
 
Salesforce DX & Deep Dive demo on force:data commands
Steven Hugo
 
Accenture Salesforce Developer Meetup vol 1 2019
Accenture Hungary
 
Our move to Salesforce DX and Unlocked Packages
Fabien Taillon
 
TDX19 - Untangle Your Org with Salesforce Developer Tools
Doug Ayers
 
Empower admins with the power of salesforce dx, git and cicd pipeline
Amit Chaudhary
 
PhillyForce 2018 - Salesforce Platform Keynote
andyinthecloud
 
Build sfdx plugin in 15 minutes
Jitendra Zaa
 
Deploying to the Salesforce1 Platform
Keir Bowden
 
Successfully creating unlocked package
Mohith Shrivastava
 
Building Apps On Lightning
Mohith Shrivastava
 
01 #awesome admin tdx19 global gatherings highlights for admins final
szurley
 
Trailhead Live Developer Workshop - Salesforce App Cloud
Sam Garforth
 
Simplify your code with Salesforce DX and module development
Salesforce Developers
 
Elevate london dec 2014.pptx
Peter Chittum
 
TrailheaDX GlobalGathering 2019 Presentation
Pankaj Badaya
 
Dev day paris020415
pdufourSFDC
 
Trailhead live - Overview of Salesforce App Cloud
John Stevenson
 
Packaging your App for AppExchange – Managed Vs Unmanaged.pptx
mohayyudin7826
 
Ad

More from Amit Chaudhary (20)

PPTX
Platform cache
Amit Chaudhary
 
PPTX
Apex code Benchmarking
Amit Chaudhary
 
PPTX
Marketing cloud development
Amit Chaudhary
 
PPTX
Einstein Next Best Action (NBA)
Amit Chaudhary
 
PPTX
Pardot basics
Amit Chaudhary
 
PPTX
Lightning web components
Amit Chaudhary
 
PPTX
Lightning web components
Amit Chaudhary
 
PPTX
Lightning Locker Services
Amit Chaudhary
 
PDF
Salesforce apex hours heroku connect - deep dive
Amit Chaudhary
 
PPTX
Salesforce apex hours :- azure active directory seamless single sign-on with...
Amit Chaudhary
 
PPTX
Einstein Analytics Part 2
Amit Chaudhary
 
PPTX
Einstein Analytics
Amit Chaudhary
 
PPTX
Demystifying the salesforce reports api
Amit Chaudhary
 
PPTX
Salesforce apex hours Einstein platform services
Amit Chaudhary
 
PPTX
Salesforce Apex Hours : How Lightning Platform Query Optimizer works for LDV
Amit Chaudhary
 
PPTX
Einstein bots
Amit Chaudhary
 
PPTX
Integrating with salesforce using platform events
Amit Chaudhary
 
PPTX
Einstein analytics basics
Amit Chaudhary
 
PPTX
Salesforce apex hours : Introduction to external services
Amit Chaudhary
 
PPTX
Big Objects in Salesforce
Amit Chaudhary
 
Platform cache
Amit Chaudhary
 
Apex code Benchmarking
Amit Chaudhary
 
Marketing cloud development
Amit Chaudhary
 
Einstein Next Best Action (NBA)
Amit Chaudhary
 
Pardot basics
Amit Chaudhary
 
Lightning web components
Amit Chaudhary
 
Lightning web components
Amit Chaudhary
 
Lightning Locker Services
Amit Chaudhary
 
Salesforce apex hours heroku connect - deep dive
Amit Chaudhary
 
Salesforce apex hours :- azure active directory seamless single sign-on with...
Amit Chaudhary
 
Einstein Analytics Part 2
Amit Chaudhary
 
Einstein Analytics
Amit Chaudhary
 
Demystifying the salesforce reports api
Amit Chaudhary
 
Salesforce apex hours Einstein platform services
Amit Chaudhary
 
Salesforce Apex Hours : How Lightning Platform Query Optimizer works for LDV
Amit Chaudhary
 
Einstein bots
Amit Chaudhary
 
Integrating with salesforce using platform events
Amit Chaudhary
 
Einstein analytics basics
Amit Chaudhary
 
Salesforce apex hours : Introduction to external services
Amit Chaudhary
 
Big Objects in Salesforce
Amit Chaudhary
 
Ad

Recently uploaded (20)

PDF
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PDF
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
PDF
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
PPTX
Growth and development and milestones, factors
BHUVANESHWARI BADIGER
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
PDF
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
PDF
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PPTX
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
PPTX
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
PPTX
ASRB NET 2023 PREVIOUS YEAR QUESTION PAPER GENETICS AND PLANT BREEDING BY SAT...
Krashi Coaching
 
PDF
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - GLOBAL SUCCESS - CẢ NĂM - NĂM 2024 (VOCABULARY, ...
Nguyen Thanh Tu Collection
 
PDF
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
PPTX
I AM MALALA The Girl Who Stood Up for Education and was Shot by the Taliban...
Beena E S
 
PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PDF
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
Growth and development and milestones, factors
BHUVANESHWARI BADIGER
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
Knee Extensor Mechanism Injuries - Orthopedic Radiologic Imaging
Sean M. Fox
 
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
ASRB NET 2023 PREVIOUS YEAR QUESTION PAPER GENETICS AND PLANT BREEDING BY SAT...
Krashi Coaching
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - GLOBAL SUCCESS - CẢ NĂM - NĂM 2024 (VOCABULARY, ...
Nguyen Thanh Tu Collection
 
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
I AM MALALA The Girl Who Stood Up for Education and was Shot by the Taliban...
Beena E S
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
LAW OF CONTRACT (5 YEAR LLB & UNITARY LLB )- MODULE - 1.& 2 - LEARN THROUGH P...
APARNA T SHAIL KUMAR
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 

Modular application development using unlocked packages

  • 1. Farmington Hills Salesforce Developer User Group Salesforce Apex Hours - Modular Application Development Using Unlocked Packages #SalesforceApexHours #FarmingtonHillsSFDCDug Speaker :- Mohith Shrivastava, Amit Chaudhary Date :- Saturday, March 2, 2018 10:00 AM EST Venue/Link :- https://zoom.us/j/875155044
  • 2. Who am I ? Amit Chaudhary (Salesforce MVP) • Founder of ApexHours • Blogging at http://amitsalesforce.blogspot.in/ • Follow me @amit_sfdc
  • 3. Our Speaker Mohith Shrivastava Salesforce MVP Author “Learning Salesforce Lightning Application Development” Technical Architect - Codescience INC
  • 4. Agenda ● Introduction To Salesforce Packaging ● Differentiate between unmanaged packages , managed packaged and unlocked packages ● Modular Application Development Concepts ● Building unlocked packages using salesforce cli ● Publishing and Installing Unlocked packages ● Creating Dependency between packages ● References ● Q&A
  • 5. Introduction To Packaging ● Packaging allows you to group various Salesforce Components (Apps , Tabs , Objects , Layouts , Workflows, Approval Process Flows , visualforce , apex , lightning components , profiles , permission sets and other metadata) for distribution or deployment . ● A package can also be defined as a container and allows for deployment of the components across various salesforce organizations. ● Salesforce Set up UI and Salesforce CLI allows for creation of these ● Package Creation yields a URL that allows it to install in various orgs
  • 6. Differentiate between Unmanaged packages , Managed packaged and Unlocked packages Unmanaged Package Not upgradable Metadata elements are not IP Protected Can we created in Salesforce UI Unmanaged package containers automatically pull dependency Managed Package Upgradable and has namespace Metadata elements are IP Protected Can be created in salesforce UI and distributed via appexchange Components are locked and one cannot modify them directly in production or sandbox Allows for creation of extension packages Unlocked Package Upgradable and one can namespace them or choose not to Metadata elements are not locked and can be changed by system admins Requires Salesforce CLI to generate them Allows you to build your applications in a modular way Easier to manage when codebase is modularized
  • 7. Modular Application Development Concepts ● Break Your one monolithic app to multiple packages defining dependency between them . ● Unlock packages allow you to do them Credits To Salesforce Trailhead Team For this diagram
  • 8. Building Unlocked packages using Salesforce CLI ● Unlocked packages cannot be created using salesforce UI and requires knowledge of salesforce CLI and requires source code in DX Source format . ● Scratch orgs are not required but a DevHub is mandatory . However scratch orgs are recommended since the deployment to them is faster . ● One can create a package using below sfdx force:package:create --name <name> --description <description> --packagetype Unlocked -- path force-app --nonamespace --targetdevhubusername <Devhubalias> ● Create a package version as below sfdx force:package:version:create -p <packagename> -d force-app --wait 10 -v <Devhubalias>
  • 9. Publishing and Installing Unlocked packages ● sfdx-project.json defines the Version Name and version number ● Installing can be using the Subscriber Package Version Id ● Installation can also be done via the Salesforce CLI sfdx force:package:install --wait 10 --publishwait 10 --package <packagename>@1.0.0-1 -r -u <alias> ● By Default a BETA package is generated . We can promote a package using below sfdx force:package:version:promote -p <packagename>@1.0.0-1 -v <DevHubalias>
  • 10. Creating Dependency between packages ● sfdx-project.json can be used to define dependency between packages
  • 11. References Created a Trail Mix with relevant Trailhead Module App Development Guide Dreamforce Session 4 part blog series on this topic from Salesforce Developer Evangelist Team
  • 12. Thank You Thank you for attending the session.