How to open a catalog item in Now Experience Workspace the way you can in Agent Workspace and Service Operations Workspace

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-05-2022 05:53 AM
Hi Everyone,
I'm continuing my saga in trying to implement the Service Portal catalog in my scoped application's custom Now Experience Workspace. It has been a long journey, and is cataloged here.
No need to go through all of these though, I will explain the situation.
When we implemented Agent Workspace I added some code and fields to the interaction table.
The Interaction type and Catalog Item fields interact with this client script when the record is saved.
function onSubmit() {
if (g_form.getValue('u_interaction_type') != 'request')
return;
var ga = new GlideAjax('interactionRelatedRequest');
ga.addParam('sysparm_name', 'isRelatedRequest');
ga.addParam('sysparm_id', g_form.getUniqueValue());
ga.getXML(function(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
if (answer == 'false' || g_form.isNewRecord()) {
var params = {};
params.sysparm_parent_table = "interaction";
params.sysparm_parent_sys_id = g_form.getUniqueValue();
params.sysparm_requested_for = g_form.getValue('opened_for');
g_service_catalog.openCatalogItem('sc_cat_item', g_form.getValue('u_catalog_item'), params);
}
});
Now, the problem I've had up until this point, is that the code works perfectly in Agent Workspace, but will not work in my custom Now Experience Workspace. What it does instead is open the actual catalog item like this:
Over time, I learned that Agent Workspace and Now Experience Workspaces, while they look the same, are very different. I assumed this simply won't work in the new Workspaces.
...However, I was recently informed there is a new Workspace built for ITSM that utilizes the Now Experience Framework. This is the "Service Operations Workspace"
I decided to install this and see how it handles this situation.
... And guess what It Works!
It opens the catalog item using the Service Portal just like Agent Workspace does! This is both exciting and frustrating.
Analyzing the URIs from both apps they seem to be identical:
/x/g/transportation/record/interaction/1d8787b61b81911444b95247624bcbc1/sub/record/sc_cat_item/c3972e2ef95ea400618c92a0dd8b533c/params/extra-params/parent_table%2Finteraction%2Fparent_sys_id%2F-1%2Fsysparm_parent_table%2Finteraction%2Fsysparm_parent_sys_id%2F1d8787b61b81911444b95247624bcbc1%2Fsysparm_requested_for%2Ff50207aa41616000d09e6ea155db82a0
/now/sow/record/interaction/b6ea873a878d5d9074d2b889cebb35aa/sub/record/sc_cat_item/c3972e2ef95ea400618c92a0dd8b533c/params/extra-params/parent_table%2Finteraction%2Fparent_sys_id%2F-1%2Fsysparm_parent_table%2Finteraction%2Fsysparm_parent_sys_id%2Fb6ea873a878d5d9074d2b889cebb35aa%2Fsysparm_requested_for%2F300549f4db87a3005f2e70131f9619d6
...So at this point I am so confused. I have no idea why the above code works in Agent Workspace, works in the Service Operations Workspace, but won't work in my custom workspace. I feel like there is a setting somewhere that needs to be toggled, and I just don't know where it is.
Any ideas?
- Labels:
-
Now Experience UI Framework

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-07-2022 11:01 AM
If you look at the record page in Service Operations Workspace it has a catalog item variant where it's just a big iframe with the parameters passed into it. You should be able to do something similar in your custom config workspace by creating a catalog variant of your record page with an iframe.
In the below screenshot you can see the variant and how that variant only shows up if the table being passed to the record page is sc_cat_item, sc_cat_item_producer, or sc_cat_item_guide.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-08-2022 05:42 AM
Excellent find brad!
The issue I'm having now is this "Catalog IFrame" does not appear as a component on my page in UIB.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-08-2022 07:28 AM
I believe it's just the iframe component with parms passed in to show a catalog page.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-08-2022 10:11 AM