in implementation guides ~ read.
Salesforce Packaging Guide

Salesforce Packaging Guide


First things first !
To download this implementation guide, click the download button below.
If you need more information about the implementation guide, you can read the Table of Contents below.


Chapter Welcome to the ISVforce Guide
Resources for Partners
Roles in the Application Lifecycle
How to Sign Up for Test Environments
Chapter ISVforce Quick Start
Tutorial Sign Up for AppExchange
Step Sign Up for the Partner Program
Step Create a Development and Test Environment
Step Get a Business Org
Step Edit Your Publisher Profile
Signup Summary
Tutorial Developing Your App
Step Create an App
Step Package Your App
Step Assign a Namespace
Step Upload a Beta
Step Install and Test the Beta
Development Summary
Tutorial Publishing and Licensing
Step Uploading to the AppExchange
Step Create an AppExchange Listing
Step Complete the AppExchange Listing
Step Manage Licenses for Your App
Publishing and Licensing Summary
Tutorial Updating Your App
Step Creating a Patch Organization
Step Developing a Patch
Step Uploading the Patch
Step Installing or Pushing a Patch
Updating Your App Summary
Chapter Grow Your AppExchange Business
AppExchange Trailblazer Scorecard
AppExchange Trailblazer Scorecard Categories
Create Your AppExchange Trailblazer Scorecard Strategies and Goals
Get Started with the AppExchange Trailblazer Scorecard
View the AppExchange Trailblazer Scorecard
Grant Access to the AppExchange Trailblazer Scorecard

Chapter Design and Build Your Solution
Overview of Packages
Planning the Release of Managed Packages
Create a Package
Developing and Distributing Unmanaged Packages
Install Notifications for Unauthorized Managed Packages
Components Available in Managed Packages
Editing Components and Attributes After Installation
Components Automatically Added to Packages
Special Behavior of Components in Packages
Protected Components
Understanding Dependencies
Metadata Access in Apex Code
About Permission Sets and Profile Settings
Custom Profile Settings
Protecting Your Intellectual Property
Creating Packaged Applications with Chatter
Matching the Salesforce Look and Feel
Maintaining My Domain URLs
Developing App Documentation

About API and Dynamic Apex Access in Packages

Manage API and Dynamic Apex Access in Packages

Configuring Default Package Versions for API Calls

About the Partner WSDL

Generating an Enterprise WSDL with Managed Packages

Work with Services Outside of Salesforce
Architectural Considerations for Group and Professional Editions
Features in Group and Professional Editions
Limits for Group and Professional Editions
Access Control in Group and Professional Editions
Using Apex in Group and Professional Editions

API Access in Group and Professional Editions

Designing Your App to Support Multiple Editions
Sample Design Scenarios for Group and Professional Editions
Connected Apps
Create a Connected App
Edit Reconfigure or Delete a Connected App in Salesforce Classic
Install a Connected App
View Connected App Details
Manage a Connected App
Edit Connected App Behavior
Monitor Usage for an OAuth Connected App
Uninstall a Connected App
Environment Hub
Get Started with the Environment Hub
Manage Orgs in the Environment Hub
Single Signon in the Environment Hub
Environment Hub Best Practices

Environment Hub FAQ

Considerations for the Environment Hub in Lightning Experience
Developer Hub
Scratch Org Allocations for Partners
Enable Dev Hub in Your Org

Add Salesforce DX Users

Free Limited Access License
Manage Scratch Orgs from Dev Hub
Link a Namespace to a Dev Hub Org
Supported Scratch Org Editions for Partners
Notifications for Package Errors
Set the Notification Email Address
Chapter Package and Test Your Solution
About Managed Packages
Configure Your Developer Settings
Register a Namespace Prefix
Specifying a License Management Organization
Create and Upload a Managed Package
View Package Details
Installing a Package
Component Availability After Deployment
Uninstalling a Package

Installing Managed Packages Using the API

Resolving Apex Test Failures
Running Apex on Package InstallUpgrade
How does a Post Install Script Work
Example of a Post Install Script
Specifying a Post Install Script
Running Apex on Package Uninstall
Chapter Pass the AppExchange Security Review
Security Review
Security Review Steps
Security Review Wizard
Submit a Client or Mobile App for Security Review
Submit an Extension Package for Security Review
Security Review Resources

Security Review FAQ

Chapter Publish Your Solution on AppExchange
What Is the AppExchange
Business Plans for AppExchange Listings
Publish on the AppExchange
Connect a Packaging Organization to the AppExchange
Create or Edit Your Provider Profile
Create or Edit an AppExchange Listing
Add a Business Plan to an AppExchange Listing
Make Your AppExchange Listing Effective
Choose an Installation Option
Register Your Package and Choose License Settings
Submit Your Listing for Security Review
Email Notifications
AppExchange Checkout
Pricing Models in AppExchange Checkout
Payment Methods in AppExchange Checkout
AppExchange Checkout Considerations
Get Started with AppExchange Checkout

AppExchange Checkout FAQ

Checkout Management App
Checkout Management App Best Practices
Checkout Management App Objects
Get Started with the Checkout Management App
Sample Checkout Management App Customizations
Update Settings in the Checkout Management App
View Checkout Management App Logs
Work with AppExchange Leads

AppExchange Leads FAQ

Analytics Reports for Publishers
Update the Package in an AppExchange Listing

AppExchange FAQ

Can I have multiple listings for an app or component

Chapter Manage Orders
Channel Order App
Channel Order App Objects
Order Types
Order Status
Channel Order App Permission Sets
Set Up the Channel Order App
Install the Channel Order App
Assign Permission Sets to Channel Order App Users
Define a Channel Order App Email Service
Connect the Channel Order App to Salesforce
Display Customers in the Channel Order App
Assign Page Layouts in the Channel Order App
Upgrade the Channel Order App
Channel Order App Upgrade Considerations
Upgrade the Channel Order App
Field Mapping in Channel Order App v and Later
Manage Orders in the Channel Order App
Submit an Order
Edit an Order
Clone an Order
Recall an Order
Delete a Draft Order
Fix Errors on Returned Orders

Channel Order Apex API


Service Order
Service Order Detail

Partner Order Submit API

Chapter Manage Licenses
License Management App
How Does the License Management App Work
Integrate the License Management App into Your Business Processes
Best Practices for the License Management App
Get Started with the License Management App
Install the License Management App
Associate a Package with the License Management App
Configure the License Management App
Manage Leads and Licenses for Your Offering
Modify a License Record in the License Management App
Change the Lead Manager in the License Management App
Refresh Licenses for an Offering in the License Management App
Move the License Management App to Another Salesforce Org
Troubleshoot the License Management App
Leads and Licenses Arent Being Created
Proxy User Has Deactivated Message

License Management App FAQ

Is the LMA compatible with Lightning Experience

Can I install the LMA in a nonproduction Salesforce org

Why cant I see the Modify License button on my license records

the license record

Can I automate the assignment of licenses to users in the subscriber org

Why arent leads and licenses being created in the LMA

number of licensed users
Chapter Manage Features
Feature Parameter Metadata Types and Custom Objects
Set Up Feature Parameters
Install and Set Up the Feature Management App in Your License Management Org
Create Feature Parameters in Your Packaging Org
Add Feature Parameters to Your Managed Package
Reference Feature Parameters to Drive App Behavior and Track Activation Metrics
How Do Feature Parameters Work
Drive App Behavior with LMOtoSubscriber Feature Parameters

Track Preferences and Activation Metrics with SubscribertoLMO Feature Parameters

Hide Custom Objects and Custom Permissions in Your Subscribers Orgs
Best Practices for Feature Management
Considerations for Feature Management
Chapter Provide a Free Trial of Your Solution
Why Use Trialforce
Set Up Trialforce
Link a Package with Your License Management Organization
Request a Trialforce Management Org
Setting Up Custom Branding for Trialforce
Create a Trialforce Source Organization
Create a Trialforce Template
Link a Trialforce Template to the AppExchange
Submit a Trialforce Template for Security Review
Provide a Free Trial on the AppExchange
Provide a Free Trial on the AppExchange Using Trialforce
Offer a Test Drive on AppExchange
Provide a Free Trial on the AppExchange When Your Offering Is Installed
Provide Free Trials on Your Website

Enable the SignupRequest API

Choose a SignUp Form Hosting Option

Create SignUps Using the API

Provision Trial Orgs
Modify the Trial for an Upgrade
Trialforce Best Practices

Trialforce FAQ

Chapter Support Your AppExchange Customers
Subscriber Support Console
Viewing Subscriber Details
Request Login Access from a Customer
Logging In to Subscriber Orgs
Troubleshooting in Subscriber Organizations
Usage Metrics
Setting up Usage Metrics
Accessing Usage Metrics Data
Usage Metrics Visualization
Chapter Update Your Solution
About Package Versions
Create and Upload Patches
Working with Patch Versions
Versioning Apex Code
Apex Deprecation Effects for Subscribers
Publish Upgrades to Managed Packages
Delete Components in Managed Packages
Viewing Deleted Components
Modifying Custom Fields after a Package is Released
Manage Versions
Pushing an Upgrade
Push Upgrades
Push Upgrade Best Practices
Assigning Access to New Components and Fields
Sample Post Install Script for a Push Upgrade
Scheduling Push Upgrades
View Push Upgrade Details
View an Organizations Upgrade History

Appendix A ISVforce User License Comparison

Appendix B OEM User License Comparison