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:
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
.
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.