The Universal Theme introduced with APEX 5 is immensly good looking and comes with a powerful Theme Roller to customize it.

With that new theme most, if not all, older themes are obsolete.

That leaves us just with a few corporate designs which can’t (or don’t want to) be replaced by the UT.

Now ideally you want your developers to use that custom theme in all applications and also subscribe to that.
Historically I recommended to create a master application with that theme and have all other applications subscribe that. This works good, as long as you are in the same workspace. If you need to cater for multiple workspaces this approach doesn’t work anymore.

Now, did you know that you can create a public theme which automatically appears in all create application wizards?

Here is how you set that up:

Create an application to hold your theme (this could be your existing master template application)

Log on to the APEX Instance Administration (Workspace INTERNAL)

Go to Manage Instance – Public Themes

Create a Public Theme

Choose the workspace that contains your theme application and pick the theme
Instance Admin - Create public theme - choose applicationInstance Admin - Create public theme - choose theme
There is your new public theme, available to all workspace on this instance
Instance Admin - New public theme
Now lets go to one of your workspaces and create a new application
Create new application
Right on the first page, open the Popup LOV to select our new public theme. Make sure to set the select list in the upper left corner to “All Themes”
Create new application - Choose all themes
Now pick your theme style
Create new application - Pick Theme Style
In the confirm dialog just ignore the “Subscribe” information, its just wrong.
Create new application - confirm
After you created that application, open it, go to Shared Components -> Themes and find your custom theme there, which is subscribed to the repositoryTheme Settings in new application

In the next posting I’ll tell you how to update that theme in the repository, so that your applications can inherit (refresh) those changes.



  1. Jaydipsinh Raulji on March 22, 2016

    Very helpful, thanks.


0