Extremely long loading time on Service Portal

Tom Sienkiewicz
Mega Sage

Hi everyone,

I am struggling with a big issue regarding the new Service Portal. Wonder if anyone has had a similar experience and have you been able to find a solution?

Basically I am using the Order Guide widget to allow end users to choose multiple items under a request and provide some general information in the order guide fields.

I have 48 items included in the order guide and the SP loading times are ca. 15-30 seconds!! absolutely terrible.

What happens is SP loads all the related catalog items together with their variables, client scripts etc. at the beginning of loading the page. That is fine but why is it taking so long? We are not speaking 10 MB of data, this is all in JSON format, it should definitely work faster.

Official response from SN was "kindly remove the order guide and use SP as in the out-of-the-box version (simplified homepage, ordering single items)". Unfortunately, not possible in this case. So perhaps someone had any experience with order guide widget/functions and knows of any tricks I could implement? I would be very grateful for any hints.

Thanks,

Tomasz

19 REPLIES 19

LaurentChicoine
Tera Guru

Hi Tomasz,



The service portal integration of the Order guide loads all the items on first page load. This is why it is slower than the standard UI in which each item is loaded only when the tab is selected (using a iframe to that catalog item).



Hi see 2 options for you:



  1. You create your own custom widget to only load a catalog item when it is required instead of loading all of them on first page load.
  2. You go back to the old CMS way and create a widget that uses a iFrame to display the order guide. However, I'm not sure how really doable this is as you would need to handle how the navigation is done in that iframe when submitting the form, etc. Also, this really doesn't fit with the new Service Portal that is now iFrame free (which is a really positive thing).

Hi Laurent, thanks for your reply.



Having a custom widget load the items partially is one of the options we are currently investigating. But this means we have to "cheat" the default way the SP works.


We would need to have a 'placeholder' link to the catalog item and then when the user clicks the placeholder, run the widget and load the selected catalog item.



I wonder if ServiceNow plans to tackle this performance issue in future patches? It makes the new portal almost unusable in some cases - I mean the function $sp.getCatalogItem(data.sys_id); If there is any way to optimize it, it would be really great.


Harry Campbell2
Mega Guru

Hi Tomasz,



Did you ever get around this issue? I have to deliver SP to my company before the end of the year and Order Guides are the only thing stopping me.



Thanks


Harry


Hi Harry,



yes we did. We disabled the default loading of all catalog items included in the order guide and then used the POST to load the individual catalog item into the order guide / cart when the user clicks the item tile (using the function mentioned above). This means there is a little delay with each item added but it is marginal and the user experience is really great compared to having to wait for all of it to load before even using the SP.



I don't remember all the specifics now but if you need anything more, let me know.



Tomasz