Monday, January 2, 2017

Always read the latest documentation

Something that stuck in my mind from a presentation I saw several years ago was:

Always read the latest documentation, even if you're not using that version

- Connor McDonald

 So just before Christmas APEX 5.1 was released, giving me some new APEX 5.1 documentation to read over the break. Yeah - "get a life" I hear you thinking.

Where I'm currently working we're already pretty current (Oracle 12.1 database, APEX 5.0), so I'm hoping I can convince the DBA to upgrade to APEX 5.1 reasonably soon. For me the case to upgrade is pretty simple - the application was built in 5.0 using declarative development as much as possible, has legacy features switched off, and only went live a few weeks ago, so not much data or users just yet.

Obviously reading the latest documentation is completely relevant in this situation, but why would you read the latest documentation if you're unlikely to upgrade for some time?

Here's a couple of reasons:

  • documentation improves with new releases just like code does, so you will often see better examples, improved content, or features that were previously un(der)documented.
  • by knowing whats in newer versions of APEX, you can make better decisions on how to build your application and thus future proofing todays solutions
  •  APEX 5.1 has quite a few deprecated features and desupported features, so knowing what they are allows you to start pro-actively removing them from your application now, even before an official application upgrade project kicks off.
I'm sure you can think of more/better reasons, so now you have no excuse - get reading!!

Thursday, May 7, 2015

APEX 5.0 Universal theme migration guide


Looking for information on migrating to the APEX 5.0 Universal Theme?

There's no place better to start than the APEX 5.0 Universal theme migration guide

Wednesday, March 25, 2015

Oracle APEX - Performance tuning sequences


I've been recently reading about performance issues for sequences with cache values set too low.

  • Daniel Morgan www.morganslibrary.org, covers it in his ACE Director Performance Tuning Bootcamp presentation
  • Tom Kyte says "you would be amazed what setting a sequence cache via alter sequence to 100,000 or more can do during a large load -- amazed."
  • Simon Pane from Pythian goes into great detail in a blog post performance issues with the sequence nextval call. He also show to detect when sequences are impacting performance.

With APEX 5.0 nearing general release, I thought it would be interesting to see what the cache value was set to for WWV_SEQ. In case you don't recognize the sequence, it's used by the APEX engine as part of a calculation to generate globally unique ids for APEX items.

A quick check on apex.oracle.com reveals the APEX team have been thinking about it also:

select sequence_owner, cache_size, last_number
  from all_sequences
 where sequence_name = 'WWV_SEQ';

SEQUENCE_OWNERCACHE_SIZELAST_NUMBER
APEX_0500001006939179
APEX_04020020719290506

Interesting to see the cache size was set to the default value of 20 in APEX 4.2 and is now set to 100 in APEX 5.0. That's the "sweet spot" identified in Simon Panes blog also.

So, if you have an active Oracle APEX 4.2 instance, it may be worthwhile investigating..

Monday, February 2, 2015

APEX 5 EA 3 - Universal theme

Oracle APEX 5 early adopter 3 just came out.

I've been taking the Universal Theme Sample Application for a quick test drive.


I'm truly impressed by what I've seen so far, and a little sad at the same time..

Oracle APEX developers typically come from a database development background, so have strong database design and PL/SQL skills, with relatively few of them having strong web design skills.

In some respects, this has held back the adoption of Oracle APEX in organisations. Developers have been able to quickly build useful and functional web applications using the provided themes with relative ease.

Functional Lada
Sexy Veyron Super Sport
Trouble is "functional" websites don't evoke the same emotional experience as a "sexy" website, just like a functional car like a Lada doesn't evoke the excitement and desire of a super car like a Veyron (pinched from Joel Kallmans' blog).

Out there in "user-land" functional and practical websites don't engage our customers in the same way a visually appealing and well thought out interface does. The visual appeal of any website plays a vital role in user satisfaction. A visually appealing website give the user a positive first impression, and builds the desire to work with it.

Now thanks to the Universal Theme, having a "sexy" website is within the reach of every APEX developer. It looks fantastic out of the box, chock full of the latest UI components and highly configurable with little or no knowledge of CSS. With Oracle APEX 5.0 everyone can build web applications that are both functional and sexy.

To the APEX development team, I tip my hat to you and say very well done.

So why do I feel a little sad; it's always been a fun putting together a great UI for an application to transform it from functional to appealing. I won't get to do that so much now, it looks great already.

Thursday, February 27, 2014

Oracle APEX Listener is no more..

Just noticed the Oracle APEX Listener is no more.. it's now known as Oracle Rest Data Services



Notable items on the website:
  • Can be used for Application Express or any Oracle web-toolkit application
  • Apache Tomcat support is back
  • Default context path has changed from /apex to /ords, but you can change it back to /apex easily.

Tuesday, September 17, 2013

APEX 4.2.3 is out now.

Just noticed APEX 4.2.3 is available, with patch release notes.

Haven't had much time to look at it yet, but noticed Twitter Bootstrap 3.0 is included.

Saturday, June 29, 2013

Why go to conferences


KScope13 has just wrapped up, and it's been a really enjoyable conference. I've learnt a lot, caught up with some friends, and had lots of fun also.

I thought I'd share some of the reasons I go to conferences.


  1. To learn something new
    I always try to find at least one or two things that will justify the time/expense of attending a conference to my employer. If you bring back something that solves an issue you have in your business, or a new approach which improves the way you work, or solves a performance bottleneck, then you've justified the trip to your manager. So hopefully next year, you'll get to go again.
  2. To validate the way you work
    Often due to the specialized nature of your work, even in large organizations, there may only be a few people in your organization doing what you do. So even when your part of a large IT team, there's really very few people you can bounce ideas off, or discuss in depth the approach your taking to solve a business problem.
    It's really nice to be able to talk to like minded people, or hear from the experts that the issues and challenges you face, are the same ones they face. And perhaps more importantly, the approach you've taken to solve those issues is both sensible, and similar to what other people are also doing.
  3. To network with others in person
    These days with online forums we're often communicating with people from all around the world. It's really nice to meet them face to face. I've been fortunate to have met several members of the Oracle team, as well quite a few high profile presenters in person. It constantly amazes me how much personality comes across in emails and forum posts, and when you finally meet them, you feel like you already know them.
    Sharing a meal and a few drinks (sometimes quite a few) at conference events really builds those relationships. That can really help when you hit a roadblock, and need to ask for help; it's also nice when you can pay that forward by helping someone else out also.
  4. To raise your profile
    In these uncertain times you never quite know what the future is going to hold for you. So getting your name known in the Oracle community may have longer term benefits; it may open new opportunities for you.
  5. To give something back
    I've been volunteering and presenting at conferences for over 10 years now; it's my way of giving something back to the Oracle community, sharing my knowledge and helping in a small way to make sure the Oracle community is a strong and vibrant community.
So that's some of the my reasons why I go to conferences, please feel free to comment and add your reasons.