Skip to Main Content
Feature Request FR-4759
Product Area APIs
Status ROADMAP

1 Voters

Set the Application Icon via PL/SQL (instead of the App Builder "User Interface" -> "Change Icon" button)

pane Public
· Jan 2 2026

Idea Summary
Right now, the APEX application icon (used for the Favicon, the PWA icon, the Oracle APEX Builder icon, etc) must be adjusted through the App Builder and specifically “Shared Components” → “User Interface Attributes” → “Change Icon” button.

There are numerous use cases where setting this programatically through a PL/SQL API call would be beneficial.

Use Case
One (of many) use cases is when there are multiple versions of an APEX application installed in different databases, each accessed via a Progressive Web App (PWA) from a single device.  For example, the developers develop the app and then deploy it to three separate incarnations called “_Customer 1 App_”, "Customer 2 App", and “_Customer 3 App_”.  Some power or admin users might need to have PWA versions of all three apps on the same device.

When the app is deployed three times to three separate environments, it will always have the same application icon.  And thus, if the power/admin user installs all three as a PWA, the icon for all three looks identical.  Making it complicated to know which one (which application incarnation) to run or is running.

In such scenarios it is often desirable to have slightly different application icons for each installation.  For example, for customer 1 the icon may be blue, for customer 2, the same icon red, and for customer 3 the same icon green.  With customized icons per deployment, it becomes much easier for users to visually identify which PWA application is which when all three are installed on the same device.

Right now this can be accomplished by following a manual workflow:

  1. Deploy the application using automation (i.e. SQLcl projects) into a new environment.
  2. Manually log into the App Builder (assuming a full APEX installation and not just a run-time APEX installation) and navigate to the “Change Icon” button.
  3. Manually re-upload the environment specific icon.

A much easier, automated, and lower risk implementation would be to simply run some PL/SQL as part of an installation script (or some other way - exactly how to run it is not important here) that sets the icon accordingly.  For example, some pseudo-code run on application installation might look something like this:

BEGIN
   IF    SYS_CONTEXT('USERENV', 'DB_NAME') = ‘CUSTOMER_1’ THEN
      APEX_APPLICATION_INSTALL.SET_APPLICATION_ICONS(p_icon_file => ‘r/apex_pm/33910/files/static/v338/icons/my-app-blue.png’);
   ESLIF SYS_CONTEXT('USERENV', 'DB_NAME') = ‘CUSTOMER_2’ THEN
      APEX_APPLICATION_INSTALL.SET_APPLICATION_ICONS(p_icon_file => ‘r/apex_pm/33910/files/static/v338/icons/my-app-red.png’);
   ESLIF SYS_CONTEXT('USERENV', 'DB_NAME') = ‘CUSTOMER_3’ THEN
      APEX_APPLICATION_INSTALL.SET_APPLICATION_ICONS(p_icon_file => ‘r/apex_pm/33910/files/static/v338/icons/my-app-green.png’);
  END IF;
END;
/

Writing and running the PL/SQL logic and having it run on APEX application installation is the easy part.  What's missing is the API such as the APEX_APPLICATION_INSTALL.SET_APPLICATION_ICONS example shown in the above pseudo-code block.

Preferred Solution (Optional)
Ideally a new procedure such as the proposed APEX_APPLICATION_INSTALL.SET_APPLICATION_ICONS could be added.  Although the package name and actual procedure name is not important - having this functionality, regardless of what it is called, is what's important.

The new procedure could reference existing files in Static Application Files or even in Static Workspace Files.  And the procedure would have to use the provided file to set all five application icons accordingly (i.e. the “Favicon”, “Small rounded icon”, “Small icon”, “Large rounded icon”, and “Large icon”).

This is currently on the roadmap for a future release of Oracle APEX.

Known Duplicates

Known duplicates

FR-3995
FR-3995 Dynamically settable favicon