SugarCRM SupportProduct GuidesSugar Versions10.010.0 ProfessionalSugar Professional 10.0 Administration GuideDeveloper ToolsModule Loader

Module Loader

Overview

Module Loader is used to install a variety of custom file packages, including custom modules, into a Sugar instance. Using Module Loader, you can also manage and uninstall these packages, all done through Sugar's user interface. Packages are uploaded as a ZIP file from an administrator's local computer and then, when deployed, will force changes upon the instance's filesystem and database.

Custom module packages can be created and modified in Module Builder, and then, after deployment, they will show in Module Loader. They can also be exported from Module Builder in one instance, and then uploaded to another instance via Module Loader.

Module Loader Layout

Module Loader consists of three panels. The panels include all necessary information about the packages, and also include different action buttons, explained in Module Loader Fields. The panels are:

  • Installed Packages : This panel shows all installed packages. On this panel, you have the option to uninstall or disable installed packages. After installation, the packages will move from the Uploaded Packages panel to this panel.
    Installed_extensions
  • Module Upload : This panel consists of an upload option where files can be uploaded to Sugar via a browser file selection window. Please review Uploading Modules for more information on using this panel.
    Module_Upload
  • Uploaded Packages : This panel shows all packages that have been uploaded to Sugar, but have not yet been installed, or have been uninstalled. Packages can be installed or deleted from Sugar using this panel.
    Uploaded_extensions

Module Loader Fields

Module Loader contains different fields on the Installed Packages and Uploaded Packages panels. Each set of fields show relevant and identifying information about the module package.

The Installed Packages panel consists of the following fields:

Field Description
Name The name of the package, pulled from the manifest.php file of the package
Action Button allowing you to uninstall the package from your Sugar instance if the package is marked as uninstallable in the manifest.php file of the package
Enable/Disable Button allowing you to enable or disable the functionality of the package without uninstalling
Note: Always perform a Quick Repair and Rebuild after disabling and then re-enabling a package via Module Loader.
Type Describes the type of package, pulled from the manifest.php file of the package
Version The version of the package pulled from manifest.php file of the package
Date Installed The date and time that the package was installed
Description The description of the package pulled from the manifest.php file of the package

The Uploaded Packages panel consists of the following fields:

Field Description
Name The name of the package pulled from the manifest.php file of the package
Install Button allowing you to install the package to your Sugar instance
Delete Button allowing you to delete the package from your Sugar instance
Type Describes the type of package, pulled from the manifest.php file of the package
Version The version of the package, pulled from manifest.php file of the package
Date Published The date and time that the package was initially created from the publisher
Uninstallable Tells you if the package is uninstallable from the manifest.php file of the package
Description The description of the package pulled from the manifest.php file of the package

Uploading Packages

After receiving the file that you would like to install, you must first upload it to your Sugar instance. To upload a file, follow the following steps:

  1. Navigate to Admin > Module Loader
  2. Click the "Choose File" button in the Module Upload panel to open a file selection window from your browser
    Choose_File_button
  3. Select the file from your local computer
  4. After you select your file, click the "Upload" button to complete the process
    Upload_button
  5. After it has been uploaded, the package will show in the Uploaded Packages panel
    Uploaded_Modules

It is also possible to upload packages using a REST API endpoint. Refer to the Developer guide for more information.

Installing Packages

After uploading a package to Module Loader, it must be installed for the package's contents to take effect on your instance. To install a package, follow the following steps:

  1. Follow the steps to upload your package to Module Loader.
  2. Click the "Install" button on the Uploaded Packages panel.
    Install_package
  3. You will be brought to the installation screen to confirm that the packages should be installed and to read and accept any license or readme documentation as needed. Click "Commit" when ready to run the installation.
    License_agreement
  4. The next page will show a progress bar and a completion notice. If there are any errors, they will be displayed with a verbose explanation of what went wrong. If not, click "Display Log" to show what happened during the installation process.
    • Note: To sustain the stability, security, and integrity of Sugar's cloud service environment, all installed packages are scanned to check for code not conforming to environmental agreements. Any package that fails this scanner will not be installed and the installer will produce a reason for the failed installation. If this happens, please contact the developer of your package for more information.
  5. Click "Back to Module Loader" when complete to return to Module Loader. If you do not need to install any further packages, you can navigate to any other section of Sugar as need be.
    Back_to_ML

It is also possible to install packages using a REST API endpoint. Refer to the Developer guide for more information.

Uninstalling Packages

After a package has been installed in your Sugar instance, it can be removed if it is no longer needed. When uninstalled, the package will remove any available customizations to your instance from the filesystem and database.

Note: Packages have to be defined as "Uninstallable" in the manifest.php file of the package to be able to be uninstalled.

To uninstall a package, perform the following steps:

  1. Navigate to Admin > Module Loader.
  2. Locate the package you would like to uninstall in the Installed Packages panel.
  3. Click the "Uninstall" button.
    Uninstall_Button
    • Note: If you do not see an Uninstall button next to your package, it may be caused by one of the following circumstances:
      • There may be a newer version of the package installed that has an Uninstall button and that package must be uninstalled first. 
      • The manifest.php file may not define the package as uninstallable.
      • The package may be missing files that are critical to performing the uninstall.
  4. If the package has added any database tables to your instance, you will see a selection whether to remove or retain the database tables. If the database tables include any information you would like to keep, select the "Do Not Remove Tables" option. An example of this would be if you are uninstalling a custom module but will be reinstalling a new version of the same module. You would want to keep the data but remove any files associated with the old module that will be replaced with the new package.
  5. Click "Commit" when you are ready to uninstall the package.
    Commit_button
  6. The next page will show a progress bar and a completion notice. If there are any errors, they will be displayed with a verbose explanation of what went wrong. If not, click "Display Log" to show what happened during the uninstall process.
  7. Click "Back to Module Loader" when complete to return to Module Loader. If you do not need to uninstall any further packages, you can navigate to any other section of Sugar as need be.
    uninstall_back_to_ML
  8. After the package has been uninstalled, it can be deleted from your instance via the Uploaded Packages panel.
    Delete_package

It is also possible to uninstall packages using a REST API endpoint. Refer to the Developer guide for more information.

Last modified: 2021-07-16 17:27:09