Configuring Lists in Configurable Workspace

Tushar
Kilo Sage
Kilo Sage

As per SN KB - 

https://support.servicenow.com/kbid=kb_article_view&sysparm_article=KB0962080

 

Description

When configuring custom filtered lists (sys_ux_list) entries for CSM Configurable Workspace, the lists are not visible to non-admins. OOB lists are visible to non-admins.

Cause

This can be due to missing sys_ux_applicability_m2m_list entries for the custom lists. The sys_ux_applicability_m2m_list table determines what audience the list applies to. 

Resolution

In order to allow other audiences to view the filtered lists in CSM Configurable Workspace, a sys_ux_applicability_m2m_list entry will need to be created for each list/audience combination that should be able to access the list.

These permissions were previously configured on the sys_aw_list table, however, this has since moved to the sys_ux_applicability_m2m_list table.

For more information on migrating lists to the CSM Configurable Workspace, please see:

https://docs.servicenow.com/bundle/quebec-customer-service-management/page/product/customer-service-...

 

We need to create list applicability & add the correct audience to that applicability for the custom lists to be visible for non-admin users as well.

 

Unfortunately, there is no alternative way to achieve this all the lists collectively. You need to do this separately for each of the custom lists.

 

you can use below script to apply list applicability directly to UX List categories -

 

// Category sys_ids
var categorySysIds = [
    'sysid1', // enter your category sys ids 1
    'sysid2', // enter your category sys ids 2
 
];

// Loop through each category
for (var i = 0; i < categorySysIds.length; i++) {
    var categoryId = categorySysIds[i];

    // Getting all lists with the current category
    var grList = new GlideRecord('sys_ux_list');
    grList.addQuery('category', categoryId);
    grList.query();

    // Loop through each list record
    while (grList.next()) {
        // Creating a new record in sys_ux_applicability_m2m_list
        var newItem = new GlideRecord('sys_ux_applicability_m2m_list');
        newItem.initialize();

        // Set the applicability and sys_scope fields
        newItem.applicability = 'your_sys_id';
        newItem.sys_scope = 'your_sys_id';

        // Reference the list instead of setting sys_id directly
        newItem.list = grList.sys_id;

        // Insert the new record
        if (!newItem.insert()) {
            gs.error('Failed to insert record for list: ' + grList.sys_id + '. Error: ' + newItem.getMessage());
        } else {
            gs.info('Record inserted successfully for list: ' + grList.sys_id);
        }
    }
}

// Succes message
gs.info('Created records in sys_ux_applicability_m2m_list');

 

 

2 REPLIES 2

Mark Manders
Mega Patron

What is the question? 


Please mark any helpful or correct solutions as such. That helps others find their solutions.
Mark

jsbt
Tera Contributor

This was helpful to resolve my issue.