Wednesday 13 February 2013

Review: Expert Oracle Application Express Plugins

In Oracle APEX there are probably a few broad classifications of technologist, and I think to create plug-ins as an APEX shared component is probably one of them.

While I have consumed many plug-ins, I haven't created any that aren't security related. And just quietly, the security plug-ins are a fair simple encapsulation of a known entity.

If you want to learn how to create plug-ins using the tools available, I would recommend reading Expert Oracle Application Express Plugins, by Martin Giffy D'Souza.

I started a technical review for this book, but had to pull out due to poor timing - super busy with too many other projects. Publishers apress kindly sent me a copy of the book regardless, which I read on train rides to work.

Chapter 1, Introduction

Fairly short but concise description of what is covered in the book. Again due to poor timing, Martin was unable to include the authentication & authorisation plug-ins - but on fundamentals alone you could build these no problems after reading half the book.
So it covers dynamic action, item, region & process plugins; and mentions to the reader you should be reasonably versed in PL/SQL, JavaScript, jQuery, CSS & HTML - which generally the demarcation from a typical APEX developer.

Chapter 2, Plug-in Fundamentals

Using some simple examples, it builds a pretty good picture on the required infrastructure for a plug-in.

Chapter 3, Item Plug-ins

A very thorough guide to building a date-picker item plug-in, probably the most popular & UI related plug-ins you'll encounter. I've had a few ideas & needs for item plug-ins, such as a Forms style combo-box that operates as a select list of an LOV as well as a free text input. If I had the time, this chapter would be my "right hand man" for building it.
As with much of the book, it's very syntax heavy - so be prepared for that. However, it's quality code - well structured and  is a good reference.
You are also introduced to the console wrapper in this chapter.

Chapter 4, Dynamic Action Plug-ins

First Martin does well to describe how dynamic actions work, then goes into an example of creating a modal dialog.

Chapter 5, Region Plug-ins

Again Martin sets the picture and talks about the importance of AJAX. He then pushes us in to the deep end by building a region to display titles from an RSS feed.

Chapter 6, Process Plug-ins

Process plug-ins are a great example of basic software engineering, where we can encapsulate complexity and increase reusability - the major tenant of plug-ins. Martin uses this to create the black box that is to send a message to a mobile phone. He doesn't forget to include the technical requirements for this using SMTP.

Chapter 7, Best Practices and community

The best thing about plug-ins is you don't need to write them, you can just consume them as part of the community. But of course, they introduce the concept of "cost of not writing the plug-in". Martin also covers security, instrumentation, commenting, templates, versioning, compression & error handling - lots of goodies ;-)

Chapter 8, Debugging & Tools

After meeting Martin in Melbourne last year, I found one of his APEX strengths is instrumentation, debugging & coding design. This chapter takes a much closer look at the JavaScript Console Wrapper, APEX debug, browser tools, jQuery UI Widget factory, the Apache HTTP server and finally the APEX APIs & data dictionary.


Certainly a very technical book on APEX plug-ins, but to become an effective plug-in developer you would expect nothing less. Even as a consumer of plug-ins, it wouldn't hurt to have a better understanding of how they work & fit together. Certainly, if you end up having to write one, this is is the best reference out there.

Related Links

Community Plug-ins
Oracle Plug-ins
Commercial Plug-ins


No comments: