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

Mark Endsley
Tera Guru

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.

https://community.servicenow.com/community?id=community_question&sys_id=7b9a79eb1bdb8550b4b577bc1d4b...

https://community.servicenow.com/community?id=community_question&sys_id=ba593f731b5b0d50b4b577bc1d4b...

https://community.servicenow.com/community?id=community_question&sys_id=af99e6301b2b8590b4b577bc1d4b...

https://community.servicenow.com/community?id=community_question&sys_id=6296d5a91be70dd0c16b43f6fe4b...

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. 

find_real_file.png

 

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:

 

find_real_file.png

 

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?

27 REPLIES 27

Ahh you're right. It looks like the ITSM team may have wrapped the iframe component into a custom component to make it easier to pass parms. You should be able to accomplish the same thing with the standard iframe aside from the events.

I think the events may be an issue. I've been able to make an iFrame work, but once the user submits the record they can't view the created record using the button that is displayed after submission. This somehow works using the Catalog IFrame component in the variant.

Hi Brad,

Any idea where the Catalog IFrame comes from? I can't seem to find it in the component list.

Alexander Mart1
Tera Contributor

Hi,

Do you have some updates? I am struggling right now with the same issue. 

Sorry, I wish I could say I did.

 

The one thing I have discovered since is that the New "Service Operations Workspace" can also do the thing where it opens a catalog item in the portal. So I know it can be done! I just can't figure out how!