Package Builder and Deployer
Overview
Sugar's Package Builder and Deployer is a robust and powerful tool for packaging customizations from one instance (e.g., development sandbox) and moving them to another (e.g., production). This can be done indirectly, by exporting and importing packages, or directly, by connecting to an instance via admin credentials. This guide will outline the tool, explain its use, and help you start using it.
It is important to fully understand this tool before pulling (i.e., downloading and installing) packages or making packages available for others to pull.
Prerequisites
There are some things to consider before using the Package Builder and Deployer:
- Size limits apply when creating and pulling (i.e., downloading and installing) packages; if you encounter a size limitation, multiple smaller packages may be needed.
- Both instances must be on Sugar 25.1 or higher for the pull functionality to work.
- Packages created are valid for nearly all supported platforms, however, they will not be valid for any version lower than 14.0.
Setup
The Setup tab allows you to select which customizations and configurations you would like in your package. While selecting all categories is possible, it may cause significant load times. Consider creating multiple packages if all categories are needed.
The following categories are available to select from:
- Roles
- Process Definitions
- Dashboards
- Dropdowns
- Fields
- Language
- Layouts (including Search Layouts)
- Miscellaneous (i.e., Navigation Bar and Subpanels, Schedulers, and Quick Create Bar)
- Relationships
- Reports
- Workflows
Once you have selected the configurations to package, click "Get Customizations".
Customizations
After retrieving the configurations and customizations, you can move to the Customizations tab to start selecting what you want in your package. Here, you will see tabs for each category, with the categories you selected during setup enabled.
Each tab corresponding to each category has different columns, however, there are a few that need explanation:
Category | Column | Explanation |
Layouts | Client | This column is pulled from configured API platforms within Sugar. The most common you will see are "base" (i.e., core Sugar) and "mobile" (i.e., the SugarCRM mobile app). |
View | This column shows where the layout is used (e.g., list view, edit view, record view). | |
Search Layouts | Client | This column is pulled from configured API platforms within Sugar. The most common you will see are "base" (i.e., core Sugar) and "mobile" (i.e., the SugarCRM mobile app). |
Filters | This column refers to code-level customizations, and "default" is typically seen. |
Underneath the tabs, you will see a search bar and many checkboxes. These checkboxes designate whether a field is included in the search; they do not change column visibility. At least one checkbox must be checked in order to search.
After selecting all the configurations and customizations you would like in your package, you have two options using the buttons across the top:
- Download Package: Saves the package onto your device to upload it to another compatible instance using Sugar's Module Loader
- Add to Local Packages: Adds the package to your Local Packages tab for others to pull from
Warning: If you navigate away from the Package Builder and Deployer, you will lose all unsaved changes (e.g., selections for a package).
Packages
The Packages section comprises three different tabs: Local Packages, Connection, and Remote Packages. The first is Local Packages, which shows all packages made available by clicking "Add to Local Packages" in the Customizations tab. It also includes other installed packages on your instance as well as packages uploaded but not installed via Module Loader.
On the Connection tab, you can enter the URL and admin credentials of another Sugar instance. This allows you to connect to the instance and pull packages from its local packages. If you attempt to connect with a non-admin user, there will not be any packages to pull from. Additionally, if you navigate away from the Package Builder and Deployer, the connection settings are not saved, and you will also have to re-enter them and reconnect.
The Remote Packages tab is available after successfully connecting to another instance via the Connection tab. You will know the connection is successful when the tab is available. On this screen, you will see the packages available to pull from the connected instance. Pulling a package downloads the package and installs it as well.
On the Remote Packages tab, you may see an Upgrade button next to some packages. Please note that while this will typically pull the latest version of that package, the button only looks for a version difference. Therefore, it is also possible to downgrade a package. We highly recommend verifying which version should be installed and taking a backup beforehand to ensure everything goes as planned.
For example, an administrator has installed the Marketo connector, version 3.4.x.
When they connect to an instance with a lower version of the Marketo connector installed (version 3.3.x), an upgrade button is shown. However, this would be a downgrade. Please be aware of what version you are moving to and ensure it is the correct one.