Widget diagnostics
Summarize
Summary of Widget Diagnostics
Widget diagnostics enable ServiceNow customers to troubleshoot Service Portal page issues by identifying widget customization levels and examining widget code directly from the portal page. This process is essential for diagnosing potential bugs in widget code that may prevent a portal page from functioning as expected.
Show less
Key Features
- Customization Levels: There are four levels of widget customization: Base, Cloned, New, and Customized. Knowing these levels helps prioritize which code to check.
- Widget Context Menu: Use the Widget Context Menu to view customization levels, indicated by color coding (Green for base, Yellow for cloned, Blue for new, Red for customized).
- Code Inspection: Access widget code directly from the portal by clicking the information icon, allowing you to view potentially problematic code without leaving the page.
- Version Comparison: Compare different versions of widgets and their components to identify recent changes that may be causing issues.
Key Outcomes
Identifying and diagnosing widget issues effectively helps maintain portal functionality, especially during system upgrades. Prioritize checking customized widgets, as they may not be supported in upgrades. If issues persist after addressing customized widgets, examine new and cloned widgets for recent code changes. In cases where base widgets are causing issues, consider removing and re-adding them to troubleshoot further.
Be aware of limitations such as the inability to directly fix code within the diagnostics tool and restrictions on viewing nested dependencies. For thorough troubleshooting, navigate to the widget record for deeper insights.
Resolve Service Portal page issues by identifying widget customization levels and checking widget code directly from a portal page.
If a portal page isn't working as expected, it may be because of a bug in widget code. To diagnose the page, try diagnosing the widgets on the page.
- Identifying widget customization levels
- Checking the code that is used in each widget
Identifying customization levels
| Customization level | Description |
|---|---|
| Base | Base widget installed on a base system or with other ServiceNow plugins. Base widgets have no modifications but can have widget instances for which you have set instance options. |
| Cloned | Widget that you cloned from a base widget. |
| New | Widget that you created. |
| Customized | Base widget that you configured in any of the following ways:
|
To identify the customization levels of widgets on a portal page, open the Widget Context Menu and select Show Widget Customizations. Widgets are color-coded as follows:
- Green: base widget
- Yellow: cloned widget
- Blue: new widget
- Red: customized widget
Checking the widget code
After you've identified the customization levels of widgets on a portal page, check the code in each widget.
To view the widget code from the portal page, click the information icon () on a widget.
- View a widget record from a portal page
View and identify potentially problematic code in the widget record without navigating away from the portal page.
- Identify customizations in widget related records
View and identify potentially problematic code in the widget dependencies, Angular Providers, and ng-templates that are being used by the widget.
- Compare versions of a widget related record
Compare an Angular Provider or ng-template against its previous version so that you check if your most recent code changes are causing issues on a portal page.
- Compare versions of a customized widget
Compare your most recent update of a customized widget against the previous version to check if your recent changes are causing issues on a portal page.
- Compare a cloned or customized widget against a base widget
Identify customizations to a widget so that you can revert your cloned or customized widgets and resolve issues on a portal page.
Recommendations for diagnosing widgets
Of the four customization levels, the highest priority issue is customized widgets. These widgets aren't supported in system upgrades. If you're experiencing page issues during an upgrade, it may be because you have a customized widget on your portal page.
To resolve page issues that may be caused by customized widgets, identify which parts of the widget code have been customized. Then revert the code to the original configuration. For more information on identifying these code differences, see Compare a cloned or customized widget against a base widget.
If you're still experiencing page issues after reverting customized widgets, check your new and cloned widgets next.
With a new widget, it's likely that your most recent code changes are causing issues on your portal page. To identify your most recent changes so that you can debug your code, follow the steps in Compare versions of a widget related record.
If you cloned a widget prior to a system upgrade, it's likely that the cloned widget didn't receive the same updated code as the base widget. In this case, it's recommended that you clone the widget again and add your customizations to the clone.
A base widget is least likely to cause page issues. If you've already checked other widgets and are still experiencing page issues, remove base widgets from the page and add them again without any widget options set. You can also try adding base widgets to another page instead.
Limitations
- Although you can view and compare widget code, you can't fix or revert code directly. Navigate away from the portal to change the code.
- If you navigate to another portal page while using widget diagnostics, the system disables the tool.
- Because the tool uses color to categorize widgets, it may not be accessible for visually impaired users.
- The widget dependencies that are listed on the portal page reflect only the first-level dependencies. Any dependency that is nested deeper than the first level is not included. To further troubleshoot the widget, check the nested dependencies in the widget record.
- There is no way for the system to track a Widget Dependency after you've deleted it.