Wednesday, June 28, 2017

Salesforce Basics - Managed and Unmanaged Packages

Upgrading Packages: Salesforce supports upgrades for managed packages only. Publishers can publish an upgrade for a managed package and notify installers that the new version is available. Installers of a managed package can then install the upgrade as follows:
1. Before you install an upgrade, determine if the app you installed was from a managed package.
Look for the Managed - Installed icon on the detail pages for each component and on the list of packages installed.
If the app you installed is not from a managed package, upgrades for it are not available.
2. Then, install the upgrade in the same way you would install any other package from the AppExchange. If the publisher provided a link to the new version, follow the link to the package
posting and install it in your organization. The first page of the install wizard lists the current
version you have installed, the version you’re about to install, and a list of additional components
included in the new version.
Notes on Upgrading Managed Packages
Consider the following when upgrading a managed package:
• All existing custom objects that were previously deployed will still be deployed. Salesforce prompts you to deploy any new custom objects or previously undeployed custom objects.
• Profile settings for components in a package are editable by the customer but not upgradeable by the package developer. If the developer makes changes to any profile settings after releasing the package, those changes won’t be included in an upgrade. Customers will need to manually update the profile settings after upgrading the package. In contrast, permission sets in a package are upgradeable by the developer, so any changes the developer makes will be reflected in the customer organization after upgrading the package.
• If the developer chooses to add universally required custom fields, the fields will have default values.
• Translation Workbench values for components that are “editable but not upgradeable” are excluded from upgrades.
• If an installed package has Restricted API access, upgrades will be successful only if the upgraded version does not contain any s-controls. If s-controls are present in the upgraded version, you must change the currently installed package to Unrestricted API access.
• When you upgrade a package, changes to the API access are ignored even if the developer specified them. This ensures that the administrator installing the upgrade has full control. Installers should carefully examine the changes in package access in each upgrade during installation and note all acceptable changes. Then, because those changes are ignored, the administrator should manually apply any acceptable changes after installing an upgrade.

Can I uninstall packages that I installed from AppExchange?
Yes. All your installed packages are listed in the Installed Packages page. You can remove any package by clicking the Uninstall link next to the package name.

Why did my uninstall fail?
Salesforce prevents you from uninstalling a package if it causes any remaining components to malfunction.

Who can use AppExchange?
Anyone can browse and test drive AppExchange listings. Salesforce administrators and users with the “Download AppExchange packages” permission can install AppExchange apps. To publish an app on the AppExchange, a user must have both “Create AppExchange packages” and “Upload AppExchange packages” permissions.

Why did my installation or upgrade fail?
An installation can fail for several reasons:
• The package includes custom objects that will cause your organization to exceed its limit of custom objects.
• The package includes custom tabs that will cause your organization to exceed its limit of custom tabs.
• The developer of the package has uploaded a more recent version of the package and has deprecated the version associated with this installation URL. Contact the publisher of the package to get the most recent installation URL.
• You’re trying to install an extension to a package, and you don't have the base package installed.
• The package requires that certain components are enabled in your organization, or that required features are enabled in your edition.
• The package contains Apex code and you are not authorized to run Apex in your organization.
• The package you’re installing has a failing Apex test.

Can I customize AppExchange packages?
Yes, all packages are customizable. However, to ensure compatibility with future versions, some aspects of managed packages can't be changed.
For a list of components that are editable in a managed package, see ISVforce Guide.

Who can use AppExchange packages?
If you use an Enterprise, Unlimited, Performance, or Developer Edition organization, you can choose which user profiles have access to the package as part of the installation process. Packages installed in Professional and Group Edition organizations are installed with “Full Access” to all user profiles. However, regardless of Edition, all custom objects are installed in “In Development” mode which hides them from all standard users. Users must have the “Customize Application” permission to view custom objects in “In Development” mode. When you are ready to roll out the package to other users, change the custom object status to “Deployed.”

How can I upgrade an installed package?
Managed packages are completely upgradeable. Before installing a package, contact the publisher to determine if it’s managed.

How secure are the components I install?
Salesforce performs periodic security reviews of all publicly listed applications on AppExchange. When installing third party applications with access to data, these applications may have access to other data within the organization where the package was installed. Private listings do not go through a security review and administrators should inspect the application carefully before determining whether it should be installed within their organization.

What happens to my namespace prefix when I install a package?
A namespace prefix is a globally unique identifier that you can request if you plan to create a managed package. All the components from a managed package that you install from another developer contain the developer's namespace prefix in your organization. However, unmanaged packages can also have a namespace prefix if they originated from an organization that contained a managed package. When you install an unmanaged package that contains a namespace prefix, Salesforce replaces the developer's namespace prefix with yours.

Can I reinstall an AppExchange package after uninstalling it?
Yes. You can reinstall a package in the same manner that you installed it.

When I install a package that’s listed on the AppExchange, do custom objects, tabs, and apps in that package count against the limits of my Salesforce Edition?
No. If you install a package from the AppExchange, its custom objects, tabs, and apps don’t count against the limits of your Salesforce edition. However, if the package uses other types of custom components, such as custom fields, they count against the relevant limits of your Salesforce edition. Note: These rules apply only to managed packages that are listed on the AppExchange. If you install an unmanaged package or a managed package that’s not publicly listed on the AppExchange, its custom objects, tabs, and apps count against the limits of your Salesforce edition.

No comments:

Post a Comment

Lightning Inter-Component Communication Patterns

Lightning Inter-Component Communication Patterns If you’re comfortable with how a Lightning Component works and want to build producti...