We have a deeplink solution to login into our webshop and immediately open the detailform of a product. (The Product Specified as argument in the deeplink).
This works good.
But when we have already have our webshop open in a browser, and then also try to open the webshop by the deeplink in a second window, it doesn’t work.
Then it shoes the same content as was open in the first window.
Is there a way to discover the arguments of that second deeplink? (So we can act on it in code) I tried to debug, by setting a breakpoint at the onOpen solution event, but it doesn’t seem to come there the second time.
Our context is, that we have an email with various products, and if they click on one of the products these are opened on our Webshop. First click on a product goes ok, but if they then click on more products, each time only the first is shown.
Servoy’s current web client technology can only handle one browser window per user session – very different behavior than a typical website. We’ve figured out a way with Data Sutra based apps to activate/deactivate various windows as the user switches around but it’s not something easily described and relies on certain architectural choices (iframe for starters). Be glad to help you implement this but it does take some work.
The other option is to use Sutra CMS to build a real website with. All the niceties of a 1st class CMS plus easy integration with Servoy applications.
you probably use startup arguments to navigate to the desired page.
startup arguments are only triggered the first time you get into a web client session.
You should deeplink into a solution, pointing to a global method and pass the parameters into that method.
Rather than startup arguments, these method parameters are handled each time you trigger the deep link.
The above still doesn’t automatically allow you to open multiple windows with different content, but at least your parameters are handled correctly
Hope this will get you on the right track.
This is really one of the major drawbacks of Servoy’s Web Client. As David said, there are some tricks, but they are more hacks. You can use the deep link as Marc suggested
See: https://wiki.servoy.com/display/DOCS/Web+Client
you’r looking for this option: {serverUrl}/servoy-webclient/ss/s/{mySolutionName}/m/{myMethodName}/a/{value}
That will trigger the method, even if they have a session opened already.
My clients complain about this feature the most. They are used to PHP/Ruby apps where you can right click on anything and open it in a new window (like a list of orders, and you right click on one to view the order detail in a new window, then you can compare 2 orders in 2 windows).