Can we change what fields can be bulk-edited on Workspace?

Jay D1
Tera Guru

Hello,

I'm trying to limit what fields are shown on the "Edit items" when you click "Edit" on Workspace. I can see that it can be controlled by Write ACLs but changing the Write ACLs would be tricky as we would like the users to update fields on the form but not from the list. Is it possible to only allow users to edit (and potentially only show) Assignment group and Assigned to fields here instead of below fields when I click on "Edit":

find_real_file.png

Any help/guidance is appreciated.

1 ACCEPTED SOLUTION

Jay D1
Tera Guru

It was actually a simple one. That list is controlled by the OOTB Workspace View. We already had our custom one so editing the fields on the Workspace View was the solution.

View solution in original post

6 REPLIES 6

I took a look under the hood and my finding is: The same View is used for the "Bulk Edit" as is used on the List.

What you can do:

1.) Open UI Builder > Page collections > List Page Pane > Multi edit form > Default > (...) > Duplicate variant

2.) Settions > Conditions: controller.curren.table = <table>

3.) Editor > Content > Body > Multi form > Configure > View > the view you want to use

Note: Unfortunately this will clone the ootb subpage, so at this point you have customized it.

 

OOTB the view is hardcoded here as well and it does *not* use the view rules to determine which view to use for the bulk-edit.

 

Note: There might be a better solution to it, but I'm very new to workspace and the solution I propose at least allows you to have different views for the record itself and the bulk edit.

Drawback: You clone the subpage, but I haven't figured out any better solution yet...

LuděkW
Tera Contributor

Actually we found in our environment another way, which can be usable for somebody:

You can solve it via ACL's. You can set ACL for the whole table, which deny the access to all the fields and allow only those which You like. You can even combine this with the view customization to make it more user friendly, but the ACL will make the system resistant against unwanted REST api calls, DOM manipulations and other ways to edit the records. 
Here is the way, how to get rid of a condition in the ACL to "Multiple edit=true" :
You can get the referrer from the transaction, where one of the parameters in the URL is "list" for the multiple edit form and "record" for the record form ui page.

var transactionURL = GlideTransaction.get().getRequest().getHeader("referer") + ''; 
​You will get something like this:
...now/sow/record/incident/132135846df68e8868cb5468fa44e65/params/selected-tab-index/2/selected-tab/id%3Dds13sd54f6s5dg456d454f
You can than easily add the condition:
if (url.indexOf('list') > -1) { answer = false/true;}


based on how You need the ACL to behave. 
If the write ACL is not matched, the form fields related to it in the multi edit form are grayed out and read only from client and server side.