I have been asked whether I can place Servoy screens inside a web-tab or iFrame inside another management system.
The idea would be to make servoy show additional details relating to the screen you are on in the main system, by passing a pk or uuid to Servoy.
I see a page from 2012 about running the web-client in an iFrame, but nothing about the NG-Client.
Have anyone done anything like this?
In my Servoy app I have a method in the global scope:
function gosomewhere(param) {
var id = parseInt(param);
//startup method does not called when deep linking, so call it if need be
//my code here to show the correct screen.
}
in your sample you mention the startup method is not called, but I think this is partly true.
If you open the solution for the first time, I believe the onSolutionOpen is triggered.
However, when you deeplink a 2nd time (in this case a solution session already exists for the browser session), the onSolutionOpen will not be triggered.
Another reason why onSolutionOpen may not be triggered in developer, is when you deeplink into a module of the main solution.
Both cases are the main reason why - like you did - a global method should be used to handle the parameters.
The comment about onSolutionOpen was my rephrasing of something I had seen on the forum or in an example and may no longer be how Servoy is working.
It is neat how the browser session persists, making Servoy seem an integral part of the host system. With some matching CSS styling the users will have no idea of that it is a separate system.