38
Views
5
Comments
Solved
Deep Link in OutSystems ODC
Question

Hi everyone,

I’m currently working on an OutSystems ODC mobile application and trying to implement deep linking (for example, opening a specific screen from an email URL).

While searching the OutSystems documentation, I found a result titled:

“Customize Deeplink Behavior – ODC Documentation”

However, when I click the documentation link from the search results, it redirects to a 404 – Page Not Found screen.

In O11 we will achieve deeplink like this - 

<app-identifier>://<module>/<screen>?<Parameter1>=<Value1>&<Parameter2>=<Value2>


Can anyone please guide me how to create deeplinks in ODC?


Regards

Murali

2021-10-04 07-48-45
Sebastian Krempel
Champion
Solution

Hi Murali,

now you made me curious, so I created a small sample app “MyMobileDemo” with a Home screen showing a list of news and a Detail screen having an input parameter Id to display a single news. I hope this resembles your use case.

There are two options for deep linking: custom scheme and universal links. The one you mentioned with an app identifier is the simpler one using a custom scheme. This is supported by ODC Capacitor apps by default, so no extensibility settings are needed.

The only configuration required is the App Identifier setting in the MABS configuration in the ODC Portal. Unfortunately, a single word is not allowed as a scheme, so you have to follow the reverse domain name pattern:

After changing the App Identifier, make sure to rebuild and reinstall the app, as the OS registers the scheme at install time. This creates a deep link exactly as you expect:

<app-identifier>://<module>/<screen>?<Parameter1>=<Value1>&<Parameter2>=<Value2>

The part of the link before :// is always lowercase. In my sample I went with the App Identifier eu.lowcoding.mymobiledemo. So in my case, the deep link to view news with Id = 5 is:

eu.lowcoding.mymobiledemo://MyMobileDemo/Detail?Id=5

Note: <module> refers to the technical module name, not the app display name.

For links that must reliably work from emails and browsers, you should look into Universal Links (iOS) / App Links (Android), which use normal HTTPS URLs and open the app only if it’s installed, otherwise falling back to the web. The Capacitor documentation explains the setup in detail here: https://capacitorjs.com/docs/guides/deep-links


Regards
Sebastian

2024-05-02 09-49-04
Murali Manoharan V
Champion

It works, thanks for the detailed explanation.

2021-10-04 07-48-45
Sebastian Krempel
Champion

Hi Murali,

the documentation page you mentioned seams to be down, I found the following that might be helpful:

While looking for the pages above, I experienced other 404 errors when opening the documentation links directly as well but could still navigate them through the menu.

Also the markdown of the OutSystems documentaion is available on GitHub. Maybe you find the desired page there (this once helped me when the documentation site was completely down).

Hope this helps,
regards Sebastian

2024-05-02 09-49-04
Murali Manoharan V
Champion

Hi @Sebastian Krempel 

Thanks for your quick reply. I couldn’t find the documentation on GitHub either.

I’m using Capacitor. The 1st and 2nd links are helpful for customizing deep-link behavior, but not for creating deep links. The 3rd link applies to O11, not ODC.

My question is specifically about how to create deep links in ODC in a way similar to O11

<app-identifier>://<module>/<screen>?<Parameter1>=<Value1>&<Parameter2>=<Value2>


Regards

Murali

2025-05-31 09-56-11
TheSubuIyer
Champion
2021-10-04 07-48-45
Sebastian Krempel
Champion
Solution

Hi Murali,

now you made me curious, so I created a small sample app “MyMobileDemo” with a Home screen showing a list of news and a Detail screen having an input parameter Id to display a single news. I hope this resembles your use case.

There are two options for deep linking: custom scheme and universal links. The one you mentioned with an app identifier is the simpler one using a custom scheme. This is supported by ODC Capacitor apps by default, so no extensibility settings are needed.

The only configuration required is the App Identifier setting in the MABS configuration in the ODC Portal. Unfortunately, a single word is not allowed as a scheme, so you have to follow the reverse domain name pattern:

After changing the App Identifier, make sure to rebuild and reinstall the app, as the OS registers the scheme at install time. This creates a deep link exactly as you expect:

<app-identifier>://<module>/<screen>?<Parameter1>=<Value1>&<Parameter2>=<Value2>

The part of the link before :// is always lowercase. In my sample I went with the App Identifier eu.lowcoding.mymobiledemo. So in my case, the deep link to view news with Id = 5 is:

eu.lowcoding.mymobiledemo://MyMobileDemo/Detail?Id=5

Note: <module> refers to the technical module name, not the app display name.

For links that must reliably work from emails and browsers, you should look into Universal Links (iOS) / App Links (Android), which use normal HTTPS URLs and open the app only if it’s installed, otherwise falling back to the web. The Capacitor documentation explains the setup in detail here: https://capacitorjs.com/docs/guides/deep-links


Regards
Sebastian

2024-05-02 09-49-04
Murali Manoharan V
Champion

It works, thanks for the detailed explanation.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.