Benjamin Ahnert
Benjamin Ahnert

Reputation: 101

How to surface different Workshop pages to different user groups?

I have a Workshop module that addresses different user groups. Hence I would like to surface different pages to different groups by default. Indeed I see an option to control the default page selection based on a variable.

My first thought was to split my users into different Multipass groups and then have a function that queries a given user's Multipass attributes for membership in certain groups. However, I don't seem to be able to check for group membership in this way, probably for security reasons.

What would be the recommended way to go about this?

enter image description here

Upvotes: 2

Views: 331

Answers (3)

Ryan Pregitzer
Ryan Pregitzer

Reputation: 1

Perhaps Workshop wasn't capable of this back in the day, but nowadays you can create a string array variable and select the multi pass group option. It will return all the groups the user is a part of, which might be useful.

Obviously, you have to hardcore the group into the workshop, but it seems like you were going down that route anyway.

Upvotes: 0

KCP
KCP

Reputation: 33

The recommended way to do this is to use Restricted Views. At the base level of the dataset used in the dashboard, you can control the data that is shown to different user groups - meaning you don't have to create separate pages for separate user groups.

In the Restricted View you create on your dataset, you will create rules based on the different Multipass groups' attributes for membership in certain groups, only exposing rows that match the attribute values.

Upvotes: 0

Logan Rhyne
Logan Rhyne

Reputation: 601

The Foundry security primitives for resource visibility (as opposed to data visibility) are largely aligned at the resource level rather than within a given resource. (The one exception I know of that's relevant is within the Object View configuration, where you can set visibility on different Tabs).

An approach also depends on if the resource visibility is a matter of permissions (i.e. should a user outside a given group not see a given page - again separate from the permission to see any data within that page) or one of convenience (i.e. all users can see all the data and all the interfaces, but each given group should simply start in a separate place.

In the former case, (i.e. security) I think it'd be best to make a separate Workshop app for each team and then maybe wrap them all into a Carbon workspace. The resource visibility, configured as the actual resource permissions in Compass, should determine if it appears in the Carbon workspace for the user.

If it's just for convenience, you could build all the pages in a single Workshop app, then make a separate Carbon workspace for each team and set a parameter to determine the default page, as you mentioned.

Upvotes: 0

Related Questions