Definition
A relationship between Salesforce packages where one package requires another package to be installed first, typically when a package extension references components from a base managed package.
Real-World Example
the analytics lead at SilverLine Corp uses Package Dependency to build a comprehensive view of key business metrics. With Package Dependency in place, stakeholders across the organization can self-serve their data needs, filtering and drilling down into the numbers without filing requests with the analytics team.
Why Package Dependency Matters
A Package Dependency is a relationship between Salesforce packages where one package requires another package to be installed first, typically when a package extension references components from a base managed package. Dependencies must be resolved during installation: the base package must be installed before the dependent package can be installed, and certain operations on the base package (like uninstalling) are blocked while dependent packages exist.
Managing dependencies is one of the more complex aspects of package development, especially in ISV ecosystems where multiple packages from the same partner may depend on shared components. Mature ISV partners design their package architecture with dependencies in mind, using shared base packages for common functionality and dependent extensions for specialized features. Salesforce DX and second-generation packaging (2GP) provide better dependency management than first-generation packaging.
How Organizations Use Package Dependency
- •Quantum Labs — Designed their package architecture with a base package providing core functionality and several extension packages for specialized features.
- •TerraForm Tech — Manages dependencies between their packages carefully, ensuring base packages are installed before extensions.
- •CodeBridge — Documents package dependencies in installation guides so customers know the correct order.
