Nov 23, 2016

on 1 comment

APEX APP ALIAS - Unique Across Instance ?

Recently I was asked that in APEX whether the Application Alias is unique across instance.  My first reaction is..."it should be…otherwise it's pretty easy to make an APEX URL to become invalid because someone could use the same alias". 


For example, my APEX2EBS framework makes use this alias to construct the URL that it should be something like


http://apex.server:port/pls/apex/f?p=APEX2EBS:pageID

The app ID could be any value since I provided an application export file to users.  It can be imported to any workspace with any app ID, as long as the Alias is APEX2EBS.

The application alias "XXX" can not be converted to a unique application ID.Contact your application administrator.

Okay. I was wrong.  I created two applications in two different workspaces.  Both applications have the alias of XXX.  Use URL of "f?p=XXX" gave the above error.

Conclusion -- the application alias is unique across workspace, but not instance.

Another conclusion – If  I know you're using a URL with Alias to access your APEX application, I can easily screw it up by creating any application (in different workspace) which uses the same Alias.  Example like "LOGIN", "APEXHOME", "BUILDER".  These alias are used internally, but we can set application alias to any of these in other workspace.

Searching the bug database and found out someone as early as 2011 filed a bug (13475686, 13501686) about this:

12/14/11 07:55 am
@ The application alias should be unique across and instance.
@ .
@ Currently it's unique within a workspace, but that makes it possible that a
@ developer can make an existing application alias not working anymore if he
@ defines the same alias name in a hosted development environment. The reason
@ is that when APEX tries to convert the alias into an application id it will
@ find two applications and will raise an error.

Right now we're at year end of 2016 and it seems that Oracle APEX team has no intention to fix it.

We know there're numerous way to fix this issue.  As an architectural design existed for 10+ years, no one can estimate how big is the impact it could bring (especially to some BIG customers), and no one want to take up the responsibility to make this change.

Situation sounds familiar, right ?
  

1 comments:

On the supplements said...

I am typically to blogging and i actually recognize your content. The article has actually peaks my interest. I am going to bookmark your web site and maintain checking for brand new information.