Health Check Error: Unknown widget class detected

    Overview

    The Health Check wizard must be run when upgrading in order to evaluate your instance’s ability to move to the target version. During the health check, various types of issues may be detected which can affect your ability to upgrade. This article will cover how to resolve an “Unknown widget class detected” error reported by the health check.

    Symptoms

    This error generates an output similar to the following in health check:

    UpdatedImage_Yellow

    Resolution

    The generated error message will help determine the contents of the file causing the health check error. To address this issue, the code-level customization will need to be edited from Sugar before proceeding with the upgrade.

    Breakdown of health check error:

    • The file causing the error can be found in ./custom/modules/Contacts/subpanels/Account_subpanel_contacts.php.
    • The health check detects an issue with the defined widget_class.

    The widget_class refers to a custom class that does not exist. Revert the custom code back to the stock value or update it to the correct custom widget_class. For this example, the widget_class needs to be changed from SubPanelEditButtonTest to SubPanelEditButton.

    image2

    In some cases, the widget_class may be used by a custom field that is part of an integration. In those cases, you may just choose to delete the parent array containing the widget_class definition.

    Alternatively, the file can also be moved to a “Disabled” directory or removed from the file system. However, if the health check error references a view that was modified in Studio, the changes in the affected layout such as field positioning and disabled will be lost upon upgrade. Instead, the layout would revert to the stock fields typically displayed in a new install of Sugar.

    Once the necessary change has been made, please navigate to Admin > Repair and perform a “Quick Repair and Rebuild” to ensure that the changes are synced between the application and database. Then perform the health check again to confirm that the error is no longer reported. 

    in Troubleshooting Health Check Output

    Reach out to us for help