Skip to Main Content
Feature Request FR-3900
Product Area Developer Experience
Status CLOSED

2 Voters

All list links should use the friendly URL (application alias + page alias) instead of the technical URL (app_id + page number)

mathieumeeuwissen Public
· Jul 11 2024

Idea Summary
When you create a link with a page as target, it is defined as a URL with APP_ID and page id (see Shared Components > Lists > List Details)
For example:
f?p=&APP_ID.:100:&SESSION.::&DEBUG.::::

I would like to have the link defined is friendly URL using the application alias and page alias when 

For example:
f?p=MyApplicationAlias:MyPageAlias:&SESSION.::&DEBUG.::::

Use Case
We have multiple applications that together make one big application (Similar as the APEX builder itself). 
All applications have a general list called “Navigation menu”.
Within each application we define the menu setup in this list for the specific application only.
Each application has a Navigation Menu list called “Main menu”.
This menu list queries the APEX view apex_application_list_entries to combine all the menu items of each application (even with the possible translations and authorisations).
This way we don't need to have a separate main application for the menu structure.
It has the advantage that you only need to deploy the application that got a new page + menu item. The other applications will see this new menu option straight away.

But using APP_ID in the target URL does not work with this setup. 
Start the application A and all the target links will use APP_ID = application A instead of the required application B.
Luckily you can change the target URL in Shared Components > Lists > List Details in the List Entries interactive grid to the friendly URL notation.
But every time you open a menu item to change something, it will reset the target URL back to the &APP_ID.:page id URL notation. It is easily forgotten to alter it back to the friendly URL notation.  

Preferred Solution (Optional)
At least don't reset target URLs to the technical notation when changing a list item.
But rather have it always using the friendly URL when for the application the friendly URL option is activated.

We reviewed this idea carefully, and while it was interesting, we concluded that due to all the internal implications we need to take into account, it is unlikely to make its way into APEX.

Comments

Comments

  • vincent morneau Admin OP 1 years ago

    Hi @mathieumeeuwissen ,

    In your example, you mention going from

    f?p=&APP_ID.:_100_:&SESSION.::&DEBUG.::::

    to

    f?p=MyApplicationAlias:MyPageAlias:&SESSION.::&DEBUG.::::

    But to be clear, the latter is not friendly URL either. It's the legacy syntax using aliases instead of ids isn't it?

    A friendly URL syntax would be to use

    workspace_alias/app_alias/page_alias?session=&SESSION.&debug=&DEBUG.

    which might end up being more difficult to write for developers.

    What do you think?

  • mathieumeeuwissen OP 12 months ago

    Yes, that would also be good.

    As long as the app_id is not used.

  • vincent morneau Admin OP 12 months ago

    I guess I'm not sure what is the request anymore. You can already write URLs as f?p=MyApplicationAlias:MyPageAlias:&SESSION.::&DEBUG.::::

    Can you reiterate your idea?

  • mathieumeeuwissen OP 12 months ago

    Create a menu list item and link it to a page. You will see it creates the URL link with app_id. Change it manually to use the application alias in the IG.

    When you open the menu list item again to edit it. After saving the url link is changed automatically back to the app_id.

  • vincent morneau Admin OP 11 months ago

    We circled back to this idea today and we have other plans in the pipeline for creating links inside builder, that would overrule the need for this idea.