Monday 31 March 2014

Off topic - 2014 predictions

Here are my predictions for 2014.

I realise that traditionally yearly predictions are made in the first month of the Gregorian calendar year... but I've been busy. So I'm going to make some predictions in my birthday month and see how things eventuate over the next 12 months. Many sites do this over the new year, and I do love the commentary when one looks back over the previous 12 months. It's amazing, well not really, how bad the "psychics" do.

While listening to my favourite podcasts over the new year I found myself thinking about stuff and I started noting some things down that while I didn't necessarily think would eventuate this year - I sure hope it comes soon! Other items just got me thinking where technology might eventuate at some point.

My evernote entry on these predictions were dated Jan 13th, and I promise I haven't cheated & backdated any predictions, not that any have already come to pass ... except one - see if you can spot it.
  1. Observational technology will enable astronomers to accurately determine the composition of exoplanet atmospheres and isolate even more "earth like" planets.
  2. There will be major outcomes regarding the sex scandals in the catholic church - broad statement, but outcomes that humanists will be agreeable to. Definitely Australia, hopefully worldwide. Faith in the church (pun intended) will recede further.
  3. In a similar vein, marriage equality will experience similar liberation racial issues received last century (some good news in March on this topic in the UK)
  4. Various worldwide easing of marijuana laws will facilitate more comparative studies which will eventuate into more targeted medical use with certain compounds.\
  5. A plane will go missing, sparking international interest and new conspiracies.
  6. In the nex twelve months we'll have another paradigm shift with smartphone capabilities - potentially relating to folding screen technology.
  7. Power storage technology is very slow moving, but we will overcome some big hurdles, providing order of magnitude increase in storage capacity and/or charging window.
  8. Augmented reality will become very popular in the "app" market, after experiencing slow and steady increases over the past few years, aided with Google Glass.
  9. We will learn key information about ocean ecosystems, such as cracking exactly what goes on with shark migrations - hopefully not too late due to us guiding selective pressures in the wrong direction
I think the faux-prediction is obvious, but I think you'll find none of the "professional" psychics & grief vultures will have predicted such a unique event.
My prediction on the outcome - few pieces of the wreckage will be salvaged, but confirmed as part of the plane. Conspiracy theorists will deny it & claim it all relates back to Rothschild. 
The black box will be recovered but possibly not for a few years and only by lucky, persistent searching. It will be determined the pilot went rogue.

My 5 cents

Wednesday 26 March 2014

Advert: Packt celebrates 2000 books

No APEX5 blog post today, but it turns out today is the final day of Packt Publishing celebration of 2000 titles since their first book was published in 2004.
I like puns
I have the honour of being one of these titles with my Oracle APEX Techniques video series, and I've had the pleasure of reviewing a number of their books.

They have a buy one get one free offer but it ends today - which time zone I don't know so get in fast!

Tuesday 25 March 2014

APEX 5 first peek - What I missed

When tackling early adopter versions I've enjoyed having a play before reading too much about it. I did look through the EA1 feature descriptions to get a feel for the sort of things to expect, but I waited before watching David's videos to see how easy it was to adapt to the changes - even though I wasn't concentrating on the new page designer itself.

It was certainly worth watching the videos in the end because not only does he describe the new features in the page designer really well, he outlines the state of play for the early adopter release.

So while I haven't gone too deep into the new page designer functionality, here are some less obvious features I think are worth mentioning.

New context menu options

I didn't notice the new options under the right-click when viewing components in the rendering/processing accordion options. I guess I missed these because I rarely use the Tree View.

So when David Peake pointed them out in this video - I agreed it would be a simple way to improve developer productivity, and I know I'd use them all the time.
  • Duplicate 
  • Delete
  • Copy to other page
How many times have we thought - wouldn't it be great if this could be done in one click?
Well, now it's done in two - but super fast, and no wizards.
Component Context Sensitive Right-Click
Copying (& duplicating) is great, but we've always got to be sure not to encounter what we call a cut & giggle, where you forget to change something minor during the process of copying. This is made worse when APEX misses a few attributes, or doesn't change the page prefix.

I've been on a project where copying dynamic actions to other pages was done frequently, and since they're a little newer they haven't had the time to perfect minor copy glitches - similar to those that used to appear copying pages in 3.x. Time will tell if this is still an issue, but we've been promised improvement.

Undo - viewing last change

Undo is one of the first features you might spot in the new page designer, but what I didnt' realise was the tooltip text you see when there is stuff to undo. Of course, I spotted this after I logged feedback suggesting we see a list of outstanding changes when we leave an unsaved page.
Undo Tooltip
Thankfully undo also works to restore deleted components - which may be a frequent accident with the new context menu option.


When editing page templates I noticed a message under the text area to press ctrl-space to activate autocompletion - nothing happened there nor when using the modal edit (EA1) - but when editing using the Text Editor in the page designer it invokes an autocomplete.
Text Editor Autocomplete
You've probably seen this in products like SQL Developer, some people love it. Personally it's the first feature I turn off because I can't stand the lag it introduces. At least here in APEX it is only on demand.

Page designer search

While I did appreciate the search application feature that came with 4.x, I'm really liking this new feature available near the gallery in the middle of the page designer.
Page Designer Search
Results are instant, and when you click on a result the component is automatically selected and properties shown. Another big productivity booster.

Multi-item updates

Former Forms developers will particularly like this one - using the CTRL key you can select multiple heterogenous components and then update common properties in the editor in one go.
Multiple components selected

The property editor (which no doubt I'll continually also call a palette) shows only common properties, and those properties that differ will be shown with a triangle/delta icon with value redacted under a blue shade.
Forms style property palette
I loved this feature in Forms because you could quickly identify any differences between items, of course in addition to making changes in bulk.

There are also little red triangles above certain properties, but I'm not sure what it indicates. In Forms we saw something like this indicate a value differing from default - but it doesn't seem that here, not are they identifying common attributes. Perhaps the APEX team might elaborate at some point, unless I forgot it mentioned in a video - anyone?

User interface

Something you may have noticed I've missed is commentary regarding other user interfaces. I've just neglected to mention it so far.

There are new features regarding the mobile UI which I'll cover in another post some other day - though there may be enough changes for a few posts.

And disappointingly for my current project interests, the tablet UI has been bumped to 5.1. This is a real shame because it's been an interesting challenge to adapt a desktop interface to a 10 inch touch screen environment. I'm keenly awaiting what goodies the APEX team may provide to make this task easier.

-- Is there something you've seen so far that has excited you that I haven't covered?

Monday 24 March 2014

APEX 5 first peek - Features not yet implemented

It's an early adopter release, the APEX team have come a long way, yet there are still goodies to come.

What's on it's way

Some features aren't quite ready yet. Some you'll see, others you'll find out when you click on them - so no doubt we'll see a second, maybe even third early adopter release.


The first you may notice if you've had a play is the notification message - this will be much nice once the development team are done.
A bunch more are already listed in the known issues.

Utilised Shared Components

In the current release I use the Shared Components section on the right often to click on templates used by the page. I already miss it's presence as I play around, and I noticed David delicately skipped over this one during two of the videos ;-)
Shared Components used by the page
Early adopter release 2, I guess.

I found a Tags plug-in item type but that doesn't seem to be quite ready. There are a few Region plug-ins built-in that you can play around with already.

What's not included

Some features have been bumped to 5.1, and fair enough - the amount of work it must have taken to get the Page Designer up & running, the team is making sure they get everything right.

Multi-row Edit Region

At the KScope14 conference Karen Cannell hedged her bets and lost - her submittion What the Muliti-Row Edit Region Type Means to You and Your End Users will probably have to wait.
Not that I'm going (most unfortunately), one year I'll make the trip...

To find solace in this, based on what we're seeing with the new Page Designer, I very much look forward to what this multi-row edit region type will deliver. No pressure team...

Wish list

I had a look through my APEX 4.2 Wish List post and I've remembered other features that I've been waiting/hoping/requesting for a while that are still absent. Some of these items are resolved with plug-ins; some have lost proirity; some we won't know until documentation is supplied; some have been nailed; some simply don't exist anymore with the new Page Designer. Some we just won't know until the use case comes up once more.

What I was hoping for though was enhancements to the Build Option infrastructure, thereby aiding release management.

There are currently 59 other features categorised as "Planned" in the APEX Feature Request application. For instance, feature "ACNA" suggests substitution string :APP_PAGE_ALIAS will be introduced in 5.0.
The new features documentation usually covers stuff like this - I reckon there might be a few other new substitution strings.

Other nuggets of gold will surely be discovered over time.

Friday 21 March 2014

APEX 5 first peek - File Management

A number of changes have been made to dust off the file management facilities, some of which won't be immediately apparent until we get the chance to spread our wings in our own environments.

File Location

A Static File Prefix has been introduced and appears to use repository files when not specified, and virtual path for your webserver if specified.
It could be similar to the way you might parameterise your file locations with an application item like &F_FILE_LOCATION.
New User Interface property
Plug-ins will support the same behaviour.
I think this will probably make more sense to me when I can muck around in my own environment.

Shared Components

Thankfully the ambiguitity in shared components regarding static files has been removed.
Share Components
There is an Unzip File option, which I guess would make loading files in bulk really handy - but in the era of sprites you only need three files, right? CSS/JS & a massive image sprite ;-)

We also have the ability to define a directory for the static file location, which I didn't really understand at first...
Upload Static Files
... but it made more sense when I saw the file list, which has a very friendly Reference column showing how to identify the file.
Static file list
Perhaps you would synchronise with locations on your web server.


As I described in my themes & templates post, you can now associate supporting files with your template as you would currently for plug-in files.
Template definition
When referring to your files you can #MIN_DIRECTORY# to complement the #MIN# option - substituting /minified and .min respectively when not in debug mode.

These changes really seem to polish some of the slightly rough edges APEX has had in the past.

Thursday 20 March 2014

APEX 5 first peek - Themes & Templates

Only a few reported changes in the themes & templates, but they are far reaching and show APEX is continuing to mature as a product.

Supporting Files

The main update mentioned in the new features list is the ability to associate your CSS files within your template definition.
Themes can now store all the files of a theme with the theme definition in the database.
This replicates functionality we already see in plug-ins.
Theme Property - File Location
We also have the ability to declaratively nominate the location of our files, making maintenance a little easier. Previously you may have defined this as an application substitution string and included in your page template.

New Themes

As versions of APEX go up, the number of new themes go down - this is a good thing. APEX 5 introduces one new desktop theme that is responsive and utilises a "navigation list" - this is their fancy term for a List Template (my favourite) that builds a menu that looks & behaves pretty much like the one in the application builder.
APEX 5 EA Desktop Themes
Keep reading on for how a quick way to convert your old Tabs to this format - yup, Tabs almost have their second foot in the grave. I'm not sure many APEX developers would attend that funeral.

When nominating a page template in the new theme you'll see a very succinct list of options. Well done APEX team.
Theme 31 Page Templates


While editing page templates you'll notice the syntax highlighter is making the content easier to read.
Syntax highlighting in page template property
I've provided feedback to the team requesting them to ensure they replicate this across all relevant properties in the theme maintenance pages - feel free to second this motion in the feedback.

Converting Tab to Navigation List

I think I've had this as a blog post idea for a while, so here's a quick & dirty go using the new tech.
  1. Change the theme of your sample application to 31 - you need the navigation list template
    I think all the template classes match ok without help.

  2. Create a List in Shared Components using something like the following SQL
    select 1, tab_label
         ||sys_context('APEX$SESSION','app_session') target
    from apex_application_tabs
    where application_id = :APP_ID
  3. Brave the new page designer and add a new List region using the following properties
    (if only the OTN forums had an easy way to display a screenshot like this, now properties are tightly laid out)
List region properties
The template renders the menu like the following, where "Home" is current and the cursor is hovering over "Reports". Looks like it could use an order by clause.
Tab options rendered as List template
When a hierarchical query is provided, the menu neatly displays a tab-friendly sub-menu.
I think many people have waited for such a tidy list template to be built-in instead of relying on plug-ins or stitching together your own solution - here it is.

David Peake says the new theme consolidates the best bits of all the old ones, so I look forward to seeing how it treats us.

Wednesday 19 March 2014

APEX 5 first peek - Navigation

The new Page Designer has brought with it a number of fundamental changes in how you move around the application builder.

I won't go into the designer itself because David Peake covers that well in his video - but some of the other things I noticed before watching David's videos. I will say, however, in addition to all this you'll find yourself using wizards a lot less

Moving around

If you start playing with property attribute values you'll find when it comes to moving between components & pages, we now have a warning for any unsaved changes. There have certainly been a few times when I wonder if I'm going crazy thinking - did I save? Now I'll know.
Though similar I believe to the way Oracle Forms used to behave, currently if the cursor doesn't leave an attribute before selecting another component on the page - it won't get recorded as a change.

By the way - you can check out people's feedback on the early adopter so far. I've put in a suggestion to potentially see a list of the outstanding changes we may have forgotten about, or wondering if we can ignore them all.

Developer Action Bar

In regard to navigation options, this has probably undergone the most noticable change - I certainly spend a lot of time up there, pressing edit page or opening shared components - or typing a page number in the search widget.
APEX 4.2 action bar
This screenshot differs slightly when editing pages - it includes lock & export icons.

The new action panel currently has two distinctly different modes. The minimal toolbar shows the core options - on icons who's meaning we'll have to re-learn. (I hate learning new icons)

Amusingly (for me) the shared components icon is a triangle, circle & square - the original name of my blog. I also find it vaguely reminiscent of the old Electronic Arts logo.

Unfortunately the page number search doesn't allow entry when in the minimal mode - I presume this is just an early adopter bug.
When in the page designer, a swathe of options lies before us - including the all new & important save page and save/run options. This is starting to feel more & more like Oracle Forms development! In fact, if you're a former Forms programmer - watch this video from David Peake and tell me it doesn't remind you of the old days.

History conserved

For those like me who might like to occasionally find safety in the refuge of the past, you can find the 4.x Tree View and the 3.x Component View under the cog settings icon - which has been commandeered from shared components.
I've been laughed at on Twitter in the past for enjoying the use of the Component View, but I do appreciate & think it's right that the development team kept it in.
APEX 5 settings menu
I think the Group By Component Type is a good option to include, I'd say advocates of the Tree View in particular thought it an essential feature.
APEX 4.2 rendering icons
For me it kinda replaces the panel of icons to limit what we see. To be honest, the only one of these I pressed with any great frequency was the dynamic actions icon.

So I feelthis combined with the Page Designer's new accordion shows they got the options balance pretty good. Dynamic actions certainly deserve their own category.
APEX 5 Page Designer Accordion
I wonder if the page designer will get it's own pretty icon in the old navigation bar; and what it might look like - perhaps something similar to the old Oracle Designer logo?
APEX 5 EA navigation bar
I want to add I notice the trees in the Tree View have a greater distance between nodes - anyone found that a problem? Maybe not now we have a categorised accordion?
Tree View has extra spacing
You may also notice a few additions in the context menu - I'll bring those up in another post.

The rest of the the development environment has stayed pretty much the same - albeit with flatted UI.
The Application list; Shared Components; Utilities; Administration; SQL Workshop; Team Development - all have not fundamentally changed.


Anyone who used APEX 3.x can attest that date picker popups were annoying.
In 4.x bigger I think popup windows could use a little jQuery treatment
APEX 4.2 page find
... and so APEX 5 delivers. In a true test of the new modal page mode, the page finder is a good example of how this can work effectively - though I have requested the search facility auto-refreshes.

APEX 5 modal dialog
Interactive Reports now appear to be using this framework, but I won't show any screen-captures because I'd say they need a little more dressing up for EA2.

For further detail on using modals for your own applications, check out a post by Joni at iAdvise.

Runtime Developer Toolbar

Last century it was about saving keystrokes, today it's about saving mouse clicks.

If I had a dollar for every time I did this...
Now you'll find that the runtime links open in a new window - presumable thanks to the final class
<a href="f?p=4000:RUN_PAGE:15746635751085:BRANCH_TO_PAGE_ACCEPT:::FB_FLOW_PAGE_ID,FB_FLOW_ID:0,10198" class="launch-aut">

And at runtime you'll noticed the toolbar has been enhanced once again. For a start it doesn't take up the entire page width and has an option to auto-hide.
APEX 4.2 runtime

APEX 5 EA runtime
There is also a display position option, but I'd be interested to meet someone who didn't prefer it on the bottom. I also can't see myself using the show icons only option, but hey - different strokes...

The new Quick Edit feature replaces the Show Edit Links option. Now it greys out the runtime page and offers you to point a crosshairs cursor at an item or region - it will then jump back to the browser window with your application builder then highlight and open the properties component you select - cool!
Quick Edit


A whole suite of changes and I didn't even have a good look at the new page designer. They all made sense and all we'll need to do is get used to a few new icons - but good progress has been made in helping us be productive.

Tuesday 18 March 2014

APEX 5 first peek - Syntax Highlighting

We're programmers and we need syntax highlighting.

Unfortunately the only way so far to accomplish this in APEX is to use the ApexLib developer addon.
Highlighting <= 4.2 using ApexLib
As promised since the original SOD Oracle APEX 5 has promised to deliver native syntax highlighting and they've done a decent looking job.

Places such as page template body will have HTML highlighting, although it's not widespread through the template editors - I wonder if that's just a EA thing and we will see it more prelevant come final release?
(my feedback on this has been 'acknowledged')
Page template body editor
In the nifty new page designer there is a mono-spaced text editor in the property editor. This should be sufficient to define calls to PL/SQL packages anyway... since people don't put massive amounts of PL/SQL within APEX, do they?
Property editor
You can press the first button (arrow pointing to window) to open the relevant code in a cool dialog window. If there are any validation errors we get shown a lovely yellow inline error.
modal window code editing
Modal window code editing

Or you can press the second button (two arrows pointing away from each other) to edit the relevant text in the "Text Editor" pane in the middle of the screen.
Edit code in Text Editor pane
This works well for PL/SQL and SQL content. It even synchronises between editors, though you may experience a slight lag depending on your connection (I live in Australia, so this can be quite bad...)

APEX developers note: there are maintenance & performance reasons why you shouldn't have too much code within these attributes - but there are times & places where this will be really useful.

It's a nice to have, it's a really nice to have - and it appears to have been done well. Thanks APEX team.

Monday 17 March 2014

APEX 5 first peek - Performance

APEX 5 EA has shown some interesting improvements in regard to performance.


If you haven't noticed the swelling trend of flat designs in the past few years, you haven't been using the internet or held a smart device. Here are three good articles about this modernism, and like me you may learn the word skeuomorphic.

How does this affect APEX? Well of course all the icons have changed again.
How does this affect performance? The new icons are base64 encoded strings.

Where previously they were rendered like this:
<img src="/i/apex/builder/menu-pkg-128.png" width="128" height="128" alt="">

Now a small spacer image is used, then dressed up with a class with the image definition in the CSS file.
<img src="/i/f_spacer.gif" width="128" height="128" alt="" class="gi-Icon-pkg">

APEX5 rendering of CSS icon
This improves performance of your page. I find these days performance increases are not just improving your SQL & PL/SQL standards, but CSS & jQuery considerations for the browser as well.


The feature list described the following in regard to "Optimised application export format"
The APEX export file format has been optimized to make it easier to interrogate with diff/merge tools, to consumes less space, and make it faster to import.

So I thought I'd check it out:
APEX 4.2 export
APEX 5 export
As you may notice from the samples - extra spaces have been trimmed and unnecessary lines have been removed. A smaller export size might be beneficial for some of the applications I've worked on.
A quick import/export of a 4.2 application shows new export is 4/5 the original size - rather respectable.
4.2: 3,427,727 btyes
5.0: 2,730,066 bytes

I reminds me of much happiness when I discovered the TRIMSPOOL option in SQL*Plus

New export option "Export with Original IDs" is available for those for instance wanting to use diff tools.

APEX variables

I've previously posted about the dangers of using certain substitution options in your SQL, namely v('ITEM') and &SESSION.

The APEX team have now introduced some sys_context() options - and I've only discovered this so far thanks to Chris Neumueller posting on Jeff Kemp's post on the same issue.

This query returned successfully in the SQL workshop:
select sys_context('APEX$SESSION','app_session') app_session from dual

Recently I've found using context variables quite useful for improving performance and the parameterisation of views - spurred on by Jeff's great post on the topic. And we can both thank Connor McDonald for the idea.

Supplementary files

This topic requires a post on its own - and a bit more investigation, but maintenance and performance improvements have been gained.

No doubt there are some other performance nuggets to be found in the new release, not counting the productivity improvements for developers in the builder itself. Let me know if you find any!

APEX 5 first peek

Last week I finally started to play with the first APEX 5 Early Adopter product at
For a short answer on what's coming, just scroll down on that home page - looks good APEX team.

Instead of talking about the marquee features found in the SOD & those Dimitri described or what's in the page designer videos since the page designer truly is the fundamental game changer in this release - I thought I'd explore other areas of the APEX 5 release, starting by looking at the new feature descriptions and accompanying known issues.

You would have to say the very first thing you notice is the flat icon style - yep, once again screenshots from training manuals everywhere need to be adjusted. I'll talk more on that later, but I also notice the login sequence has been adjusted.

Administrators will now be able to define other authentication schemes for the Application Builder - this is evident as we use our Oracle account (same as used at OTN) to authenticate (SSO).
Logged in, select workspace from list
We'll then select from a list of workspaces. It will be interesting to see what this looks like in our own environments.

I aim to post on the following topics in further detail during the next week or so
but I'll mention a few other miscellaneous items I spotted in the new features list.
  • 3rd party libraries - as usual these have been brought forward: AnyChart; CKEditor 4.3; jQuery Mobile 1.4; jQuery UI 1.10.3. These always bring better options to the developer.
  • Calendars - I don't often use them, but the new features sound sweet. Head to Dimitri's blog post for more.
  • Data loading - among other improvements, the incoming date format has been address - a huge pain in past releases.
  • File handling - it seems there are some key changes in the way you can manage your supplementary files including some new attributes, making it easier to load from a web server. This needs further exploring.
  • Themes - can also have their files stored within the definition, just like plug-ins
  • Mobile - reflow table and column toggle - features relating to responsive design that look 
  • Interactive Reports - pivot views have been introduced, as well as a welcome increase to the Group By column limit. You can also manage them at the application level - I hope this brings other management improvements.
  • Navigation lists - modern alternative to tabs... yes!
  • Other extras
    • little things like trim spaces attribute to text fields, saving on extra computations
    • an APEX sys_context() for performance
    • developer toolbar updates
    • optimised export
Great looking release so far looking at calendar year 2014 release - short odds for months starting with J after 1-2 more EA releases.

Thursday 13 March 2014

Thursday Thought - Look up & avoid boring

In the last slot of last year's Perth user group conference, my boss Penny Cookson & I presented a talk that was originally written by Tim Daniell in Queensland. It was called "Being Productive in IT", and it was an interesting, light-hearted comparison of how the human brain works using analogies with computers systems.

One of the lessons learnt was allowing yourself to be bored. Even to the point of doing some menial task while letting your creative side go nuts. It's kind of how rubber ducking works.

And it's also why the advert I'm seeing on Australian television for a mobile company really irritates me.

In the age we live we're all doing our best to close the laptop lids, put the smartphone in the pocket (even leave it at home occasionally) and turn the music players off - and we get an advert telling us to "avoid boring.". Click on that link to check out the ad.

No doubt many will tell me I'm just David vs the goliath marketing engine, but don't you think we should allow ourselves some time to sit at the bus stop and look around - or as Dr Karl or Neil Tyson would say... look up, even during the day. You'll never know what you'll see... or what you'll think of.

Australian 2014 Oracle Conference series suggestions

This morning the kind folks at AUSOUG sent me an e-mail asking who I'd like to see present which topics at the Perth/Melbourne conferences in November this year.

To perhaps help get you started, I thought I'd mention who I submitted - in part as a hint to those nominees that there is at least one person who would like to see you present in Austraila this year.

The survey asks for 2 Australian/2 international/2 topics for DB/Dev/EBus - our typical program spread.


  • Connor McDonald - he's like the little bit of sugar that helps the medicine go down - a must have at every event.
  • Yury Velikanov - I enjoy his passion, though I don't always understand his topics - but we're there to learn, right?
  • Arup Nunda - I've always enjoyed his blog, but never seen him present. I'm sure it would be quality.
  • Tim Hall - in Australia we might call him a cheeky b-st-rd - but here that's a term of endearment. Surely he's got nothing better to do than come over? ;-)
I'd be happy with anything tuning or technical talks on 12 features & concepts.


  • Mark Lancaster - always pushes my boundaries with APEX use, bring it on.
  • Jeff Kemp - He's got my kinda topics, plain & simple
  • Martin Giffy D'Souza - I see him once in Melbourne and would like to repeat the experience.
  • Patrick Wolf - APEX use down under is growing fast, and I'm sure everyone down here would like to see what he has to say.
Can't go past APEX content, particular version 5 stuff. 
Anything PL/SQL is a treat these days - new fodder in 12c...


I have no particular interest in this area, so I'll just say Phil Robinson - and anything he'd like to present.!

But I tell you what, it was tough pinning it down to just 2 people!

You can find the survey here


Wednesday 12 March 2014

APEX 5.1 Statement of Direction

David Peake recently announced an updated APEX 5.x Statement of Direction.

Some features haven't made it to the 5.0 release and have been relegated to 5.1 - so they can get them done good & proper.

  • New multi-row edit region type - The more I think about this, the more I look forward to it. I think a lot of developers spend time doing this sort of work
  • Master Detail Detail
  • Tablet UI - shame, I'm working on a tablet project right now
  • Web Services Report
  • PDF Printing - I'm glad they're spending time to get this one right, this will vastly increase the value of APEX
  • Packaged Application - keeps on keeping on

Nothing has slipt in or out since I originally looked at the SOD.

I haven't had a chance to play with the 5.0 EA yet - except open it up briefly thinking "this is very jdevy"
I wonder if any of those features even made it to the EA, or this is an official notification now we're closer to the public release of 5.0?


Monday 10 March 2014

Review: Oracle Apex Cookbook 2nd Edition

Now with extra zing
It's been bang on three years since I reviewed Oracle APEX Cookbook by Marcel van der Plas and Michel van Zoest (don't ask me to pronounce their names, I'll do it no justice).
It was my 2nd book review and I've enjoyed reviewing Oracle related books & technology ever since - thank you to all publishers involved. Hopefully my technique has improved over time.

Now we're cooking with APEX 4.2 (get it?) and the kind team at Packt have informed me there is a second edition hot off the presses (one idiom that surely has a finite lifespan).

Additional kudos to the six technical reviewers. I've done this job a few times and I appreciate the time & effort it takes to help authors with the book... though one of their bios is very familiar...

The book is aimed at those new to APEX and intermediate developers - a statement I look out for when assessing books so I know what to expect or what I'm in for. Though I think anyone can learn something new, or adapt a technique you may not have seen before.

There are some references to 4.0, but I also share duties for updating manuals and understand you can't be expected to tackle every page, every screenshot in a revision. Looking through the contents I quickly picked up plenty of new & expected additions to this edition:
  • Data upload pages
  • Using shipped files
  • Authorisation plug-ins
  • RESTful web services
  • Using Tomcat with APEX Listener
  • Error handling
  • Packaged applications
  • Table APIs
  • HTML5/CSS3
  • Mobile
My first review covered the recipe style of the book which I think works well and has it's place. As Alex Nuijten describes in his review, the recipe format works for some - and depending on how you're reading/applying the book.

It's also good for feature awareness, so I thought I'd list out what to expect as far as content, highlighting the new content I spotted.
  • Chapter 1 takes you through the essential basics of APEX development.
  • Chapter 2 explores themes and templates - the sort of stuff developers need to do all the time so it's a great reference.
  • Chapter 3 tackles extending APEX with external libraries, and shows how to hook them in with APEX attributes.
  • Chapter 4 addresses Websheet applications - something rarely spoken about in the forums so you won't often find info on this.
  • Chapter 5 now includes how to define an Authorisation plug-in, probably the first type of plug-in you'll typically make - mainly for reusability.
  • Chapter 6 covers multilingual applications, something I may need to look into one day ;-)
  • Chapter 7 has good concise examples of how you can use supplied APIs.
  • Chapter 8 covers webservices, including RESTful which is available from 4.2, with APEX listener 2.x
  • Chapter 9 provides examples on how you can publish reports natively from APEX
  • Chapter 10 on APEX environment has been extended to include great improvements such as error handling.
  • Chapter 11 is on Administration, and includes something missed from the original edition - table APIs.
  • Chapter 12 on Team Development, another underutilised feature with recipes that might get your creative juices flowing
  • Chapter 13 is brand new and covers HTML5 & CSS3. Recipes include how to use HTML5 item types, vital for mobile applications.
    There is a drag/drop recipe that I look forward to playing with - I have a few use cases for this but haven't had a chance to get my head around it, but it looks like I could tailor this simple example to suit my needs. Another recipe covers storage - the modern way of creating more robust websites.
    The geo-tracker recipe will be good to compare with my solution, see if I can learn from how others have done things.
  • Chapter 14 speaking of mobile, this chapter's recipes is a really good range of topics for learning mobile. Creating an app, a hybrid app, list views, mobile forms, item types, calendar, working with images, GPS, swipe events... there's even a nifty trick included regarding QR codes.
I'd recommend it as a reference to any APEX developer.

You can find further details of the book here Packt Publishing - Oracle APEX Cookbook, 2nd Edition.

Friday 7 March 2014

Off topic: If the moon were a pixel...

I love infographics that demonstrate the sheer scale of the world around us, I've posted on this topic before.

One that's been doing the rounds recently is this one from Josh Worth: If the moon were only one pixel
His website is also worth checking out, and you can find him @misterjworth

Universe Today has a nice summary of it. It reminded me of doing this Solar System Walk at the Gravity Discovery Centre in Gingin, Western Australia.

Click the icons at the top to shortcut to the celestial bodies, and look at the page source to see all the funny commentary text. Worth the 5 minutes to check it out and ponder the universe...
If you were on a road trip, driving at 75mi/hr, it would have taken you over 500 years to get here from earth
Space travel sure will be boring if we can't figure out a way to go faster...

Wednesday 5 March 2014

Oracle news you may have missed

During my time off I noted a bunch of information to dig into later, and I thought I'd make some notes as I go - see if you missed any interesting news.

I'll do a separate post for noteable blog posts.

Oracle REST Data Services

As Dimitri announced here, Oracle has another product "formerly known as" - this time it's the APEX Listener. Now known by what I think is a name that may also be confusing to some, though after reading this wiki on REST it's not as bad as I originally thought when I posted my comment on Dimitri's blog. Another good discussion can be found at Kris' blog.
Most importantly, it now get its own cool little logo.

Time to upgrade

This post from Dimitri was back in December, but it's more than relevant now. Just to get to the bar, you should be looking at APEX 4.2.x.
The sooner you're away from APEX 3.x or an earlier v4, the sooner you'll be ready to face APEX 5.
If you're using SQL Developer or GlassFish, those versions should also start with a 4. As mentioned, the APEX Listener/REST Data Services is already one up from his diagram.
If you have any say in your database, apparently 12c is all the rage - hopefully this year I can really start exploring the developer features.

Oracle Developer Day

I did attend one work event in my month off, giving my wife some practice without me home to help. Oracle held a Developer Day in Perth and as usual I learnt a zillion things about 12c new features from Connor McDonald. Reading the massive slide deck will never do the talk any justice, but he does show great examples describing why certain features are awesome and long awaited.

I didn't get to see Penny talk about APEX, though she guarantees I knew her content already. It was also interesting to get ADF workhorse Chris Muir's perspective on mobile development.

SQL Challenge

I'm not sure what Jeff meant with 'keeping the Aussie dream alive' but I did afford myself half an hour to take the first annual SQL challenge at Steven Feuerstein's PL/SQL Challenge website. As the rankings show, I came a respectable 12th out of 39. If you look closely, I did this in the 2nd lowest total time. This isn't because I knew everything, rather I had baby-induced tiredness and I thought I'd fire though the questions as quickly as I could. Some of them were quite tricky, and some required some 12c nouse - but I made some educated guesses and learnt some things.

If you don't know, the PL/SQL challenge not only holds daily (5/week) quizzes on PL/SQL, but also weekly quizzes on SQL, Database design and Logic puzzles. The design quizzes are mostly written by Chris Saxon and are worth a shot.

SQL Quiz

Speaking of quizzes, I see this tweet and of course had to accept the challenge.

They were the perfect selection of 5 questions on general SQL tuning. They were Oracle based, though vendor specific questions were available for other DB technologies. There is a great write-up of the results here - but it'll only take a minute to try first - give him some more data.

APEX Certification BETA

David Peake announces we have until mid-May to take a BETA version of a new APEX 4 certification exam. Amazingly there is a testing centre within 10 minutes drive of my place - I think it might be worth looking into.

ODTUG APEX Theming Competition 2014

Reading through the submission guidelines, this sounds like it would a brilliant learning exercise - but as much as I'd like to give this a crack I might have to pass this time. Besides, I haven't worn a watch since last millenium! Though I would love to attend (and speak at) KScope - maybe when it's back at New Orleans ;-)

APEX 5.0 (EA)

Who could miss this? Well, me so far.. Having babies & all, I haven't had a chance to play with this yet - I've even held back reading much about it before I can really dive deep.
Dimitri once again has a great overview, but I'll be sure to post some myself

Evolution of APEX Evangelists

This sounds like an interesting enterprise, I look forward to seeing where it leads.

Please let me know if I missed any other cool announcements.

In the meantime, enjoy this short history of UX design.

Tuesday 4 March 2014

Where February went

(not to scale)
When it comes to blogging, I completely skipped the month of February - even after I said I'd average one post per week, thought I have an excellent excuse... my wife & I had a baby girl ;-)

Even though I had posts pre-drafted, I thought I'd just cut the noose & envelop myself right into those first few weeks with our girl. It was an enjoyable time, and I'm torn coming back to work I really enjoy.

I couldn't not read in my time off. Our girl is treating us really well and spent time enjoying a great Clarke/Baxter book. I also found myself flipping through Twitter & my RSS reader occasionally and saw some interesting posts & developments particularly in the Oracle world. Some I e-mailed myself to get back to and will be posting about in the near future - get my average back up ;-)

First day back was a bit of a struggle - while APEX5 Early Adopter is sitting there waiting for me to play - I was dusting off an APEX 3.x application and doing some Oracle Forms maintenance.
Luckily I have a few other small projects I look forward to sinking my teeth into - technology has stalled my play with PhoneGap; I have a 2nd edition book to review; and a few pseudo-exams to try; and I'm writing a jQuery presentation.