2015 Blog Review

Time for my look back on 2015 and what I might aim for in the coming orbit around the sun. The highlighted word is dedicated to the #flatearth people I've been conversing with on Twitter recently. Wow.

Like many people, part of the reason for doing these sorts of things really what every person should do semi-regularly -> write down your aspirations. I remember being taught goal setting from a young age and I think (more...)

Calling PL/SQL from JavaScript in APEX

When I first wrote Chapter 9 of my book, Choosing Processing Options, I knew I still had a lot of research and experimentation to do, particularly regarding the async parameter. Below is a summary of the outcome of this work and drove a full revision of my original chapter.

Last week I received a printed copy of my book and noticed that unfortunately the first submission of chapter 9 made it into print. Apress (more...)

Tutorial: Include action button in report

In reality, this 'add' button could represent any action you would like in a report that would execute PL/SQL upon press of a row level button.


In this example I click on a button in a report to add the row to collection, without submitting the page.

Prepare page

Add Static id to your report region:
p2_my_report

Add hidden page item: P2_ADD
Set protected = No if you need to submit the page for other (more...)

Book: Pro jQuery in Oracle APEX

The word on the street is my book is now available.

If you like using dynamic actions in APEX and want to learn how to use jQuery selectors effectively, this book is for you.

If you want more flexibility with your dynamic actions, and understand how handy this.triggeringElement can be, give it a read.

If you want some more ideas on how to improve the way your users interactive with your data, check it (more...)

Kscope ODTUG Interview

The ODTUG booth at Kscope15 had a permanent spot for interviews, and they can all be found on the ODTUG channel.

Martin interviewed me, and here it is, with embarrassing front still and all.



If you want some more Australian accent, and the sound of a local magpie, listen to Connor's little video regarding his move to Oracle. Though he's done quite a few more now since I drafted this post.

I have an idea (more...)

Customising APEX 5.0 workspace login

A few years ago Peter Raganitsch showed us how to customise the workspace login page in APEX 4.x.

I think it's even easier in APEX 5.0, though it looks pretty slick already.

Here is the solution I shared on Slack a few weeks ago.
<script type="text/javascript">
$( document ).ready(function() {
$('.a-Login-title').text("Scott's workspace").css('color','darkgreen');

// In order of reference
// Oracle header
// Down arrow
// Second page fluff
$('.a-Login-message, . (more...)

George Hrab @TEDx Rethinking Doubt

I realise the Internet is a big place, so if you haven't heard of the TED talks then I recommend you head over and check it out.

They're limited length talks about amazing things people are doing, discovering, and innovating around the world. Ideas worth spreading, is the catch-phrase.

Many talks are about topics that are really beyond our personal purview, but today I listened to one that I think everybody should listen to, (more...)

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...)

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
https://apex.oracle.com/pls/apex/f?p=boggex
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...)

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...)

APEX 5.1 revised SOD and apex.world

Two big announcements, one awesome product.

Statement of Direction

Today I think David Peake saw the wave generated by the announcement of apex.world and decided to also announce a revised Statement of Direction (SOD) for APEX 5.1, or he could try convince me it was a coincidence.

Not long after I started blogged I decided to follow these documents to try keep a feel of what's going on. It seems there have been (more...)

The Oracle Development Community is Buzzing

I don't know about you, but it sure seems like a fire was lit somewhere in Oracle and now there are all sorts of things going on in the development community.

We've had some discussions about this over the water cooler and I think there are many positives we can take out of this engagement, and I think a deeper message being sent to veterans that Oracle is still up for the game against the (more...)

Generating JSON from SQL cursor

It appears there will be a good 1001 uses for the APEX_JSON package in APEX 5, here is one of them.

Previously I had an AJAX PL/SQL callback that returned a relatively simple JSON string, using the LISTAGG technique described by Lucas here.
declare
l_json varchar2(32767);
begin
select listagg('{"id":"'||version||'","content":"'||version||'.x"}',',') within group (order by null) json
into l_json
from (
select distinct substr(version,1,1) version
from apex_timeline
order by version
);

sys.htp.prn('['||l_json||']');
end getGroups;
(more...)

Review: The Martian

I think we have a new genre of films for those consumers yearning for science and exploration.

First Gravity took us on a cinematographic journey into low earth orbit.
Then Interstellar took us on an inception style ride.
If you liked these you may enjoy Europa Report, which has a 2001 feel to it.

Now we have The Martian, which only a few years ago was still in the imagination of write Andy (more...)

APEX 5 Change Workspace Authentication

APEX has provided the ability to authenticate your application users against an LDAP server for quite some time.

APEX 5 now provides us the ability to change how we log into the development builder itself, and it's surprisingly easy.

Recently I modified our APEX 5 sandpit to authenticate against LDAP, so we can use our Windows passwords logging into the APEX Development Builder - one less password to manage.

Database ACL

I didn't need to (more...)

APEX 5 Verify Theme Subscription

I was attempting to replicate the navigation bar example from the Opportunity Tracker application and I noticed my application was missing icons from the sub list dropping off the username.
Icons in submenu when visible
Here are the relevant User Interface settings for the Navigation Bar.

User Interface settings
It turns out in newly created application with Theme 42 the following is used as the sublist entry template
<li data-current="true" data-icon="#ICON_CSS_CLASSES#"><a href="#LINK#">#TEXT_ESC_SC#</a></li>

In my application (more...)

APEX 5 Source Used attribute – tolerating less mistakes

If you've upgraded to APEX 5 and find yourself with an error complaining about the 'Source Used' attribute:
APEX.SESSION_STATE.DB_COLUMN_SOURCE_USED
then you should thank APEX 5 for finding (and no longer tolerating) a logic bug in your application.

APEX 5 - correcting your applications

Track down that field and set the Source Used attribute to 'Always, replacing any existing value in session state'.

On a side note, setting the application's Compatability Mode to 4. (more...)

Inaugural Developer Choice Awards

Can you think of anyone worthy of being recognised in the following areas?

Developer Choice Awards Categories
Today is the last day for nominations, so visit the website and nominate the first person you think of - right now!

From mid next month you will have a chance to vote for the finalists.

It looks like Oracle are trying really hard to be more involved with the community, so I think good on them for this initiative.

APEX 5 Changing region type

APEX 5 change region type
If only to further emphasise some of the fundamental rebuilds APEX 5 must have undertaken, look at the ability to switch region types.

Prior to APEX 5.0, we could migrate a Classic report to an Interactive Report, but not the reverse. And don't even think about switching to another region type.

Just bear in mind the tweaks and adjustments you'd probably lose as you toggle around. I think it (more...)

Kylie is Dancing with Oracle

Almost five years ago I introduced Kylie to our little Sage flock.

Now she ventures into the world of blogging. She'll no doubt talk about Oracle development in some form, either SQL, PL/SQL, APEX, or for some bizarre reason, JDeveloper.

But who knows where blogging leads, huh?  Check her out at
dancingwithoracle.com
Aptly named after her passion for dancing.

She's got a related twitter account:
@dancingwithoracle

Blog on.