Item diagnostic report
Summarize
Summary of Item Diagnostic Report
The Item Diagnostic Report helps ServiceNow customers evaluate the health of catalog items by identifying deviations from ServiceNow’s recommended practices. It provides a health score—where a lower score indicates better compliance—and lists specific diagnostic results detailing rule violations. Correcting these violations is essential to ensure optimal performance and maintain expected catalog behavior.
Show less
Key Features
- Health Score: Measures the overall compliance of a catalog item, with 0 being ideal.
- Diagnostic Entries: Each entry includes the violated rule, the record violating it, and the count of violations.
- Weighted Rules: Violations vary in importance; for example, duplicate variables have a higher impact on user experience than AJAX usage delays.
- Default Diagnostic Rules: These rules are aligned with ServiceNow best practices and include checks such as:
- checkUserCriteriaUsage: Ensures entitlements are used instead of user criteria.
- checkBalancedContainers: Verifies balanced container start and end variables.
- checkDuplicateVariables: Detects variables with duplicate names linked to the catalog item or variable set.
- checkDOMManipulation: Flags any client script DOM manipulations, which are discouraged due to upgrade risks.
- checkLookupVariableRowCount: Identifies lookup variables querying large tables that may slow load times.
- checkAJAX: Lists AJAX calls in client scripts, emphasizing the need for asynchronous calls to minimize UI delays.
- checkSelectBoxUnique: Finds select box variables configured to show only unique entries.
- checkOrderGuideRuleBaseCount: Highlights order guides with many active rule bases that could slow performance.
- checkFormatterVariablesUsage: Checks for use of specific variable types like Macro and UI Page that have channel-specific implications.
Key Outcomes
Running the Item Diagnostic Report enables you to pinpoint catalog items that are not designed per ServiceNow’s recommended practices. Addressing identified violations helps optimize catalog efficiency, improve user experience, and reduce potential issues during upgrades or runtime. Detailed information is available for each violation, allowing targeted corrections for better catalog item performance.
For a catalog item data and configuration, you can identify possible violations from the ServiceNow recommended practices.
The item diagnostic report includes a score that measures the health of the item, and a list of diagnostic result entries. These entries consist of a rule, a document (record that violates the rule), and a count (the number of violations in the record).
Correct violations for best performance and to maintain expected behavior.
The lower the score, the better (0 is ideal). A higher score means that an item has more violations from the ServiceNow recommended practices. Each rule has a different weight and level of importance. For example, a violation of duplicate variables is more likely to result in user issues. An AJAX usage violation is less likely to cause issues since the result could simply cause a delay in the UI.
Default diagnostic rules
These diagnostic rules are designed according to ServiceNow recommended practices.
| Rule | Description |
|---|---|
| checkUserCriteriaUsage | Identifies if the item is using entitlements instead of user criteria |
| checkBalancedContainers | Checks if the Container Start and Container End variables are balanced. |
| checkDuplicateVariables | Identifies variables with the same name associated to a catalog item (or an associated variable set). |
| checkDOMManipulation | Identifies any DOM violation in catalog client scripts. The DOM is not guaranteed to
be the same between releases and can affect catalog client scripts during upgrades.
Therefore, it is not recommended for customers to do any kind of DOM manipulation. You can view detailed information for each client script by clicking the information icon. |
| checkLookupVariableRowCount | Checks if the Lookup variable is run on tables with many records as it can lead to slower load times. |
| checkAJAX | Identifies all AJAX calls in catalog client scripts because, although AJAX calls in
catalog client scripts are allowed, they must be asynchronous. All AJAX calls are listed
because even asynchronous calls can cause some delay. You can view detailed information for each client script by clicking the information icon. |
| checkSelectBoxUnique | Identifies Select Box type variables that have the attribute enabled to show only unique entries in the select box. |
| checkOrderGuideRuleBaseCount | Checks for high number of active rule bases in an order guide as higher number of rule bases can lead to slower load times |
| checkFormatterVariablesUsage | Checks if the item has the following variable types:
For information on the variable availability across various channels, see Variable support in various channels. |