Hello guys
I'm developing a web app and I encountered a somewhat strange situation
I need to be able to bookmark a page which has two input parameters: a boolean and a text.
Through debugging I realized that, for some reason, the URL I get from GetBookmarkableURL() function and the actual URL that I bookmark have the input parameters' order mixed up
For instance:
- I bookmark the URL https://<MyApp>/eSpace/Page.aspx?Input1=True&Input2=text- URL from the GetBookmarkableURL() function - https://<MyApp>/eSpace/Page.aspx?Input2=text&Input1=True
Obviously, we get an error because the URL's don't match, and the browser says the page cannot be found
I tried (as a short in the dark) inverting the order of the inputs in my page, but the situation stays the same
Given one input is boolean (input 1) and the other is text (input 2) does OutSystems, for some reason, groups inputs of the same data type and handles them regarding data type?
Thanks for your help,
Ângelo Sousa
Hello Angelo,
As far as I know, the order is not important. That's why the parameters are named.
You can even call a page passing extra parameters or missing ones that the page will be executed (the default value will be used in the missing parameters, the extra parameters will be ignored.
So, that's not the reason for your problem.
Could you share the error message and the steps that cause the error?
Cheers
Hello Eduardo.
Yes, what you said makes sense. I'm wondering if this has anything to do with that "&(Not.Licensed.For.Production)=" bit at the end of the link. When I bookmark a link in the browser, that bit gets bookmarked as well, but the link retrieved by the GetBookmarkableURL() function does not have that part of the link present. Could this be the issue?
The error is just a default page saying the Page isn't working because it was redirecting too many times
Regards,
Ângelo
Hi Angelo.
No. The message is giving you the error. The page is being redirected too many times.
Are you navigating in the preparation? Or through JavaScript somehow?
Could be also a problem with SEO rules, but I think it is less probable...
Hello Eduardo
Yes, I'm doing the navigation process in the screen's Preparation
Since this is only an issue when the User's session expires, what I'm doing is:
1) I'm catching the exception thrown when the user hits the NoPermission screen, get the URL the User attempted to hit with the GetBookmarkableURL() function
2) Send this URL as an input parameter to the screen where the single sign on action is called
3) Perform the login as expected
4) If the URL sent in step 2 is empty, the user will be redirected to the default landing page; if not, they will land on the given URL
Note: I ran the debuggger, and the URL I'm getting through the GetBookmarkableURL() is the correct one. The only difference is it does not have the "&(Not.Licensed.For.Production)=" bit
Hi Angelo,
Can you share a small OML that reproduces this behaviour?
I figured out what I was doing wrong and it had nothing to do with that "&(Not.Licensed.For.Production)=" part of the link.
Thanks for that explanation, though
Hi Ângelo,
Please, put here the solution for your problem (for future reference), and mark your solution as the correct one :)
The problem is very specific to this application itself. Not sure how I can explain exactly what the problem was, but it had nothing to do with input order and the LicensedForProduction bit
I am also facing the same issue, what you have described.
after automatic session time out of application, url is not retained with all the input parameters, even though i am using GetBookmarkableURL() in login screen.
Can you please give me the pointer what might be getting wrong here.
I have all parameters as mandatory
Hello,
I recommend opening a new topic (if you didn't yet) as this one is related to Traditional Web applications, and you are facing issues with reactive applications :)
This way you will also get more attention for your problem.
Cheers!