Hi, I'm creating one workspace per client (busines...
# gooddata-cloud
r
Hi, I'm creating one workspace per client (business) for our SaaS use case. What is the best way to make sure the business only sees their data? I would want to have a master workspace using which i clone and create other workspaces, the insights would mostly be same, the only thing we want is to apply the client_id filter in each workspace
y
Hi @Rajat Hans, Thanks for reaching out. You can set up data filters in workspaces and data filters for users. Workspace Data Filters (WDF) allow you to limit the data available in child workspaces. By setting a WDF, you can define what subset of the data from a parent workspace will be available in its child workspaces. For example, a parent workspace may contain a visualization displaying the data from all company departments, but a child workspace will see only the Sales department-related data in this visualization. User Data Filters or data permissions, allow you to restrict data that is available for specific users in specific workspaces. By setting a UDF, you can define what subset of the data in a workspace will be available for individual users or user groups. As opposed to workspace data filters (that point to a specific column in a specific table), user data filters use MAQL expressions. You can refer to the documentation attached for more information. Hope this helps.
r
hey what i meant was that i do not want to have child workspaces, i want the parent workspace to have limited data from the data source connected
j
Hi Rajat, if you don’t want to go with the workspace hierarchy, you can use User Data Filter as my colleague mentioned above. These filtered are propagated through connections in the LDM and you can assign them on specific users, or user groups.
r
hey i did not fully understand how this would work. I have a SaaS app and want each workspace to be linked to a client (business) in my SaaS app. They should only be able to access their own data. Now i can't do WDF because that works on child workspaces, and i also can't add any filter directly on the parent workspace itself. How can i implement UDF? do i need the user_id to be present in all datasets? do i need to create a new data set which serves as a pivot, basically mapping user_id to client_id?
j
Hello Rajat, the user ID does not need to be present in the datasets, nor do you need to create new datasets. Follow the steps below to set user data filters, and let us know if you face any issues: https://www.gooddata.com/docs/cloud/workspaces/user-data-filters/
r
i have one data source, which has data for multiple businesses i'll create 1 workspace for each business because i want to control the timezone and currency per business then i would create users and UDF?
how would a saas setup like this map to gooddata, is this correct? or can i just have 1 workspace with all visualisations and then use InsightView to show them and the token would be of the logged in user with UDF
m
Hi Rajat, legally speaking, I am not sure if you are allowed to use the same workspace for multiple companies from the contract point of view. I guess that depends on details of your specific contract and I would suggest to consult this with your customer representative. However, I would like to link the approach suggested by my colleague Michal here: https://gooddataconnect.slack.com/archives/C04S1MSLEAW/p1748797038939239?thread_ts=1748740809.176489&cid=C04S1MSLEAW This should be the best way to go around this setup. Even when using separate workspaces, you are still able to set the timezone and language settings by users, meaning that all users who are on a specific timezone do not have to be on a specific workspace, e.g.: https://www.gooddata.com/docs/cloud/customize-appearance/manage-timezones/#users
r
when i use multiple workspaces, if we make changes to a workspace for eg. add new visualisations do we need to copy them again in all workspaces?
is there a better way?
also i want to control currency and make it dynamic per business in our platform, how can i do that?
m
I recommend checking the following documentation on workspace hierarchy: https://www.gooddata.com/docs/cloud/workspaces/workspace-hierarchy/
It will help you transfer insights from a main workspace to child workspaces in a cascading manner
Otherwise, you would need to create your own script via Python SDK or the API
Regarding your question about currency, I believe there are some references here in the Community about the topic, but if you need further assistance with it, could you please post it to a new thread so we can keep the topics organized? Thanks!