Monday, January 9, 2023

Overview of Packages

package is a container for something as small as an individual component or as large as a set of related apps.

After creating a package, you can distribute it to other Salesforce users and organizations, including those outside your company.

Packages come in two forms—unmanaged and managed:

Unmanaged packages: 

Unmanaged packages are typically used to distribute open-source projects or application templates to provide developers with the basic building blocks for an application.

Once the components are installed from an unmanaged package, the components can be edited in the organization they are installed in.

The developer who created and uploaded the unmanaged package has no control over the installed components, and can’t change or upgrade them.

Unmanaged packages should not be used to migrate components from a sandbox to production organization. Instead, use Change Sets.

As a best practice, install an unmanaged package only if the org used to upload the package still exists. If that org is deleted, you may not be able to install the unmanaged package.

Managed packages :

Managed packages are typically used by Salesforce partners to distribute and sell applications to customers.

These packages must be created from a Developer Edition organization.

Using the AppExchange and the License Management Application (LMA), developers can sell and manage user-based licenses to the app.

Managed packages are also fully upgradeable.

Managed packages also offer the following benefits:

  1. Intellectual property protection for Apex
  2. Built-in versioning support for API accessible components.
  3. The ability to branch and patch a previous version.
  4. The ability to seamlessly push patch updates to subscribers.
  5. Unique naming of all components to ensure conflict-free installs.

Packages consist of one or more Salesforce components, which, in turn, consist of one or more attributes.

Components and their attributes behave differently in managed and unmanaged packages.

Unmanaged and Managed Packages:Managed and Unmanaged Packages

Components :

A component is one constituent part of a package. It defines an item, such as a custom object or a custom field. You can combine components in a package to produce powerful features or applications. In an unmanaged package, components are not upgradeable. In a managed package, some components can be upgraded while others can’t.

 

Attributes :

An attribute is a field on a component, such as the name of an email template or the Allow Reports checkbox on a custom object. On a non-upgradeable component in either an unmanaged or managed package, attributes are editable by both the developer (the one who created the package) and the subscriber (the one who installed the package). On an upgradeable component in a managed package, some attributes can be edited by the developer, some can be edited by the subscriber, and some are locked, meaning they can’t be edited by either the developer or subscriber.

 

Reference : https://developer.salesforce.com/docs/atlas.en-us.packagingGuide.meta/packagingGuide/

No comments:

Post a Comment