CachingSetting

Cireson recently released our new View Builder app, see the press release here.

Amongst other things, this app allows you to add some custom columns to your views, including some that show SLA data:

CustomColumns

You can add these columns to any view to automatically show this SLA data like this:

SLAs

As you can see, I am not very good at meeting my SLAs 🙂

This data is shown even if you do not target your view to a combination class (type projection) containing the SLA information, the data is pulled automatically behind the scenes for you.

In fact, you shouldn’t target such views to include the SLA data because in this case it will be pulled twice.

However, pulling this data can result in very poor performance, especially on views containing a large number of items or views that are using a large combination class that targets a lot of relationships.

To help with this, you should always target views using a combination class that is the narrowest one possible, that contains only the relationships that you want to display data from. So, using the “Incident (Advanced)” combination class to display Incident data is usually a very poor idea as your view needs to pull the following data for every single Incident:

Incident class data
Work Item is related to Work Item
About Configuration Item
Affected User
Assigned To User
Closed By User
Contains Activity

It you only want to display the Assigned To User and Affected User it is much better to use the “Incident (Typical)” combination class instead, for example.

To especially help with the problem of pulling large amounts of SLA data, the View Builder app caches the SLA data for you based on the following View Builder administration setting:

CachingSetting

When you first load such a view, the entire SLA data is loaded as the view items are displayed. Items that are off the screen that you need to scroll down to see do not have their SLA data loaded until you scroll down and make them visible. You will notice a slight pause as you scroll down to view each page of data. So, if you scroll from the first item to last, all of the SLA data is loaded.

This means you can now refresh the view to see new items, scroll up and down and order by columns without having to load the entire SLA data again, until the cache expires.

The caching setting lets you set how old the cache is before pulling the data again. In the above image, I have set this to 2 minutes. This means that SLA data is up to 2 minutes old. You can set this value to meet your SLA needs versus console view performance.

Some people have mentioned that you cannot sort by the custom SLA columns. This is true. And this is the same for the out-of-the-box views that show SLA data (they actually sort on something like Created Date). This is because the view columns need a class property to sort on, and they cannot sort on a value that is returned “behind the scenes” in this way.

Lastly, if you noticed the options for colour coded columns above, here is what they look like:

ColourCodedColumns

Don’t worry, the choice of colours can be configured via the admin settings 🙂