As I dig through working on a Configurable Workspace/Now Experience Workspace, I'll post things that differ between Agent Workspace setup and Configurable Workspace setup here. One thing I came across pretty quickly when setting up a Configurable Workspace, was how to configure lists. This post will provide a high level overview on how to set up lists in each workspace type, and some things I found within Configurable Workspace lists.
Depending on how or what Workspace you're using you can go into Workspace Experience > All Workspaces > Agent Workspace and there's a Workspace Lists related list present to easily configure lists. This is pretty much it though, from what I've found other than hiding Declarative Actions/Action Assignments there's not much else that can be done here.
During the setup process in App Engine Studio (AES), you get to select which tables you want to use for the Workspace, and AES creates a default list for you. For this post I created a quick app called 'Blog App' and created a Workspace experience. I gave it a primary table of Incident, and secondary tables of Case and Problem.
That's pretty much it, now I'll head over to UI Builder. AES creates some default pages for the Workspace experience such as: Home, List, Record, Search, and Simple List. Today we'll be looking at the List page. Right off the bat, I can see there are some options in the Config panel.
Without duplicating the default page, there are some configuration options that can be done. The first I'll discuss is the Configuration option on the bottom right in the Config panel, to see these options make sure you click on the List nav component on the page first. Clicking this will take you into UX List Menu Configurations and you'll see the one for your workspace.
Selecting the UX List Menu Configuration will display a form with the UX List Categories and UX Lists related lists that can be configured.
Just like in Agent Workspace, Categories can be re-named, re-ordered, deactivated, and created here. The respective lists that fall under the categories can be modified as well. One thing to note, is that instead of a Workspace field to denote where the list applies, there's a Configuration field pointing to our UX List Menu Configuration record.
Not too bad, but it did involve a few extra clicks and knowing where to look in UI Builder. I'm not sure if there's any documentation out for this yet, I find that either everything is geared towards the CSM Configurable Workspace app, or I have to dig deeper into the docs to find answers to questions like these, but I'm sure that will change over time.
This option brings you into the Audiences table, or sys_ux_applicability. I haven't worked with Audiences much, but I can see there's a default record created from the role(s) I initially chose from setting up the app in AES. I won't cover Audiences too right now, but here's a link to the docs.
The last option in the Config panel is M2M Applicability which links to the List Applicabilities or sys_ux_applicability_m2m_list table. At first glance this doesn't seem to have anything to do with M2M tables, rather it is the M2M table that links our lists and audiences together and determines which audience(s) can see which lists. I did a quick sort on the table and found that when I created my workspace experience, I had some entries created on default.
This makes sense, because I was wondering from the Applicability/Audiences table how we could granularly control access to lists and this seems to be the answer.
One fun thing I found that didn't seem possible in Agent Workspace is the ability to disable the My Lists functionality. It looks like you have to duplicate the out-of-the-box page created with AES and disable it (or set your variant order to show first) to have your own variant to do this, taking into consideration for potentially missing updates in upgrades, but that's been the story with a lot of functionality in ServiceNow, i.e. Service Portal widget clones, etc.
The first thing I'll do is click on the three vertical dots next to the default variant of my page and click Duplicate.
I just named my page 'List Blog App', now the important part is if you choose 'Reference the page template and it's data' you'll end up with another Read-only page on your hands, where you can't set the values you want, so you have to choose 'Only copy the contents of the template (not upgrade-safe)' and like it says, you're responsible for what version upgrades do or not do apply to this page, but you always have the default variant to refer back to.
For the conditions I set the page at -10 so this variant would display first, without deactivating the default variant, but it is easy enough to go into the variant settings for the default variant and just deactivate it. Clicking back into the List Nav component, now we have the option to toggle 'Hide list creation' to prevent users from creating anything under My Lists.
So what does this do exactly? Well, I can see My Lists is still there, which is probably hardcoded into the component itself, but the +New List button is now gone, but the user can still use the List Actions to create a new list. This is where the List component would come into play which comes with a ton more configuration options. To disable the ability to create lists from My Lists and the List Actions button, you can toggle 'Hide menu button' to on in the List component.
Hide menu button in the List component:
Now the user cannot create new lists at all:
So there you have it, not painful but not as straightforward as Agent Workspace and copying the read-only default variants opens up a lot more configuration options on both the List Nav and List components. I know I have a lot more playing around to do with this functionality especially with the List component itself but hoped this post shed some light on some of the basic configuration differences between the workspaces.