Apex 5 Application Context

"under the hood"Just a quick note that (as mentioned by Christian Neumueller earlier) Apex 5 now populates an Application Context APEX$SESSION with the session’s User, Session ID and Workspace ID:


Using the above should be faster in your queries than calling v() to get these values. Note that the alias 'SESSION' won’t work like it does with v().

The context is managed by the database package APEX_050000.WWV_FLOW_SESSION_CONTEXT which is an undocumented (more...)

Migrate an application to the APEX 5.0 Universal Theme

iAdvise presented the APEX 5.0 roadshows in the first half of 2015. Besides the presentation about the new features, we provided 3 tutorials which helped the visitors to explore Oracle Application Express 5.0. Now we offer these tutorials through our blog. In this article the second tutorial is presented.

This tutorial helps you step by step through the process of migrating an application to the Universal Theme of Oracle Application Express 5.0. In this tutorial we talk about (more...)

APEX 5.1: features shown at DOAG

On the last day of the DOAG conference, in the last time slot Patrick Wolf from the APEX development team did a session on the next release of APEX.
For the developer the most significant change in the Page Designer is the component view. This will be a tab in the center pane instead of a completely separate page.

Most time was spent showing the new Interactive Grid. The Interactive Grid will be a, loosly (more...)

How to change apex_public_user password in ORDS

When you install Oracle REST Data Services (ORDS) as the gateway for your Oracle Application Express (APEX) applications, you run the java -jar ords.war command to configure ORDS, including specifying connection strings and passwords for the service accounts apex_public_user, apex_listener and apex_rest_public_user.

The first time you run this command, you get asked where to store the configuration. A file called defaults.xml gets created in the folder you specify. It looks like this:


Detect Empty List

You have a Select List item on your page driven from a dynamic query, e.g. one that only shows valid values. One day, users notice that the list appears empty and raise a defect note.


You check the query behind the list and verify that indeed, the list should be empty because there are no valid values to show. It’s an optional item so the user is free to save the record if they (more...)

Reflections after Oracle OpenWorld 2015 – Application Development

imageThis article gives an overview of some of the most eye catching stories from Oracle OpenWorld 2015 around application development. It discusses traditional technology as well as the most recent introductions and cloud services. The main topics are JET, ADF, APEX, Forms, Developer Cloud Service and Application Builder Cloud Service.


When Oracle first started, its product portfolio was limited in scope. An RDBMS that summed it up. After several years, the demand for tools (more...)

Media player in Apex

Quite a long time ago I made a collection of MP3s available from our Apex website and made them playable within the browser using Google’s shockwave player, using code like this:

<embed type="application/x-shockwave-flash"

This relies on the user’s browser being able to run flash applications. It looked like this:

With HTML5, however, this is no longer required, so I’ve updated it to:

<audio controls preload>
  <source src="#FILE_URL#" type="audio/mpeg">

Apex 5 right side column

The new Universal Theme in Apex 5 includes a nice "right side column" feature that adds a sliding menu on the right side of the page, where you can place additional content, such as (for example) an audit trail, actions/links, comments, whatever.

Let me show you with a picture:

To add this to your page, simply change the page template to "Right Side Column", and note that a "Right Column" template position appears in the (more...)

Error: parsererror – SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 2 column 1 of the JSON data

| Nov 10, 2015
Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates. Error: parsererror - SyntaxError: JSON.parse:  unexpected non-whitespace character after JSON data at line 2 column 1 of the JSON data You may get this self-explanatory error at run-time if you specified a non-existing page item in the list of items to be returned after invoking a PL/

About displaying images using APEX_UTIL.GET_BLOB_FILE_SRC in non trivial situations

| Nov 9, 2015
Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates. In a perfect situation, when we need to display an inline image inside an Apex report, we might simply pick the BLOB column and apply the special formatting required in these cases, I mean that weird format mask containing a list of column attributes separated by colons where each member

Introducing Slack to the Oracle APEX community

If you're like me, the first time you ever heard of Slack was when you checked out apex.world launch last month.

Since then I've signed up, had a play, interacted with people and with the support of apex.world I thought about what it could do for our community. Slack's mission is “make your working life simpler, more pleasant and more productive.” To me that sounds like something we should think about (more...)

Visualizations are far more than a pretty face on the cloud – highlights from Oracle OpenWorld 2015

Visualizations are probably the most effective way to convey information, insights and prompts for action to humans. We are not terribly good at quickly and correctly interpreting textual information that require sequential processing. Our brains however are very well equipped to rapidly interpret information presented in a well defined visualization. The expression ‘one picture says more than a thousand words’ is one that speaks volumes (and a picture capturing that expression would of course tell (more...)

Easy tab regions in Apex 5

In Apex 4, if you wanted to implement tabbed regions, you had to use jQuery UI Tabs or some other third-party component.

With Apex 5 and the Universal Theme, tabs come built-in and setting it all up is extremely easy.

To add tabs, just add a Static Content region to the page, and change its template from "Standard" to "Tabs Container".

Then add Sub Regions to the region. In the component tree, any sub regions (more...)

ODTUG APEX Gaming competition submission – Boggex

This post announces my humble attempt for the ODTUG APEX Gaming Competition 2015.

You can play the game yourself at
The about section allows you to download the current source I have exported.

I originally wasn't going to submit anything since I was busy writing a book this year, but I got inspired by something one day and thought I could at least submit something as long as I follow two (more...)

KPI Icon item plugin for Apex

Here's a very simple item plugin that you might find useful. The item plugin displays a Key Performance Indicator (KPI) icon based on the item value.

You can set the threshold values for green and red (and everything in-between will be yellow). Also, you choose whether high values are good or bad.

Since the item itself is a regular Apex item, you can assign a value to it using a computation, process, PL/SQL expression, etc.


Permission to board, apex.world

Let's see, what happened in the last 24 hours or so?

apex.world announced, everyone feeling the awesome.

I joined slack, I must say the curiosity rover self portrait helped sway my decision.

Got involved in some geeky discussions, bounced some ideas around.

Put my hand up to help with content.

Now involved in apex.world project.

I must say, after talking with Juergen he's affirmed my first impressions of this project. It's 100% community (more...)

Mockup Table region plugin for Apex

Today's post is about a new plugin that I developed for Oracle Application Express (Apex).

The plugin was inspired by a product called Balsamiq, which is a tool for creating mockups (or "wireframes") of web pages and web applications. Balsamiq is used as a drawing tool to quickly sketch out your user interface before building it using whatever technology.

Balsamiq is a nice tool, but so is Apex! :-) Why spend time mocking up screens (more...)

@HrOUG_2015 in Rovinj, Croatia

In a hectic year it is good to attend and contribute to Oracle user group sessions. This adds an element of a ‘Working Holiday’ to someones schedule. I can promise you, the vacation isle of Rovinj is a perfect venue for this and especially since it is the last week of the opening of the Hotel for this season.
Of course you can find all information about contributing to these events right here!!

@HrOUG_2015, (more...)

About downloading files from an Apex page without using download links

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates. Yesterday I needed to download a file as the final step in processing a user request involving a tabular form. For some reason this requirement is somewhat unusual if you look at the most typical scenarios where you either download files stored in a table by means of report links or a

ORDS Java heap space OutOfMemoryError

I recently ran into a problem with an Apex application running on ORDS on Tomcat. The application has a page with a custom tabular form (built using the apex_item package). When this page is submitted, the form values are stored in the "g_fxx" arrays (g_f01, g_f02, etc).

The problem was that when the number rows (and therefore the number of elements in the arrays) got too big, the server would respond with a HTTP 500 (more...)