Hello.
I would like to create a menu with a list of all modules in my Outsystems environment, for the user to select and go directly to the URL (address) of each module.
In the Espace table I found the list of modules. Where can I get the URL of each module to be able to create the menu and direct to them?
Thanks.
Hello,
You don't have the URL in tables, but you have the name of the modules, for url there is a action in server side that give you the domain and you Should build the URL.
Here you can find the action:
https://success.outsystems.com/Documentation/11/Reference/OutSystems_APIs/HTTPRequestHandler_API
Regards
Hi Cleiton,
for a central menu your are most likely interested in all application entry modules. To get those
* add a reference to Application and Espace Entity from the System module
* add an aggregate for Application and Join (Only With) it with Espace on Application.[Entry_eSpace_Id] = Espace.[Id]
This gives you alle applications with an Entry module.
To get the Domain of your current environment you can query the Parameter entity.
* add a reference to the Parameter entity
* Create a utility server action function GetDefaultDNSDomain
* Add an aggregate to the flow for the Parameter Entity and set the filter to Parameter.Name = "DefaultDNSName"
* return the result
This returns the configured environment DNS name without the scheme.
Now to get the full url of a module you concatenate the scheme, domain and Module Name.
"https://" + GetDefaultDNSDomain() + "/" + Espace.Name
Best
Stefan
Thanks for the tips.
With your help, I managed to come up with another way to get the result.
I took the URL from the GetBookmarkableURL() function and replaced part of it with the modules name.
Thank you very much!