Updated our gateway to v8.1.5 the other day and since then passing parameters through a view URL seems to be broken. It was working prior to the update.
Anyone else seeing this issue?
Edit: Further testing indicates that the view loads from the URL correctly on the first load, but if the URL is changed to reflect a new param, this is not loaded.
Hmm, I donât see any indication this actually made it into the 8.1.6 release.
Nevermind, hadnât fetched upstream recently enough. Looks like itâs in 8.1.6 after all, and should be in some nightly release, so possibly a regression if anything.
So, is the new 8.1.7 LTS the same as the 8.1.7 Nightly Build? I see both on the download page. Iâm assuming they are, and that the next nightly build will be 8.1.8âŚ??
The â8.1.7 LTS Nightlyâ appears to be identical to the â8.1.7 LTS Stableâ download as of this very second. Sometime today I expect we will update our internal systems to begin producing an 8.1.8 nightly.
@cmallonee, the scenario I have is that the parameter being passed is then used in a Named Query to populate a âFormâ. Now, since the 8.1.6 regression, the only way I can make it work is to put
import time
time.sleep(1)
before the code (not desirable). If I donât, the resulting dataset from the named query has a getRowCount() of 0.
It seems like the view takes a moment to recognize the parameter that is passed.
I guess it sort of depends on how this Named Query is being used.
This form that is being populated: is it populated via binding? Change script? Startup script?
If youâre using a binding, I would expect that binding to re-evaluate when the new value is supplied. If youâre using a change script, then this new value should also result in that code being executed again.
I could see how a startup script might not have the passed-in param because it might not have resolved yet.
Unfortunately I donât think a script at that location will work for what youâre trying to do because the params may not have resolved. If you read the docstring for the PageStartup Event, concentrate on the page portion:
def onPageStartup(page):
"""
This event is fired when a new page is opened in a tab or window in a
browser context.
Arguments:
page: A reference to the newly created page. Note that the other page
props will NOT return a valid value on page startup. The props that will
return a valid value are:
pageId (str): Identifier associated with the target page
path (str): Represents the Page URL of the page. Example: / or /myPage
"""
I just checked our automated testing for that area and I do not see any failures. Could you provide some replication steps? Perhaps the automation follows a different route? The automation looks correct to me as it follows these steps to test this area:
Use URL navigation to navigate to a page with three params delivered via the URL (system.perspective.navigate(url="GatewayIP:port/data/perspective/client/ProjectName/page/paramOne/paramTwo/paramThree", pageId=targetPageId)).
Verify params arrived and were consumed as expected by observing three Labels display the three values.
Use URL navigation for the same page, but with different param values in the URL (system.perspective.navigate(url="GatewayIP:port/data/perspective/client/ProjectName/page/paramTwo/paramThree/paramOne", pageId=targetPageId)).
Verify params have been replaced with the new values by observing that the Labels now display the new values.
It might be related to how weâre using the parameter, in a startup script. Maybe itâs an unrelated change where the view doesnât start up anymore on such a navigation.
Iâll try it in a change script rather and use a label to confirm tomorrow.