Qlik Community

New to Qlik Sense

Discussion board where members can get started with Qlik Sense.

Announcements
IMPORTANT: Upcoming LEF Database Maintenance, Oct. 3rd - SEE DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Creator II
Creator II

what is the Advantages of custom properties in Qliksense Server?

Iam new to Qliksense server, what is the Advantages of custom properties in Qliksense Server?

8 Replies
Highlighted
Partner
Partner

One best example I can give you is access management. For us, it is completely managed with custom properties.

Here's an example:

1) Create a custom property probably with names of streams.

2) Create security rules which say that the user having the custom rule will have access to the stream

3) Tag the user to the custom property and bam! The user now has access to the stream. It's cakewalk really.

Highlighted
Partner
Partner

You can also hide/show sheets pretty easily with custom properties. You do have to modify the default stream rules though.

-Teemu

Highlighted
Partner
Partner

Ah! How do you do it Teemu? Can you give me brief steps?

Highlighted
Partner
Partner

This is how we do it at the moment:

  • Create a new custom property called CUSTOM_AppHasSheetRestrictions and give it a possible value of "Yes". You can also add "No" but it's not needed. Resource types should be Apps.
  • Link the property with each app that has sheet restrictions and use the value "Yes".
  • Create a new custom property for each app that has restrictions. Name the properties something like CUSTOM_AppName_AllowedSheets and list each sheet name in the property. So if your app has sheets called Sheet1 and Sheet2, add those values to the property. You can also add "All" as an extra value for admins etc. Resource types should be Users.
  • Link the properties with users and select values that correspond to the sheets the user should have access to. Remember to do this per app (=per custom property).
  • Change the default Stream security rule to :

(
resource.resourcetype = "App"
and resource.stream.HasPrivilege("read")
)

or ((resource.resourcetype = "App.Object"
and resource.published ="true"
and resource.objectType != "app_appscript"
and resource.objectType != "loadmodel"
and resource.app.stream.HasPrivilege("read")
and resource.app.@CUSTOM_AppHasSheetRestrictions !="Yes"
))


  • Create a new security rule for each app with sheet restrictions and name them anything you want. The contents of the rule should be:

(resource.objecttype!="sheet"
and resource.objectType != "app_appscript"
and resource.objectType != "loadmodel")
or
(resource.resourcetype = "App.Object"
and resource.published ="true"
and resource.objectType ="sheet"
and resource.app.stream.HasPrivilege("read")
and resource.app.@CUSTOM_AppHasSheetRestrictions = "Yes"
and resource.app.name = "NAME OF YOUR APP HERE"
and (user.@CUSTOM_AppName_AllowedSheets = resource.name
or
user.@CUSTOM_AppName_AllowedSheets = "All"
))


Hopefully I didn't miss anything. I'm sure there are better ways to do this but it should get you started at least.


-Teemu

Highlighted
Partner
Partner

Highlighted
Partner
Partner

Thanks Teemu

Highlighted
Partner
Partner

Hi teempi

thanks for the great post, i was wondering using your logic, could i assign say a group (usergroup1) which would automatically be able to see Stream 1, app 1, sheet 1, and then usergroup2 see stream 1 app 2 sheet 2,3,4

im getting stuck and would appreciate any support what so ever

thanks

lee

 

Highlighted
Partner
Partner

Here I am attaching a link of the video in which you can check how you will hide some apps from a specific users.

https://www.youtube.com/watch?v=feSaaJZ7Jco&t=1s