Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
Charvick
Contributor III
Contributor III

How to add a custom property for an app based on the stream

Hi all,

I am facing the below issue. Can someone please let me know if anyone has a solution for the issue I am facing.,

Objective: To segregate the apps for Dev and QA

Number of nodes: 3 (1 central and 2 rim nodes)

Purpose of nodes: Central, Dev and QA

Description: Based on the approach taken following the article - https://community.qlik.com/t5/Qlik-Sense-Documents/Using-Rules-to-segregate-Consumption-from-Develop... I was able to separate the Dev apps and QA apps for different nodes, this is what it looks like - Central Node - All apps will be visible here, Dev Node - Only the apps tagged with "Dev" tag are visible here, QA Node - Only the apps tagged with "QA" custom property are visible in this node.

Block: This approach is working for all the existing apps that have been tagged with the Dev and QA values from the custom properties. However, incase any new app is created and published, since there is no Custom Property tagged for these apps the apps are only visible in central nodes and not on the rim nodes. I want to automatically add a Custom Property to the even the new apps based on the streams they are present in. 

Does anyone know how I can achieve this? or maybe I can try a different approach to meet my requirements.

@Levi_Turner/@Andre_Sostizzo  it would be really helpful, if you guys could take a look at this

Thanks for your help in advance.

Labels (4)
4 Replies
Levi_Turner
Employee
Employee

What are your load balancing rules? Which of the Dev / QA nodes do you want the apps on?

rubenmarin

Hi, if the rule should assign new apps based of the stream they are, could be the solution to add a custom property to those streams? and based of the custom property value set the node they should use.

resource.stream.@Property="Value"

Charvick
Contributor III
Contributor III
Author

Hi @Levi_Turner / @rubenmarin , thanks for taking the time to look at the issue that I am facing.

 

@Levi_Turner , here is my load balancing rule:

(
node.@NodeType = "Central" and resource.stream.Empty()
)
or
(
node.@NodeType = "Dev" and
(node.@EngineType=resource.@EngineType)
or
(node.@EngineType.empty() and resource.@EngineType.empty())
and !resource.stream.Empty()
)
or
(
node.@NodeType = "QA" and
(node.@EngineType=resource.@EngineType)
or
(node.@EngineType.empty() and resource.@EngineType.empty())
and !resource.stream.Empty()
)

 

Where NodeType is a exclusive Node custom property and EngineType is a custom property created for Apps, Stream & Node. 

Here, Nodes have both NodeType & EngineType custom properties assigned to them, where as Streams and the apps present inside those streams have the EngineType.

 

@rubenmarin , I did assign the EngineType custom property to the streams. 

rubenmarin

Hi, if the property is on streams, I think it should be "resource.stream.@EngineType" instead of "resource.@EngineType"