Would it be less resource intensive on the server to populate parameters into session variables and read them multiple times in visual overview instead of calling the parameter more than once?
What affect if any would this have on the client?
Hi Philip,
When making complex and big Visio's, it is worth looking into this option. If you have a rather small Visio or only need to reference the parameter only once, it does not make sense. The advantage here is that you don't need to make a call to the server, but keep the variables in memory on each/your client. I highly advise limiting the scope of session variables when you're working on a Visio that will be used multiple times (i.e. assigned to Element or Services) to at least CardVariable.
Some use cases where it is useful (not limited):
- Typically you need to fetch multiple parameters from a table on a certain row. Having the index in a session variable is convenient.
- If you need to format the session variable by means of a Regex, you don't want to make your Visio visually overly complex, so then it might be worth saving the result of the Regex in a session variable.
- When you are showing a popup page (e.g. Maps, Trending graph) multiple times (e.g. different configs, different parameters), you should consider making one hidden 'Visio' page and reusing it by using Session Variables that will be set once you click on the icon/button that opens the popup.
- Show/Hide content based on interactions within the Visual Overview is typically done by Session Variables, although this might also work with Parameters. The scope of Session Variables can be limited though, so it's multi-session, while using parameters will make the change for all users.
- It's always the best idea to make your Visio as generic as possible by using placeholders like [this elementid] or [this view], but if you need to link to objects beyond the scope of your Visual Overview card (e.g. you need information from a manager element), then you might want to save the ID or name in a session variable and use this in all relevant places. By doing this, you don't need to search all shapes whenever the ID or name changes. At that time, you only need to change the session variable initialization.
I'm sure there are other (specific) use cases that might also be worth considering using session variables, but I hope this already gives you some tips and tricks.
Kind Regards,
Jarno
Hi Philip, Indeed having properties is a way to have more flexibility. It is perfectly possible by populating session variables with them as well.
Besides this, there are of course a lot of different considerations to make your Visio more performant (e.g. Grouping, NoAlarmColorFill) but maybe this goes beyond the scope of your question and sometimes requires more details to see what can be improved.
We do use both of those quite a lot as well, any suggestions are welcome.
Hey Philip, maybe it’s worth it to reach out to the Visual Overview experts for a solution analysis? More info can be found on our expert hub: https://community.dataminer.services/exphub-visualoverview/
Thanks Jarno,
These are mainly for services. We’re already using placeholders, regex and page/card variables, plus custom properties for some values like row indexes so the Visios are as generic as possible.
I’m guessing even reading a custom property into a session variable would speed things up as well when used more than once?
We do use parameters to display and use in show/hide logic, which is the main thing I’m thinking about at the moment, but these are all goo suggestions we’ll look into speeding up load times for improved user experience.