Monday, September 06, 2010

Upgrading to APEX 4.0: Templates

In the last weeks I migrated more applications from APEX 3.x to 4.0 and thought to share my thoughts on the Theme and Templates part of the application.

I've applications that were initially build in APEX (HTMLDB) v2 and other build straight with APEX 3.x. Some applications used a build-in theme, but more had a custom look and feel.

Most migrations went ok, but I did have issues when I used templates which didn't have all tokens (#...# things in html that get replaced at run time by APEX) e.g. with tabular forms (but I'll do a specific blog post on that - and is already a known issue).

I'm personally following the path of installing a new APEX 4.0 theme for my application and apply changes to that to get the same look and feel I had before. Or at least I verify my custom templates to support the new APEX 4.0 features.
I also try to update it to a nicer and more up-to-date look and feel.

The reason why I'm following this approach are multiple:

  • better w3c compliant
  • easier for screen readers (for disabled people)
  • fresher and more up-to-date look and feel
  • support for all new APEX 4.0 features
  • more div/css based layout, which makes it more clean and easier to adapt in the future
But obviously you should decide yourself if it's worth updating your templates in your applications ...


Vamshi said...

While migrating the applications, I didn't do any thing with the theme/template.

Always thought that the theme is part of the application. Is it true ?

I have another weird problem, my buttons dont work once I migrate the application. Did you come across any errors like this ?

I am fighting with a error "gReport is undefined".This happens when click any buttons, like actions button on interactive menu.

Do you know a solution for this ?

Dimitri Gielis said...


I came across some issues you had (certain buttons not working) but that was because I used or a very old theme (htmldb) or because I adapted the javascript.

I would consider creating a new theme from the repository and see if you have the same issues with that.

If that doesn't help you may want to log your errors in the APEX Forum.

Hope that helps,

Anonymous said...

General question: I have only been working with Oracle/Apex for a few years and my expectations of how things are supposed to be done is very much colored by the main-frame, pc world. I arrived back from a week's vacation and found my development region had been changed from Apex 3.2 to 4.2. Next week, they will change test and then production. Does this seem like a reasonable way to proceed? Call me crazy but I was expecting a parallel region for testing when the upgrade was made. Also, if they were going to proceed in this unannounced fashion, I would have thought the test region (which mirrors production) would be the 1st to be changed and tested. Am I behind the times?