Solved

Universal and Model changes

  • 25 October 2022
  • 4 replies
  • 59 views

Userlevel 1
Badge

What is the way to refresh the data model in the Universal GUI?

I have an application built for the Windows GUI and now I want to use it in Universal but that needed some changes in the model. I am running the Universal GUI directly to SF.

For example; I disabled the Layout input of a column, but Universal keeps giving an error about a missing parameter in the layout procedure.

The only way to stop all these errors was to recycle Indicium, but there must be a nicer/easier way.

icon

Best answer by Erik Brink 25 October 2022, 09:37

View original

4 replies

Userlevel 5
Badge +4

Hi Patrick,

Nice question!

First of all, it is Indicium in behind executing the layout logic and throwing these error.

In Universal you will get the "Application model expired” message. This is a notification for the user there are changes. The user can refresh the browser to renew the application definition at the client-side.

How about Indicium?
When running Universal GUI against IAM, Indicium is smart enough to detect model changes themselfs, reloading the API definition at runtime.

When running against the SF, the user could trigger this behavior by logging off in Universal. This gives Indicium the signal to renew itself.

A recycle of the entire IIS Application pool, shouldn't be necessary.

Does this answer your question?

Kind regards, Erik

Userlevel 1
Badge

Hi Erik,

Will the ‘Model expired’-message only show up when you are running the Universal GUI against IAM? Haven't seen the message yet.

Logoff seems to work, it would be a bit quicker that for example Ctrl F5 (or a menu option under your profile picture) would do the trick (comparable to the Refresh model button in Windows).

But for now I can continue, thanks!

Patrick

Userlevel 5
Badge +4

I agree there is something to win here. We got some items on our backlog to approve this. For example an option on the ‘model-expired’-message to renew immediately. 

I think indeed the 'model-expired’-message will only come up when working against IAM, because it is initiated by Indicium. For now it is up to the developer(teams) to inform eachother about important changes. In a production environment, your application will always work against IAM. 

Userlevel 1
Badge

Addition:

If you send a POST-message with Insomnia to <url>/indicium/sf/<appl_id>/refresh_model you are also triggering Indicium, so you don't need to logoff and login.

Reply