Wednesday, December 21, 2011

The Importance of Updating Themes

Upgrading APEX is great because you get lots of new features to take advantage of in your applications. During the upgrade the themes in the theme repository get various updates as well. However, the themes and templates for existing applications are not updated during an APEX upgrade.

This means that only new applications, as well as existing applications that are manually switched to one of the new themes, are able to take advantage of any updates – including bug fixes! This is both good and bad at the same time.

Many organizations spend a lot of time tweaking a certain theme until it meets their standards or expectations. If that work was lost during upgrades, well, let’s just say that a lot of 4 letter words would be heard throughout the office.

But at the same time there’s a bit of an issue with keeping older themes around. The web is evolving quickly and APEX team at Oracle is working hard to keep up with the changes so that you can create the best applications possible for your organization.

Table based layouts have been swapped out for lighter div based layouts. DTDs have been added to prevent browsers from running in quirks mode. IDs have been added to buttons to better work with the Dynamic Action framework. We’re even seeing the introduction of HTML5 elements now!

So while it may take some time and effort to convert to a new theme, I highly recommend you do so. If you’ve never done this before, and/or you’re considering switching from a theme that was modified by someone else, proceed with caution. The previous theme may have customizations that need to be brought over, such as the inclusion of custom CSS and JavaScript. I recommend making a copy of the application prior to switching the theme so the applications can be more easily compared side by side.

Happy theme switching!


  1. Hi Dan,

    Good to emphasize this aspect of upgrading.


  2. Dan,
    I agree MOST definitely.. Too bad many places just use APEX as a hammer, and everything is a nail. They update to the latest version of APEX, but still keep apps that look like they were built in APEX 2.0..

    Sorry, I am dealing with a client that limits what they can do in APEX.. Locking it down to the point they are using one of the older themes and refuse to use the available jquery or plugins offered in APEX 4.x because they require time to learn..

  3. Hi,
    while making backup copies is certainly something that every good developer should always do, APEX makes very easy for old and new applications to coexist at the same time.
    For instance, I am currently revamping a very old app I wrote at the time of HTMLDB 1.5, even before that HTMLDB 2.0 mentioned by our Texas guy ;-) and I can easily keep both apps up and running because the new one is being worked on using a different application ID, with a different theme that points to different resources.
    If oracle's schema objects remain identical across the releases, it's extremely easy to perform cosmetic changes, including theme changes without touching the current application. On the other hand, if schema object changes are required, then it's advisable to make a copy of the schema pretty much like the APEX team does at every new iteration of the framework and that will allow the old application to run against the old objects and the new one to run with the new ones.