Development

How to Set Up View Rules

Introduction: Reviewing some View basics Form and list views can display records in ways that fit different uses. For instance,…

Introduction:  Reviewing some View basics

Form and list views can display records in ways that fit different uses.  For instance, you may have noticed the differences in how Incidents & their lists appear depending on how they are opened when working in ServiceNow:

If opened from the Self-Service application menu (Self-Service > Incidents), the Incident list has 3 or so columns as shown below.  (Not shown - If a record is opened from this list, a stripped-down view of the incident will be shown.)

The text “[Self Service view]” in the list’s title bar shows that the Self Service view is being used.

ServiceNow incident list with columns: Number, Opened, Short description. Left nav shows 'Incidents' selected under 'Self…

If opened from Service Desk > Incidents or Incident > Open, the Incident list will have more columns in the view.  (Not shown, but a record opened from this list will also show more fields than in self-service.)

Notice that the bracketed [ ] view name is not listed next to the word “Incidents” in the title bar, as it was for the Self Service view.  Having no view name listed means that the Default view is being used.

UI shows a list of incidents with columns for number, opened date, short description, parent incident, and caller. The 'Open'…

[NOTE:  The example of the Incident Self Service vs. Default views comes OOB from ServiceNow and does not use View Rules.  It is just a convenient example of two form views available for comparison.]

Of course, views can be manually selected by users from the Context/Title menu > View > (name of view).  Here is a screenshot showing the current Incident “Self Service” view checked in the menu, with the highlighted “Default view” being selected.

Context menu showing 'View' selected, with 'Default view' highlighted and 'Self Service' checked.

However, what if there is a need to prevent a person from changing a view?  How can you make someone use a particular view based on what role they have or some value on the record, for example?

One way is through the use of “View Rules”.

Example case for a View Rule

View Rules are simple but powerful.  They allow you to conditionally control what view is displayed to a user.

Here’s an example form we made called “ABC Furniture” that keeps information on furniture inventory.

Form with fields: Number, Design, Condition, Availability, Short description, Description, Priority, State, Assigned to.…

A field on it that is labeled “DESIGN” has three choices:  Modern, Classic, Pre-1900

Dropdown menu showing 'Pre-1900' selected under 'DESIGN'. Options include '--None--', 'Modern', 'Classic'.

This form’s context menu shows three views (Antique, Default view, Other).  In this screenshot, we know that the Default view is displaying because there is no view listed next to the name “ABC Furniture” in the form header, and we also see that the Default view is currently checked in this menu.

Menu open: View > Antique, Default view, Other. Default view is checked.

Let’s say the Default view is what we normally want to use, but users should see the “Antique” view if DESIGN is “Pre-1900”.

Of course, client scripts or UI Policies can show or hide fields, but if you want to really mix things up and have a different screen layout, use a different view.  That’s why this “Antique” view was created.

[NOTE: See the end of this article if you need a pointer on creating a new view.]

Making a View Rule

  1. When viewing a record, from its context menu select Configure > “All”.

Menu with 'Configure' expanded, showing 'All' highlighted.

  • A tabbed screen of configuration options displays.  Select the “View Rules” tab, which is the last tab shown.  Click “New”.

View Rules tab selected. Filter and search bar above a table with columns: Name, Conditions, Description, Active, Device Type,…

A New record screen opens with the Table field already filled in.

View Rule form with fields for Name, Active, Match conditions, Conditions, Application, Table, Device type, and View.

[Note:  You can also open a new View rule from the left Navigation pane > System UI > View Rules.  That method will require you to select the Table manually.]

  • Fill in the fields as needed.

    • Name - any descriptive name

    • Device type - defaults to “Browser”, but can be Mobile or Tablet if needed

    • If Advanced is blank:

      • View - the exact name of the view you want to enforce.  Note that this is blank if it is the Default view that you want to enforce.  (Default views do not have a name!)

      • Match conditions - (All or Any)

      • Conditions - specify the criteria needed to make this view be used.

    • If Advanced is checked:

      • A script field will display where you can place the code.

In this example, we’ll just specify a simple condition so that if the Design field is “Pre-1900”, the “Antique” view will be used.

View Rule form: Name 'Antique view for Pre-1900 designs', Active checked. Conditions: DESIGN is Pre-1900.

  • Click “Save” or “Submit”.
Testing the Rule

Here is the normal Default view of the ABC Furniture record:

Form with fields: Number, Design, Condition, Availability, Short description, Description, Priority, State, Assigned to.…

If the same record is updated so the Design is “Pre-1900”, and the form is re-loaded, the Antique view displays.  An asterisk appears next to the view name, indicating a View Rule is in effect.

Form showing ABC Furniture record MA00001013 in Antique view. Design is Pre-1900.

Other view rules may be added to the same form, as well.  As a matter of fact, a view rule by itself might get you “stuck” in a view even though you’re viewing different records for which that rule is not intended.  For example, that could happen if you’re using the up and down arrows in the form header to move between records instead of opening the records one by one from a list.

Up and down arrow icons in a highlighted button group, next to Save and Delete buttons.

View Rule Effects
  1. Obviously, the main effect is that the view listed in the View Rule will automatically be applied when the rule’s conditions are met.
  • When a View Rule runs on a record, an asterisk will display next to the view name in the form header, such as here with [Antique view*]

Record details: ABC Furniture - MAI0001013 Antique view*. Number MAI0001013, Design Pre-1900.

  • Users cannot manually switch to a different view than the one specified by the view rule.  Notice that the option is not available in the context menu of this record.

Menu with 'Save' highlighted. Form header shows 'ABC Furniture - MAI0001015 Antique view*'.

Conclusion

That covers the basics of View Rules.  There may be two or three other methods for controlling views, but this is a very powerful and straightforward way to do so.

P.S. - Creating a new View

This article does not go into how to create a view or work with the fields within a view, but as a reminder, a new view can be added in the same places you can modify views:  The Context/Title (hamburger) menu > Configure > Form Design or Form Layout, depending on which one works better for you.

Dropdown menu with 'Form Design' and 'Form Layout' highlighted.

View names should only use uppercase or lowercase alphabetical characters, digits 0-9, and the underscore (_).  They should not contain spaces.  Also, do NOT create a new view and name it “Default” - you may create a confusing situation if that is done!