Forum Stats

  • 3,817,367 Users
  • 2,259,322 Discussions
  • 7,893,760 Comments

Discussions

Store APEX app URLs in a table and reference them as links?

Keegan_W
Keegan_W Member Posts: 179
edited Feb 11, 2018 11:32PM in APEX Discussions

This is what I'm trying to accomplish:  We want to have an APEX app that acts as a menu of links to all of our other APEX apps.

Since the only thing that changes app-to-app in the URL is the app ID, it would be nice to have a form for adding new apps to the link menu like this:

pastedImage_0.png

And then have the URL stored in a table using the App ID provided.  Table might look something like this:

APP_ID

APP_NAME

CATEGORY

URL

135

Software Request Dashboard

IT

echo.corp.xyzcompany.com:8550/apx/f?p=135:LOGIN_DESKTOP::::::

136

Sales Metrics

Customer Service

echo.corp.xyzcompany.com:8550/apx/f?p=136:LOGIN_DESKTOP::::::

137

Customer Survey Review

Customer Service

echo.corp.xyzcompany.com:8550/apx/f?p=137:LOGIN_DESKTOP::::::

138

Productivity Metrics

Operations

echo.corp.xyzcompany.com:8550/apx/f?p=138:LOGIN_DESKTOP::::::

And then be able to place the new app link in the menu with the proper title, URL link, and category for an interface that looks something like this:

pastedImage_12.png

Might be going about this the wrong way but any suggestions to accomplish something along these lines?

Current APEX version is 5.1.2

Thanks!

Tagged:
Ahmed Haroon

Answers

  • fac586
    fac586 Senior Technical Architect Member Posts: 20,838 Red Diamond
    edited Feb 8, 2018 9:00PM
    Keegan_W wrote:This is what I'm trying to accomplish: We want to have an APEX app that acts as a menu of links to all of our other APEX apps.Since the only thing that changes app-to-app in the URL is the app ID, it would be nice to have a form for adding new apps to the link menu like this:
    pastedImage_0.png

    And then have the URL stored in a table using the App ID provided. Table might look something like this:

    APP_ID

    APP_NAME

    CATEGORY

    URL

    135

    Software Request Dashboard

    IT

    echo.corp.xyzcompany.com:8550/apx/f?p=135:LOGIN_DESKTOP::::::

    136

    Sales Metrics

    Customer Service

    echo.corp.xyzcompany.com:8550/apx/f?p=136:LOGIN_DESKTOP::::::

    137

    Customer Survey Review

    Customer Service

    echo.corp.xyzcompany.com:8550/apx/f?p=137:LOGIN_DESKTOP::::::

    138

    Productivity Metrics

    Operations

    echo.corp.xyzcompany.com:8550/apx/f?p=138:LOGIN_DESKTOP::::::

    And then be able to place the new app link in the menu with the proper title, URL link, and category for an interface that looks something like this:

    pastedImage_12.png

    Might be going about this the wrong way but any suggestions to accomplish something along these lines?

    Current APEX version is 5.1.2

    Are these apps in the same workspace? If so then you don't even need a table, everything already exists in the APEX views:

    select    application_id  , application_group  , application_namefrom    apex_applicationsorder by    application_group  , application_name
    Ahmed HaroonKeegan_W
  • Ahmed Haroon
    Ahmed Haroon Member Posts: 1,137 Bronze Badge
    edited Feb 9, 2018 12:42AM

    thanks very much, this will help a lot

    and please guide us What if workspaces are different ? how we can handle ( have an entry in table to access them ). are these URL's only for APPs or the Pages we create within an App?

    i am interesting in it because i have to implement a Tree style menu for our applications (which are in different groups and there is a requirement to have different workspaces), and this menu will be populated for through a view which is based on 3 tables, app_menu, app_users, app_users_menu. The table app_menu have a columns: app_id, app_description, app_path (url), active etc. menu will be populated as per allowed menu items to user currently logged-in.

    hope i haven't hijacked this topic.

    regards

    EDIT: checked the oracle documentation (link is below) specific to have understanding URL syntax, here is used &c argument to specify Workspace name.

    https://www.mydomain.com/pls/apex/f?p=6000:6001:&APP_SESSION.&c=WORKSPACE_NAME - seems we have to enter this line with our own application id, page id and workspace name in table's column app_path ? if i am not wrong ... please advise.

    Link: https://docs.oracle.com/cd/E71588_01/HTMDB/understanding-url-syntax.htm#HTMDB03018

  • jariola
    jariola Member Posts: 10,737 Silver Crown
    edited Feb 9, 2018 7:57AM

    You don't need define workspace in URL if you use application ID.

    Application id is unique in instance level.

    Workspace name is need in URL if you use application alias instead of application id, when there is multiple applications whit same alias in instance.

    Application alias is unique only in workspace level.

    Instance might have multiple applications with same alias in different workspaces.

    Ahmed Haroon
  • Keegan_W
    Keegan_W Member Posts: 179
    edited Feb 9, 2018 9:46AM

    They may be in the same workspace or they may not.  That is undecided.  However, they are in the same instance and like @jariola mentioned, app ID is unique at the instance level.

    Thanks for letting me know about the apex_applications table - that is helpful.

    My biggest gap is how to store the URLs and then use them as page links.  Is there any way to do this using a List? or something similar that has a nice menu-like interface?

  • fac586
    fac586 Senior Technical Architect Member Posts: 20,838 Red Diamond
    edited Feb 9, 2018 10:24AM
    Keegan_W wrote:They may be in the same workspace or they may not. That is undecided.

    It would be the recommended approach when planning this level of integration as it would enable single sign-on to be implemented using a shared authentication scheme and session cookie.

    However, they are in the same instance and like jariola mentioned, app ID is unique at the instance level.Thanks for letting me know about the apex_applications table - that is helpful.My biggest gap is how to store the URLs and then use them as page links. 

    Again there's no reason to store any URLs. These can be generated from the application metadata.

    Is there any way to do this using a List? or something similar that has a nice menu-like interface?

    It can very easily be implemented using a dynamic list if the applications exist in a single workspace.

    Oracle have previously published a couple of articles relating to this:

    These are now so out of date I would be wary of trying to utilise them directly, but they may serve to illustrate the points to be covered.

    If the applications have to exist in separate workspaces then it should still be possible to set up something based on metadata by granting APEX_ADMINISTRATOR_READ_ROLE to a schema and creating views over the resulting instance-wide access to application metadata.

    Ahmed Haroon
  • Ahmed Haroon
    Ahmed Haroon Member Posts: 1,137 Bronze Badge
    edited Feb 11, 2018 11:32PM

    thank you for guidance and knowledge / experiences shared with us

    regards

This discussion has been closed.