Skip to main content

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.

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


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


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. 


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.