URL input parameter order

URL input parameter order

  

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

Solution

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

Solution

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


Regards,

Ângelo

Hi Angelo, 

Can you share a small OML that reproduces this behaviour?

Cheers

Hello Eduardo


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


Regards,

Ângelo

Hi Ângelo,

Please, put here the solution for your problem (for future reference), and mark your solution as the correct one :)

Cheers

Hello Eduardo

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


Regards,

Ângelo