Deep Linking in Oracle APEX
There are times when we need to send users a direct link to a specific page, such as an interactive report, via email or users may also want to bookmark certain pages for easy access after logging in.
When a user clicks on this type of URL and is not already authenticated, APEX first redirects them to the login page of the app and then to the home page. However, this is not the desired behavior. We want the user to be redirected directly to the specific page after authentication.
Deep linking means creating a direct link to a specific page within an application, rather than just to the application's home page. These links can be used in emails, workflow notifications, webpages etc., allowing users to reach desired content directly.
Let's take the example from my previous blog. In this blog we explored about linking to interactive report. Now, we want to send the following URL to the manager via email every Monday, allowing them to directly access the primary report for all closed projects.
https://apex.oracle.com/pls/apex/r/oradb1/sample-reporting/interactive-report?
ireq_status=Closed
&request=IR[projects_report]_primary
This behavior of the application is controlled by the "Deep Linking" attribute, which you can find in the "Security Attributes" in "Security" section under Shared Components in the app builder.
It has two values:
Enabled - If the URL references a specific page in an application, after authentication, Oracle APEX automatically displays that specific page.
Disabled - If the URL does not contain a valid session ID, Oracle APEX redirects to the application's home page.
Now, when users click on the link in the email, they will first be prompted to authenticate if necessary. Upon successful authentication, APEX will seamlessly navigate them directly to the interactive report, where they can view all the closed projects.
Subscribe to my newsletter
Read articles from Rutvik Prajapati directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by