Sunday, 15 March 2020

Friendly URLs in APEX 20.1

We can finally add 'native' to the list of choices when it comes to 'prettified' URLs, as Oracle APEX 20.1 honours the statement of direction with a simple checkbox in application properties.

APEX 20.1 Application Properties - Friendly URLs

I tried this with old & new applications, and it appears to be case insensitive.

https://apex.oracle.com/pls/apex/sage/r/SCOTT_UT/Zhuzh?P29_DEPT=10

APEX also appears to honour either format, regardless of the setting.

https://apex.oracle.com/pls/apex/sage/r/swesley_forum_ut/emp?p6_empno=7566&p6_mode=R

It contains the workspace name, application and page aliases (if present), however this obfuscates key reference information a developer users hourly ;p

I wonder if there will be a related API?

I know some people yearn for this, but is it really that prettier than the original?

https://apex.oracle.com/pls/apex/f?p=64956:6:::::P6_EMPNO,P6_MODE:7566,R

Time may tell. It usually does.

5 comments:

Unknown said...

What version of ORDS do you use on your productive servers? I read on the forum that 19.4 is not stable yet and it’s better to set 19.2

Scott Wesley said...

We're never in a huge hurry to upgrade ORDS, unless there is an APEX version upgrade moving through.

Regression issues are common, and whatever version we're already on does a great job of pushing data from the client to the database and back.

Anonymous said...

Two steps forward, one step back. Pretty silly that they left the work "apex" in the URL. I assume that it is the APEX teams self promotion for marketing purposes, so that end users can know that it is an APEX app. But it will annoy the web developer way more who elects to build a public facing webapp in APEX, than it will mean anything to his users.

Also the /r/ seems to provide zero added value.

It's definitely a step in the right direction. I give the newAPEX friendly URL feature 4 out of 10. The things that would raise that significantly would be:

1. Remove the /apex/
2. Remove the /r/
3. Find a way to pass parameters under the covers rather than through the URL.

Scott Wesley said...

I think this is a question of the layers being represented.
1) I'd guess APEX can only control the URL from the f?p, so it's probably the middle tier (ORDS) that's responsible for the /pls/apex. These can still be re-written with Tomcat.
2) I don't know enough about the mechanics to guess the need for this
3) I'm not sure much can be done about web behaviours. Even banking sites just obscure this information, not hide it.

Oracle APEX developer said...

Very Useful, Thank you.