Category Archives: Oracle APEX

OUGF Harmony 2014 #ougf14


I flew out today to Finland. And I ended up having the opportunity to share my flight with Björn Rost.
The reason this time was to participate in the (meanwhile legendary) Oracle User Group Finland presentation.

After arriving I got picked up by Ann Sjökvist and we travelled to Oracle Finland HQ for a meeting in preparation for the World Premiere of the Oracle Standard Edition Round Table. After this meeting Ann dropped me of at GLO art Hotel, which looks like an ancient castle for her to proceed in the preparations for OUGF14.
A little later I went out on the town with Alex Nuijten to find the rest of the international crew, and we did! We joined forces with some of the biggest names in the Oracle community today like:

we took the legendary Helsinki City Sight Seeing tour by Heli which led us to the Speaker Dinner, where the crew was complete, adding:

and many more!!

Day two, the start of OUGF Harmony 2014, started with a nice stroll down to Helsinki City Center where we met up with all the speakers and participants of the convention to travel down to Haltia Finnish Nature Center.
At this greatest of all venues, you could be for a tech convention, we had breakfast to kickoff the convention by a keynote presentation by Heli Helskyaho.
And this day got to be even better than it started.
The keynote by James Morle  made it clear that opinions matter where IT is concerned. Arguably the best keynote seen in many years! Mindless following of Marketing-ized ideas, best practice and Google will turn you into an idiot instead of a genius.
There were a lot of good session, more than anyone could attend…

The sessions I attended (besides the keynotes) were:

  • Gurcan Orhan: How to handle DEV & TEST & PROD for ODI – with a perfect example of how quickly a smart implementation can become utterly intricated for nothing
  • Björn Rost: The Ins and Outs of Flashback Data archives – explaining the use of flashback even within a Standard Edition environment
  • Keynote: Bryn Llewellyn: PL/ SQL Enhancements in Oracle Database 12c

At 14:00 I had the opportunity to host my own talk on APEX for Electronic Patients Records (if you are interested in the slides, please drop me a line), having a good attendance. The day ended with a nice musical performance of a band formed by Oracle employees while some preferred the sauna experience and a dive in the lake near the venue.

SaunaJumpMost of the participants returned to Helsinki while a small group of heroes stayed on site for a camp close to the venue.

Day three, the second day of the convention started with a keynote by Graham Wood of the Real World Performance Group while the twitter-stream on #ougf14 was revived showing camping and jumping pictures (a tradition initiated by Yuri Velikanov) from the day before!
In preparation of the Oracle Standard Edition awareness campaign I followed the well attended session from Ann Sjökvist talking about the Standard Edition DBA, a different approach to the trade.

At 12:00 we kicked off the first ever Oracle Standard Edition Round Table which was quite a succes! In a very lively discussion we got to discuss CPU’s, sockets, tooling, investments, bridging gaps and creating awareness to leverage the #1 database in the world for even many more situations and projects as we are all used to!! We even got to launch a brand new three letter IT acronym “TCL” which represents the Total Cost of (data) Loss for an organization.

With many unique get togethers this day also slowly drawn to a close. On request of Björn Rost the entire remaining gathering of Oracle enthusiasts made The Jump which, for me, was a unique experience, captured by Philippe (we had to jump a few times, yes :-))

As often, the best is kept for last! By ways of being the cherry on the cake, during the “hunt for food” by The Pragmas, downtown Helsinki, we stumbled on the Helskyaho-company at Yume (or even Twitter), possibly the best restaurant of Helsinki and they were so good to invite us to join them. This way we got to spend a dinner in the company of the legendary Chris Date which will possibly be a once in a lifetime experience.

Legendary impomptu get togetherWith OUGF Harmony 2014, the standards for Oracle Usergroup conferences again was raised by a magnitude! A great job by our Finnish friends and a promise for next year.

Communication limit with mod_plsql through PlsqlMaxParameters

There is always a lot to do when you run your page. And, somehow, these days there are some default limits to the amount of work you are supposed to do.
Okay, but what does this mean…

In an application, we have a screen to create some appointment between a bunch of people. This bunch can become quite substantial indeed.
In those days we were running Oracle HTTP Server 9i to lift mod_plsql up in the IP, and we never had any issue creating these somewhat larger appointments in our application.

Recently we got a call on our service desk, which said there were some issues in creating an appointment with a greater number of participants. The message read, somewhere in the error-text:

HTTP-400 Too many arguments passed in. Got 2009 parameters. Upper limit is 2000

Okay, somehow this application function is not going to work!

On research we identified the parameter PlsqlMaxParameters to be the problem. This parameter was introduced with the first version of Oracle HTTP Server right after 9i. If unset, PlsqlMaxParameters defaults to a value of 2000.
I am guessing here, but my bet would be this to be a restriction to prevent a buffer-overrun of some kind.
To resolve the issue the PlsqlMaxParameter needed to be added to plsql.conf. (We tried to do this in dads.conf to keep most of Oracle HTTP Server unaffected, but got errored out).
We chose the value of 4000, meaning a 100% increase while maintaining a fair and safe limit.

For Oracle HTTP Server, the parameter is set in plsql.conf which can be found in either:

  • $ORACLE_BASE/Oracle_WT1/instances/instance1/config/OHS/ohs1/moduleconf
  • $ORACLE_BASE/ohs/Apache/modplsql/conf

For Oracle EPG, the parameter can be set as follows:

  • dbms_epg.set_global_attribute(‘max-parameters’, ‘100’);

And this is where it gets tricky!

Currently we are leveraging Oracle 11g Standalone HTTP Server (, so without this bulky and difficult WebLogic overhead and we thought we’d aught to test this installation with these big appointments.
As expected, we received an error-message, so the behavior is consistent for this part. The scary bit though was that the error-message is no longer an error-message but a hint to go in the woods…

The request could not be understood by the server due to malformed syntax.

Which could virtually mean anything, and if we hadn’t run into the previous error, we’d have a helluvatime trying to resolve this.
Luckily the theater was set and we knew what we were searching for and testing, so we quickly resolved this also by adding PlsqlMaxParameters.

I hope this post will help you troubleshooting this catch-all message too!

Update on July 25th 2014
As we’re running into problems a new, I decided to call upon Oracle Support too… Raise and SR and see what comes floating to the top.

Well, a confirmation of what we already concluded, there is no conclusion…

I'm not able to determine what the maximum value is that you can set this to as it does not appear to have been documented in the bug, and the parameter has not been documented at all in the product documentation. I don't have access to the source code, so I'm not able to see if a hard limit has been set or not.

Raising the number of MaxPlsqlParameters is not considered to be a definite solution. Which kinda sounds logical since where you need a page-call with more than four thousand !! parameters (or even 2,000 when you think of it), you would think something could be optimized.

And the suggestions of MOS, which I will support:

  • I would suggest you raise the value to what you need it to be for your environment. If there is a hard limit in the code, and you configure this above that limit, then you will get an error.
  • I would then suggest you look into your application and work to reduce the number of parameters as per the recommendation of the developer of the parameter.

Visiting User Experience Event 18|3|2014

Today I had the privilege to visit the Oracle UX team from the USA. This special event was hosted by Amis Services (@AMIS_Services) and my visit was with Michel Koolwaaij, my esteemed colleague from VIR e-Care Solutions.

The event was super-well attended by a lot of enthusiastic people, comprised of students, novel developers and experienced seniors alike. I also got to meet a whole bunch of super interesting people (again) like:

  • Ultan Ó Broin (@ultan)
  • Patrick Barel (@patch72)
  • Noel Portugal (@noelportugal)
  • Lucas Jellema (@lucasjellema)
  • Lonneke Dikmans (@lonnekedikmans)
  • Mark Vilrokx (@mvilrokx)
  • Aylin Uysal

Through this post I would like to share some of what I picked up from the presentations and demos I went to and key learning points I figured out for myself.

Demo of Oracle voice (by Mark Vilrokx)
Oracle voice is a solutions based on Siri powered by Nuance which in fact now comprises a super lightweight front-end interface for voice-controlling Oracle Fusion Apps. The actual voice recognition and lexicon integration is done on the Nuance back-end.
A personal fun thing to find out is that actually the technology is again based on the work of the Belgian speech-specialists of Lernout & Hauspie, which I got to meet over 10 years ago!

Demo of Oracle mobilitics
Basically this is a demonstration of one of my key-take-aways for today.
These days you, as a classical developer, are challenged to step back, forget “grabbing data and throwing it into a grid or master-detail” and think about how you would “interact” with the data you have in your system.
If you think about it, you would not really want to scroll through master-detail… You want to visualize your data, so it becomes something more tangible and give you an overview with the ability to drill down or zoom in.
The “Designing for Mobility & Simplicity” talk of Aylin Uysal dove deeper into this.

Presentation UX directions with HTML5 by Mark Vilrokx
For me this was somewhat of a confirmation, strangely enough. Basically HTML5 is used as a rapid application development framework for Oracle ADF applications. In effect meaning that an Oracle APEX development environment supersedes Oracle ADF in both speed and diversity of application development (J) End of sentence

Presentation Designing for simplicity by Aylin Uysal
Stressing that person to person collaboration is still super important also (and perhaps even especially) for UX design. Organize several sesison consisting of different stakeholder groups, since UI design differs by user (or stakeholder) category.
Information abundance in classical UIs is to be replaced by minimal data UI design. Having less data, better (more visually represented) strongly increases UX!

Presentation Wireframing 101 by Ultan Ó Broin
Wireframing, in this context was new to me. Create a low fidelity “sketch” of what you want, don’t prototype anything yet! Create difference wireframes of applications and application flows to prevent “Squeak and poop” behavior of management or customers when presenting UX designs in wireframe format. A wireframe is no nicely worked out app, making it difficult to judge for outsiders.
A nice example of such rapid prototyping is the way Google Glasses is developed.
A good tool for digital wireframing (but also just for that) is Balsamiq which is used by the Oracle UX team as the preferred wireframing tool.

Presentation One picture worth a thousand words by Lucas Jellema
In this presentation of more pictures that words, Lucas gave some very cool examples of how pictures are able to, indeed, transfer much more information that words. An inspiration to use when you are UX-ing.

Visit to the Chamber of Secrets
I am so sorry, I had to sign quite an NDA before being let in… Please visit your local Oracle UX-session!

So, what are the key learning points:

  • Step back, and think free-flow how you would consume information. Unthink current UI design and… step back!
  • Less is more, also in UI design. A user experience is about getting to what the NEED as quickly as possible.
  • APEX is a viable development tool, in any situation!
  • User Interface design is becoming a serious trade, a trade to take into account.
  • Watch out for those InfoTiles!

A special “Thank you” to Wieteke Gaykema from AMIS who worked like crazy and still got me in at the Chamer of Secerts, even though I was shamefully late with my NDA!