Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Lekha_Ranganathan
Contributor II
Contributor II

Hide a sheet from everyone except the developer user group and use the hidden sheet in nprinting

I would like to create a sheet specifically for the purpose of nprinting in an app and what to hide it from everyone except the developer user group.

We have several streams and several apps. So I am just planning to name the sheets that needs to be created specifically for nprinting in the same way.

For this 

1. I am modifying the general security rule adding resource.name != "nprinting", which I thought would hide the sheet from everyone including developers.

2. then create a new security rule just to provide access to the developers to that sheet.

@Nicole-Smith  any thoughts here?

So my questions are

1. when I made the change to the existing  general security rule as mentioned in point 1, its not hiding the sheet. what am I doing incorrectly? Also is this approach correct?

2. I want to understand if I could used the charts from the hidden sheet in the nprinting.

Version of Qlik sense: Qlik Sense April 2020

Version of Nprinting:  Qlik NPrinting June 2020, Version: 20.19.3.0

Thanks

Lekha

Labels (2)
1 Solution

Accepted Solutions
Lekha_Ranganathan
Contributor II
Contributor II
Author

Appreciate the insights. It worked and this what I did.

1. duplicate the general security rule "Stream" and add a condition resource.name != "nprinting"

2. disable the  general security rule "Stream"

3. create another new rule as below

Filter: App.Object_*
Logic: (user.group = "dev-group" or user.name = "nprinting-user") and resource.objectType="sheet" and user.sheets=resource.name and resource.name="nprinting"

 

 

View solution in original post

2 Replies
Nicole-Smith

Not in your question, but best practice is to NOT edit default security rules.  If you need to edit a default rule, you should disable it, then create a new custom rule.  This is because you cannot get the default rules back after they have been changed to custom.

That said, I believe the rule you need should be something like this (this may take care of both the hide and show, but it's impossible for me to test):
Filter: App.Object_*
Logic: (group.groupname = "dev-group" or user.username = "nprinting-user") and resource.objectType="sheet" and user.sheets=resource.name and resource.name="nprinting"

Note: Replace the groupname and username above with your dev group and nprinting user.  Giving the nprinting user access should allow it to use the objects on the hidden sheet.

If you're unable to get any of this to work using the security rules, a workaround would be to create a new QVF file where you binary load the data into it so you can create the objects for nprinting.  You could store that QVF in a stream that is only visible to developers.

 

Lekha_Ranganathan
Contributor II
Contributor II
Author

Appreciate the insights. It worked and this what I did.

1. duplicate the general security rule "Stream" and add a condition resource.name != "nprinting"

2. disable the  general security rule "Stream"

3. create another new rule as below

Filter: App.Object_*
Logic: (user.group = "dev-group" or user.name = "nprinting-user") and resource.objectType="sheet" and user.sheets=resource.name and resource.name="nprinting"