Solved

Why are columns by default enabled for use in Layout/Default/Context procedures?


Userlevel 6
Badge +10

While reading this conversation I was triggered by a comment from @René W:

In an early stage of our product development we've encountered some serious performance degradation by passing to much parameters in default, layout and context logic. Our strategy is to pass only the parameters that are needed.

While he referred to the Web GUI, this also got me wondering about performance effects in Universal GUI and we have done some testing with it. So far we haven't been blown away by the difference, nevertheless I am surprised these settings haven't been discussed in our project so far and that I can't find much information about it in the Docs and on the Community.

We noticed for example that with the default Subject Column setup (all parameters enabled - see below screenshot), the Layout() procedure is called for every edit in every column. This is most of the time unnecessary for our purpose and therefore unnecessarily utilizing resources.

 

From a perspective of ‘Performance by design’, I have a couple of questions:

  • Are there good reasons to have these enabled by default?
  • If not, why are these settings enabled by default?
  • Is there a way to change this default setting?
  • Does anyone have a smart way to enable/disable these parameters based on their use in a Default/Layout/Context procedure?
  • On the topic Performance in Universal GUI in general: any recommendations / nifty tricks / good experiences for improving performance (other than the ones mentioned here)?
icon

Best answer by René W 9 July 2021, 09:00

View original

2 replies

Userlevel 5
Badge +15

I've already created an idea for this as I think this is really added value, please add your vote :-) :

https://community.thinkwisesoftware.com/ideas/disable-parameters-columns-by-default-for-concepts-layouts-contexts-defaults-1239

For less experienced users it's very useful to have “full access”, but once you're developing more and more, and developing on an existing (larger) system the default behaviour of “always on” is annoying. It takes a lot of time to figure out which parameters are not necessary for each context, layout and default. It's easy to forget when creating a new column.

For the Universal GUI performance I guess the time consuming part is the amount of http calls made. For example when after logging in you opening IAM > Applications via Universal there are in my case 74 http calls made. That is a lot. And I think the configuration of the server of Indicium is (going to be) very important.

Userlevel 6
Badge +10

I've already created an idea for this as I think this is really added value, please add your vote :-) :

https://community.thinkwisesoftware.com/ideas/disable-parameters-columns-by-default-for-concepts-layouts-contexts-defaults-1239

@René W  I could have known you were way ahead of me on this one, you have my and my teams’ votes!

For less experienced users it's very useful to have “full access”, but once you're developing more and more, and developing on an existing (larger) system the default behaviour of “always on” is annoying. It takes a lot of time to figure out which parameters are not necessary for each context, layout and default. It's easy to forget when creating a new column.

I understand that it's easier, but that doesn't mean it's better to have it turned on by default. I would prefer if performance settings are also optimized ‘by design’ (similar to ‘security by design’). I don't think it's too hard to explain that ‘columns can be used in Layout/Default/Context procedures if enabled in Subject Column settings'. Nevertheless, it would be better if Thinkwise can automate it (as suggested by Robert Jan in response to your Idea).

Reply