Education · General TopicsEducation
- AppExchange Partners (ISV)
-
Resellers
-
Reseller Marketing Journey
- Get_Organized_Before_You_Get_Started
- Incorporating_Salesforce_Into_Your_Brand
- Crafting_Your_Marketing_Strategy_And_Plan
- Announcing_Your_Salesforce_Partnership
- Build_Sales_Pipeline
- Executing_Lead_Gen_Email_Campaign
- Building_A_Social_Media_Prescence
- Host_a_Learning_Event_About_the_Power_of_Salesforce_Sales_Cloud
-
Reseller Marketing Journey
-
General Topics
-
Topics (A-Z)
- AppExchange_Listing
- AppExchange_Cha
- AppExchange_Tech_Talks
- Branding_Guidelines
- Case_Packs
- Consent Compliance Lead and Project
- COVID_19
- Custom_Metadata_Types
- Customer_Stories
- Digital Marketing Program
- Due_Diligence_Review_new
- Drive_Global_Impact_with_AppExchange_v2
- Education Home Page
- Einstein_Account_Based_Marketing
- Environment_Hub
- GDPR
- Industries
- Innovate_with_Cutting-Edge_Platform_Technology_v2
- Legal_Center
- Lightning_Bolts_Launch
- Lightning_Ready
- Maps_Education_new
- Maps_Education
- MuleSoft
- NewsRoom
- Partner_Ohana_Hub
- Pardot_Integrations
- Partner_Account_Manager
- Partner_Business_Org
- Partner_Communications
- Partner Community Admin Overview
- Partner_Community_User_new
- Partner_Community_User
- Partner_Connect
- Pardot_Resource_Central
- Pardot_B2B_Marketing_Analytics
- Partner_Marketing_Center_new
- Partner_Orgs_new
- Partner_Program
- Partner_Referral_Benefit_Overview
- Partner_Social_Impact_Center
- Partner_Experience
- Partner_Success_Services
- Partner_Support_new
- Partner_User_Groups
- PR_Guidelines
-
Products
- B2C_Commerce_for_LINK_Tech_Partners
- Community_Cloud
- Datorama Education
- Datorama_Education_new
- Einstein
- Einstein_Analytics
- Heroku
- Live_Message
- Marketing_Cloud
- myTrailhead
- Pardot
- Premier_Success
- Quip
- Sales_Cloud
- Salesforce1
- Salesforce_Advantage
- Salesforce_CPQ
- Salesforce_DMP
- Salesforce_IoT
- Salesforce_Platform
- Service_Cloud
- Training_Reseller
- Work_com
- Product_Development_Outsourcer
- Release_Readiness_for_Partners
- Sales_Central
-
Salesforce.org
- CumulusCI
- Education_Cloud_Academy
- Education_Training
- Nonprofit_Cloud_Academy
- Nonprofit_Training
- Salesforce_Advisor_Link
- SFDO_Accounting_Subledger
- SFDO_Admissions_Connect
- SFDO_Consulting_Enablement
- SFDO_Elevate
- SFDO_EMEA_Fundraising
- SFDO_Grants_Management
- SFDO_Insights_Platform
- SFDO_K12
- SFDO_Marketing_and_Engagement_Academy
- SFDO_PMM_Case_Management
- SFDO_Release_and_Roadmap
- Salesforce_Engage
- Salesforce_Orgs
- Salesforce_DX
- Salesforce_Proficiency_Pack
- Scale_and_Access_New_Markets_v2
- SPCMA
- Talent_Exchange
- Training
- Webassessor_for_Partners
- Talent_Alliance
- Partner_Learning_Camp
- Architect_Success_Program
- shareddiscovery
- Datorama_Service_Order_Submission_and_Non-Renewal_Instructions_for_AppExchange_Partners
- Partner_Advisory_Board
- Accredited Professional
- Test_Drive_Education
-
Topics (A-Z)
- AMP
-
Topics (A-Z)
- AppExchange_Listing
- AppExchange_Cha
- AppExchange_Tech_Talks
- Branding_Guidelines
- Case_Packs
- Consent Compliance Lead and Project
- COVID_19
- Custom_Metadata_Types
- Customer_Stories
- Digital Marketing Program
- Due_Diligence_Review_new
- Drive_Global_Impact_with_AppExchange_v2
- Education Home Page
- Einstein_Account_Based_Marketing
- Environment_Hub
- GDPR
- Industries
- Innovate_with_Cutting-Edge_Platform_Technology_v2
- Legal_Center
- Lightning_Bolts_Launch
- Lightning_Ready
- Maps_Education_new
- Maps_Education
- MuleSoft
- NewsRoom
- Partner_Ohana_Hub
- Pardot_Integrations
- Partner_Account_Manager
- Partner_Business_Org
- Partner_Communications
- Partner Community Admin Overview
- Partner_Community_User_new
- Partner_Community_User
- Partner_Connect
- Pardot_Resource_Central
- Pardot_B2B_Marketing_Analytics
- Partner_Marketing_Center_new
- Partner_Orgs_new
- Partner_Program
- Partner_Referral_Benefit_Overview
- Partner_Social_Impact_Center
- Partner_Experience
- Partner_Success_Services
- Partner_Support_new
- Partner_User_Groups
- PR_Guidelines
-
Products
- B2C_Commerce_for_LINK_Tech_Partners
- Community_Cloud
- Datorama Education
- Datorama_Education_new
- Einstein
- Einstein_Analytics
- Heroku
- Live_Message
- Marketing_Cloud
- myTrailhead
- Pardot
- Premier_Success
- Quip
- Sales_Cloud
- Salesforce1
- Salesforce_Advantage
- Salesforce_CPQ
- Salesforce_DMP
- Salesforce_IoT
- Salesforce_Platform
- Service_Cloud
- Training_Reseller
- Work_com
- Product_Development_Outsourcer
- Release_Readiness_for_Partners
- Sales_Central
-
Salesforce.org
- CumulusCI
- Education_Cloud_Academy
- Education_Training
- Nonprofit_Cloud_Academy
- Nonprofit_Training
- Salesforce_Advisor_Link
- SFDO_Accounting_Subledger
- SFDO_Admissions_Connect
- SFDO_Consulting_Enablement
- SFDO_Elevate
- SFDO_EMEA_Fundraising
- SFDO_Grants_Management
- SFDO_Insights_Platform
- SFDO_K12
- SFDO_Marketing_and_Engagement_Academy
- SFDO_PMM_Case_Management
- SFDO_Release_and_Roadmap
- Salesforce_Engage
- Salesforce_Orgs
- Salesforce_DX
- Salesforce_Proficiency_Pack
- Scale_and_Access_New_Markets_v2
- SPCMA
- Talent_Exchange
- Training
- Webassessor_for_Partners
- Talent_Alliance
- Partner_Learning_Camp
- Architect_Success_Program
- shareddiscovery
- Datorama_Service_Order_Submission_and_Non-Renewal_Instructions_for_AppExchange_Partners
- Partner_Advisory_Board
- Accredited Professional
- Test_Drive_Education
Salesforce DX for Partners
Salesforce DX, short for “Developer Experience,” is an entirely new way to build and manage Salesforce apps across the entire software development lifecycle. It enables source-driven development of code, team collaboration with governance, and new levels of agility for custom app development on the Salesforce Platform.
With Salesforce DX, the “source of truth” for Salesforce code and metadata moves out of the individual org and into a version control system (VCS) that you control. Your developers can use any tool they want to create and edit source code, and your release managers can build Continuous Integration (CI) and Continuous Delivery (CD) systems that are centered around your repositories.
To learn more about Salesforce DX, please review the Salesforce Developer Guide and the Get Started with Salesforce DX webinar recording. You can also explore the Media, What Your Need to Know, Resources, and the FAQ for the latest information.
Media
Security Review and Re-review Explained
An ISV Quickstart: Development With Industry Clouds
How to Use Data Analytics to Drive Usage of Your App
Build Apps Using 2nd Generation Managed Packages
Drive Adoption of Your Solution With In-App Guidance
Get Started with Salesforce DXWade Wegner, VP of Product Management • August 2017Watch Wade Wegner discuss everything from principles of modern software delivery to how Salesforce DX is transforming Salesforce development. Included is a demo of how source driven development looks on Salesforce, the Command Line Interface, and even scratch orgs. Considered a “Salesforce DX 101”, this is a must-watch for anyone new to Salesforce DX. Bonus: you’ll be able to see adorable images of Codey, Astro, Hooty and Einstein playing around with building blocks. Watch Now Visiting this link subjects you to the privacy statement of the website operator and not Salesforce. Adopting Salesforce DXMike Miller, Architect; Jim Wunderlich, Principal Architect; Danielle Fox, Product Marketing Manager • August 2017Ready to get started with Salesforce DX? Join Mike Miller (Architect), Jim Wunderlich (Principal Architect), and Danielle Fox (Product Marketing Manager, Platform) in this technical deep dive to help you get up to speed! Watch as they discuss how to adopt Salesforce DX, the “migration recipe,” and even the challenges related to migration and how to overcome them. Watch Now Visiting this link subjects you to the privacy statement of the website operator and not Salesforce. Salesforce DX Update for ISVs (SlideShare)Vivek M. Chawla, Senior ISV Technical Evangelist • October 2017Have Salesforce DX questions relevant to ISVs? Salesforce DX Updates for ISVs, originally presented by our very own Vivek M. Chawla, has almost everything you’ve ever wanted to know as an ISV getting started with Salesforce DX. Release Plans for Winter ‘18? Check. FAQs and Salesforce DX Learning Paths for ISVs? Check and check. Go through all the slides now and satisfy your curiosity for Salesforce DX from an ISV’s perspective. Salesforce DX Update for ISVs (SlideShare) Visiting this link subjects you to the privacy statement of the website operator and not Salesforce. Test Automation and Continuous Integration In SDLC Using Salesforce DXOscar Quintela, QA Manager • Nov 2017Salesforce is changing the game for continuous integration. Watch as we share tools and ways to face the challenges that will show up when creating a continuous integration process for your organization. Watch Now Visiting this link subjects you to the privacy statement of the website operator and not Salesforce. Salesforce DX Packaging For AppExchange PartnersJeff Bartolotta, Principal Engineer; Dileep Burki, Senior Director, Product Management • Nov 2017As part of the Salesforce Development Experience (SFDX), we are redesigning how AppExchange Partners organize, manage and distribute their app's metadata. Learn how Salesforce DX packaging transforms the way partners will interact with managed Apps. This session includes a demo of how partners can begin to make this transformation and a discussion on the road ahead for packaging. |
What You Need to Know
- Supports modern, source-driven team development experience through:
-
- Focusing on the VCS instead of the development org as the source-of-truth for code, metadata, and org configurations
-
- Providing a Command Line Interface (CLI) to facilitate an open, standards-based developer experience
-
- Introducing scratch orgs - ephemeral, on-demand run-time environments
- Enables a polished licensing experience through the Feature Management Application.
- Supports an open, end-to-end development lifecycle including:
-
- Continuous integration
- Continuous delivery
- Improves the packaging experience with Packaging 2, which supports:
-
- Multiple packages per namespace
- Feature branch development and testing
- Source-driven packaging experience - no longer org based and eliminates the need for a packaging org
- Shifts the source of truth from a Salesforce org to version control
- Prioritizes the use of industry standard tools and processes
- Consolidates Salesforce developer and DevOps capabilities into a single command line interface (CLI)
- Provides support for developers' preferred tools for increased productivity
- Scratch orgs provide built-from-source, disposable environments for efficient development and testing while facilitating continuous integration (CI).
- Source-driven development facilitates team collaboration and continuous delivery (CD)
- Enhances the Salesforce packaging technology to manage encapsulation and deployment of metadata and code
- Take the Get Started with Salesforce DX Trail
- Watch the Introduction to Salesforce DX video
- Check out Salesforce DX on the Salesforce Developers site
- Engage with us on the AppExchange & ISV Technical Enablement chatter group
Resources
Trailhead
- Salesforce DX sessions video playlist (Youtube)
- Salesforce DX Greatest Hits video playlist (Youtube)
- Get Started with Salesforce DX
- Adopting Salesforce DX
- Salesforce DX - Continuous Integration and Continuous Delivery
- Salesforce DX Packaging For AppExchange Partners
- Mastering the Salesforce DX CLI
- Getting Started in VS Code with Salesforce DX
- How Everyone Can Leverage Salesforce DX Packaging
- Salesforce DX Information for ISVs (Slides)
- ISV Roundtable - Salesforce DX Pt. 1 (Slides)
- ISV Roundtable - Salesforce DX Pt. 1 (Video)
- ISV Roundtable - Salesforce DX Pt. 2 (Slides)
- ISV Roundtable - Salesforce DX Pt. 2 (Video)
- Salesforce DX is now Generally Available! (Blog)
- First Impressions with Salesforce DX and Source Driven Development (Blog)
- Introducing the Salesforce DX Open Beta (Blog)
- Meet Salesforce DX, the Modern Way to Build on the Salesforce Platform (Blog)
- Using Salesforce DX with Trailhead (Blog)
FAQ
Salesforce DX - General
Q. What is Salesforce DX?
Salesforce DX is an entirely new way to build and manage Salesforce apps across the entire software development lifecycle. It enables source-driven development of code, team collaboration with governance, and new levels of agility for custom app development on the Salesforce Platform.
Q. What is “Source Driven Development” (SDD) and why is it important?
SDD is the phrase we are using to describe the ability for Salesforce developers and admins to manage their development processes through source code. We are working on externalizing all of our source and configuration data so that you can create environments, build packages, and automate the whole process. This work also includes features that help you to better manage your source and synchronize source to and from Scratch orgs.
Q. What are the Key Features of Salesforce DX?
- New developer tools and environments
- Salesforce CLI
- Scratch Orgs
Source Control & Metadata Externalization
- Expanded tooling for automation
- Source sync APIs
- Tracking changes in & out of orgs
- Org Source Shape
Developer Tools
- Introduction of Visual Studio Code Extension Pack for Salesforce DX
- Expanded support for third-party IDEs and text-editors
- Scratch environments
- Salesforce CLI: the full power of Salesforce DX via the command line, allowing developers to easily create environments for development and testing, synchronize source code, create and execute test suites, and control the full application lifecycle.
- ISV Apex Debugger for Scratch Orgs
Continuous integration (CI) & Continuous Delivery (CD)
- Bring your own CI/CD tools (e.g. Jenkins, TeamCity, Travis CI, etc)
- Test runner for automation of Apex, Selenium, and JUnit tests.
- Data loading support via CLI
Packaging and distribution
- 2nd generation packages (aka “Packaging 2,” currently in Beta)
- Packages built directly from source
- Multiple packages sharing a single namespace
- Unified deployment path for both IT and ISVs
Q. Is Salesforce DX only for ISVs?
Salesforce DX is available for any Salesforce Platform developer.
Q. Is Salesforce DX only for coders? How do admins and low-code developers use Salesforce DX?
Salesforce DX is for admins, QEs and developers of all levels. Upcoming features such as the Feature Management Application can be used by admins to manage different features for their customers, and QEs can utilize scratch orgs for testing.
Q. Can customers/partners use their existing CI & CD tools with Salesforce DX?
Yes! If you use a different tool for CI (like Travis or Circle) you can use that with Salesforce DX.
Q. Do I have to use Github? Can I use other VCS systems?
No, you can use any VCS system.
Q. I want to configure Continuous Integration (CI). How can I set up CI knowing that my User Session might expire?
We have a specific authorization workflow, utilizing JWT, thats is ideal for CI systems.
Q. I am an admin and have never used a command line. How hard is it to try Salesforce DX?
Trying out Salesforce DX will be easy because we provide you with all the necessary tools, documentation, and examples. However, using Salesforce DX effectively will require a fundamental paradigm shift by your developers, administrators, and release managers.
For example, an admin who is accustomed to editing everything in an org will need to shift their understanding that the source of truth now resides outside of the org, in source control. Also, the command line might seem daunting at first, although it is not as scary as it looks once you’ve spent time hands-on. The biggest challenge for many may be the need to become familiar with new concepts related to version control, syncing sources, etc.
Fortunately, these are well-established industry concepts that are used by most software companies around the world. There are many resources on the Internet (tutorials, books, documentation, etc.) that are helpful. We are confident that once you start using Salesforce DX, you’ll be convinced that it’s the best way to for teams to build on the Salesforce platform.
That being said, if your main concern is with the command line interface, the Salesforce IDE will have an embedded command line view friendly to newcomers. The IDE console will have tab-completion, prompting for each command line flag that is required, and hints for which optional flag parameters can be specified.
Q. Will there be any new Salesforce DX Trails in Trailhead?
Yes! We are excited to announced the new Trailhead trail dedicated to Salesforce DX: https://trailhead.salesforce.com/en/trails/sfdx_get_started
Salesforce DX - Scratch Orgs
Q. What is a scratch environment? How is it different from other orgs?
The purpose of a scratch environment is to be a short lived org that is used for a specific purpose. That purpose can be testing some code, creating an environment for CI testing, or any other reason why a short lived Salesforce environment would be needed. It’s main difference from other environments is that is not meant to be long lasting.
Q. How are scratch environments related to Sandboxes? Are they a replacement?
Scratch environments are created specifically for source driven development. They should be used for development purposes in conjunction with a workspace that is sync’d with the scratch environment. They should also be used for continuous integration (CI) use cases, where the requirement is to deploy source for automated testing.
Scratch environments are not a replacement for sandboxes. First and foremost, Sandboxes will continue to support our current development processes that enable change sets and the ant migration tool. Sandboxes are also extremely important in the test phases of our new source driven development process. All sandbox types can be used as part of continuous delivery (CD) use cases.
Sandboxes should be the destination for Packages that are built from your source. Instead of deploying source to these environments, you would be executing package installations, mimicking your production deployment. All sandbox types, from developer to full, offer the ability to act as a UAT and Staging environments of the production org.
Q. Will a scratch environment contain test data?
Scratch environments do not contain test data upon creation. Post-creation, you have the ability to use our CLI to automate data loading and data extraction.
Q. Do person accounts work with scratch orgs?
Scratch orgs derived from developer edition templates do not support person accounts. However, scratch orgs based on other editions that support person accounts (e.g. enterprise editions) works fine with this feature.
Salesforce DX - Pricing
Q. What will Salesforce DX cost?
All partners get 100 Salesforce Limited Access - Free user licenses to access the Developer Hub. Starting Apr 1st, 2018, AppExchange Partners will receive 40 active and 80 daily scratch orgs, and AppExchange Premier partners will receive 150 active and 300 daily scratch orgs. Additional scratch orgs above the tier allocations may be purchased.
Q. Do I have to buy version control?
Bitbucket.com has free private code repositories for teams of up to 5 people. Read more about Bitbucket repository pricing. Github.com is free for public repositories only. Github private repository plans start at $7/month for unlimited repositories. Read more about Github repository pricing.
Packaging 2 - General
Q. How is Salesforce DX planning to improve packaging?
The changes are going to come in two waves:
- Enhancements to current managed packages, mainly along improved API coverage and end-to-end CLI.
- Packaging 2 is going to reimagine app distribution over the Salesforce Platform. These changes are going to be rolled out over multiple releases, and is currently in Beta.
Q. What is Packaging 2?
Packaging 2 has the following advantages over the current managed package technology:
- Multiple packages can be developed within the same namespace.
- Sharing code becomes much easier. Apex in public classes can be shared across packages unlike the current behavior where any shared code must be placed in global apex, making refactoring difficult.
- Makes end-to-end team development and testing a much better experience.
- Development along multiple branches will be supported. So, one team can work on Summer ’17 features while the main team is working on Spring ’17 features.
- Manageability is something that the developers can control as opposed to current system that is hard-coded and controlled by salesforce.
- Developing, testing and installing extension packages is made simpler.
Q. Are managed packages going away?
No. They will in fact be enhanced with better CLI and API capabilities. Having said that, Packaging 2 will offer much richer capabilities, encouraging you to move over to them from managed packages. The plan is to offer a compelling feature set that naturally motivates you to move over to Packaging 2 rather than force you to stop using managed packages. We will provide capabilities to ease the migration from managed packages to Packaging 2 and more information on migrating from one to the other.
Q. Which packaging commands are going to be made available in the CLI?
The plan is to provide end to end CLI support for managed packages (and unmanaged packages, where applicable) These CLI commands will be offered over multiple releases. Please review the Salesforce DX CLI Command Reference to see which commands are available as of the Winter ‘18 release.
Q. Does Packaging 2 fix or replace Beta Packages?
It will provide a much better experiences for developing beta packages.
Q. When is Packaging 2 going to be made available?
Packaging 2 is going to be rolled out over multiple releases starting with open beta in Winter ‘18, and possibly GA in Summer ‘18.
Q. Will I be able to migrate my current managed packages to Packaging 2, or do I have to start from scratch?
We will have a comprehensive migration path to migrate legacy managed packages to 2nd generation packaging.