The next question in my 2015 survey
was a high level look at what resources developers use to get through your day.
On a slightly side note, there was an interesting discussion on the science of preferred vs effective learning styles in this podcast
. It reminded me of my scuba diving course where we learnt the content using 5 different methods, which was a great way to ensure everyone understood how to survive in a (more...)
Last month I wrote a post about CSS performance
, including some performance test results.
I recently encountered this brilliant post on Medium
that describes some best practices for CSS.
While APEX does a lot of this for you, I think it's worth a read by all developers. Even applying basic naming conventions can make code easier to read and understand.
There was also a section on performance that described an issue that my previous (more...)
Ever had this problem where your button is offset to page items?
|Item / Button misalignment|
While the Universal Theme is awesome, it hasn't quite got everything right. I look forward to trying the updated version
of the theme in our existing applications.
APEX forum legend fac586 (a.k.a. Paul MacMillan) provided a simple solution here
to the Column CSS Classes
property for the button.
Little tips like this can be acquired (more...)
I came across a tweet from a non-Oracle person I follow that should amuse many web developers:
One of the replies referred to "little bobby tables", eluding to a classic xkcd comic
about SQL injection.
Of course I had to make the correction that this was in fact Cross Site Scripting (XSS), not SQL injection. This post summarises
syntactical considerations (more...)
Following up from the results on when you started learning APEX, here is question 2 from my 2015 survey.
Note that questions such as this offered the respondent to choose multiple selections, hence a count much higher than 192.
Q2: Which versions have you experienced?
I think it's fair to say that most of the 2.x respondents might also be part of the third that said they started prior to 2007.
I started in (more...)
I was lucky enough to attend a 'Let's Talk Oracle' session from Canberran Richard Foote
today diving into AWR.
After an early dad joke and before we got into his AWR collection, we gave this brain teaser.
This hurt many heads, including mine, and I also picked the wrong answer. Richard reports our group did well (more...)
Today while perusing posts in the #orclapex
hashtag, I came across this from Christina Moore.
She hasn't been blogging long but I love her style and format. I found this one on classic report templates
a great resource, though I wish the Oracle team would produce content like this to accompany the documentation, or as an extension to (more...)
Early last year I put the call out
to #orclapex developers, asking them to fill out some questions in survey (using a packaged APEX application, of course).
The results helped contribute to a presentation
I did Kscope15. Thank you to all those who responded. I thought I'd finally post some results, see if it can elicit further discussion, even of a casual nature.
Some of you asked me if I could post these results, so (more...)
describing the use of a simple selector identifying page spinners was originally going to be about performance, then I learned something I found very interesting.
I likened what I learned to Tom Kyte's essay
(Asktom->Resources->Presentations->FalseKnowledge.htm) on Correlation vs Causation. The essence was that things change over time, and we can't always trust authorities on the topic, and we must always test in our own environments. This aligns with skepticism
in general, and (more...)
One of the simplest tuning techniques to encapsulate PL/SQL used in APEX within packages, minimising the size of anonymous blocks. This applies to any PL/SQL within the page, including computations, processes, plugins, dynamic actions, validations, shortcuts and dynamic PL/SQL regions.
This change can make a big impact in the execution time of PL/SQL as it's processed at compile time instead of interpreted at runtime.
Plug-ins can be wonderful black boxes and consumers may not care (more...)
Sage Computing Services
are happy to announce a new 2 day course for Oracle APEX developers.
jQuery and Dynamic Actions in APEXThis course is designed for APEX developers who know their way around the APEX builder but want to build more interactive & user friendly applications that are also suitable for touch devices.
Upon completion attendees will have a great understanding of the communication between the browser and the database, using dynamic actions effectively (more...)
I'm a regular contributor to the Oracle APEX forum
and something I'd like to note is the amount of questions that possibly wouldn't need to be asked if one had consulted the help of the attribute in question.
For example, here
someone asked about referencing page values in the Email built-in process.
I managed to interpret the question two different ways on reading it twice, so I would also plead with people asking questions to (more...)
Consider a chart with a trend that might be quite jagged across data points (blue line).
What if you would like a smoother version of that line - a moving average
, if you will (red line). This stabilises the results, like looking at climate vs weather
|Oracle APEX Line Chart - 2 series|
It's fairly easy from a SQL point of view - in this case it's another column in the original chart query
Recently I saw a simple, accepted answer in the forums that tempted me to provide a small extension to the provided answer. This has since spawned two blog post ideas, here is the first.
The following question asked how to hide the spinner from a particular page full of small reports refreshed on a timer.https://community.oracle.com/thread/3908020
The answer was some basic CSS, which could be placed in a variety of locations depending (more...)
Looking for way to apply analytical functions to your APEX applications?
I had a classic report where I wanted to dynamically source the column headers from counts in the database (values in brackets).
The ability to do this has been a feature of APEX for a while, but this was the first time I did it in APEX 5.0.
|Customise headers via Region attributes|
With Connor's recent spate of analytics videos
, I thought (more...)
I came across the need for an UNPIVOT today that require fairly basic syntax, so this is me noting it for later. A single column unpivot, not multiple
I had a discrete set of values in local variables that I wanted to use within a merge, so I selected them from dual. Here is a literal representations
SELECT 'SCOTT' login_id
,'X' alpha, 'Y' beta
In about 22 hours I'll be talking with Oracle Developer Advocate (or the southern/eastern hemisphere AskTom adjunct) Connor McDonald
about one of my favourite part of Oracle, being SQL Analytics.
If you haven't seen any of his YouTube videos
recently, this will be a good chance to catch up and see how easy and practical SQL analytics are, and how you end up with simpler SQL.
I like to think of them like Excel calculations (more...)
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...)
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...)
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.
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...)