Widget diagnostics

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 4 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Widget Diagnostics

    Widget diagnostics in the ServiceNow Service Portal help you resolve page issues by identifying widget customization levels and analyzing widget code directly from a portal page. If a portal page malfunctions, diagnosing its widgets can reveal potential bugs in the widget code.

    Show full answer Show less

    Key Features

    • Customization Level Identification: Understand how widgets have been modified by checking their customization levels, which include:
      • Base System: No modifications.
      • Cloned: Cloned from a base system widget.
      • New: Newly created widget.
      • Customized: Modified in various ways.
    • Widget Code Inspection: View and analyze widget code directly from the portal page, identifying potentially problematic code and comparing versions of dependencies or customizations.
    • Color-Coded Customizations: Widgets are color-coded for easy identification of their customization levels.

    Key Outcomes

    By using widget diagnostics, you can effectively pinpoint issues related to customized widgets, which are unsupported in system upgrades. If issues persist, examining new and cloned widgets helps determine if recent changes are problematic. Understanding the limitations of the tool, such as the inability to directly fix code from the portal, can guide your troubleshooting efforts. For best practices, revert customized widgets to their original state and consider re-cloning widgets as necessary to ensure compatibility with system updates.

    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.

    Diagnosing widgets involves:
    • Identifying widget customization levels
    • Checking the code that is used in each widget

    Identifying customization levels

    Customization levels describe how widgets have been modified or developed. Identifying the customization level of a widget can help you know which part of the widget code is most important to check. There are four levels of widget customization.
    Customization level Description
    Base system Base system widget with no modifications, including widgets for which you have set instance options.
    Cloned Widget that you cloned from a base system widget.
    New Widget that you created.
    Customized Base system widget that you configured in any of the following ways:
    • Modified the widget code directly
    • Modified widget option schema
    • Modified widget dependencies, ng-templates, or Angular Providers

    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:

    Identifying customization levels
    • Green – base system 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 (Information icon) on a widget.

    Widget diagnostics window

    From the widget diagnostics window, you can check the widget code in several ways:

    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 customized widget against the base system.

    Tip:
    Even if a customized widget is not causing page issues now, you may want to revert to the original widget to prevent issues during upgrades later.

    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 changes to related records.

    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 system widget. In this case, it's recommended that you clone the widget again and add your customizations to the clone.

    A base system widget is least likely to cause page issues. If you've already checked other widgets and are still experiencing page issues, remove base system widgets from the page and add them again without any widget options set. You can also try adding base system widgets to another page instead.

    Limitations

    There are several known limitations using widget diagnostics from a portal page:
    • 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.