Peeking behind the scenes…

It’s been a while since my last post but this is simply because I’ve never been so busy in my life. Both Peter, myself, and the team have been working long hours 7 days a week, but… today I’m taking a moment to breathe and give you some insight what’s happening behind the scenes within the formation of our new company FOEX GmbH.

It’s all about plugins

We have built (and continue to build) a framework of plugins called FOEX that is essentially a new foundation layer for APEX application development. We have been modularly building these plugins for over 12 months and constantly refactoring them to work cohesively together or independently. Using several plugins or the entire suite, developers can build rich internet applications backed by the Sencha Ext JS 4 UI library and Application Express. Visit tryfoexnow.com to keep an eye on our progress.

But plugins are just the beginning

My personal drive for building plugins is not for the achievement/reward of writing them, but to use them, and use them in multiple different ways. The ultimate goal is so we can achieve any complex development requirement thrown at us. Now that we have the first version of the framework almost ready, we can start building applications. This is the exciting part which allows us to see a whole range of different possibilities and understand where we still need to improve to make things even better than they currently are.

Framework Experiments

In order to document and use the plugins we are working on ways to demo their features in a real world usable way. One of the most usable ways we can think of is to build a new application to assist the current APEX builder and look for ways to help improve developer productivity whilst building applications using our plugins. Both Peter and myself are devoted SQL Developer users and we want to bring some of those GUI capabilities to APEX. Here’s a screenshot from our LAB of our FBuilder project that we’re designing to do just that! (and built using just our plugins in APEX)

APEX Builder Assistant

Inspiration has come from a lot of places, a special mention goes out to Noel Portugal for his OraTweet solution released a number of years ago… I hope Noel doesn’t mind us promoting his work and drawing inspiration from with our tweet deck inspired demo using our twitter and layout plugins.

Tweet Deck & Oratweet inspired sample page


To ensure we have the most secure plugins available we have formed an alliance with Recx Ltd but our partnership goes beyond that. We want people to build the most beautiful and secure applications possible, and to do that we want to evangelize how important security is and embed it within the cycle of your development process. But we aren’t security specialists and that’s why we called on the best in the business, Recx Ltd, to be part of a new era in APEX development setting a whole new standard.

Release Dates

It won’t be long before we’re releasing our new company website and opening an invitation up for interested parties willing to be involved in our hosted framework beta testing program, not dissimilar to apex.oracle.com, with a downloadable release to follow after completion of the beta trials. For those that have immediate project requirements we will be open to discussions to help get you moving ASAP before our official release launch.

Spreading the Word

Peter and I will both be at the Austrian User Group conference day in June, and will also be attending Kscope 12 and presenting. If your interested in what we are doing we urge you to come and meet us and talk with us. We’re both passionate about APEX development and want to plant the same seeds in you, that were planted in us.


The amount of work to get where we are has been huge, but it pales in comparison to the mountain that is ahead of us which we have started to climb. We’re on a long journey and sometimes we underestimate the amount of time it takes to get to the next base camp. The point to take away is that we’re always moving forwards and our first base camp is now in sight. We have an ambitious roadmap to bring new applications to life, release version 2.0, produce a Sencha Touch framework for APEX, introduce new modular solutions similar to interactive reports, the list goes on… and on…

So on a final note, as the saying goes “Rome wasn’t built in a day” and it wasn’t…. but soon your applications might be ;-)


A preview of what’s under development

It’s been a while since I posted on Ext JS APEX plugin development, but that’s because I’ve been hard at work creating more. There’s some exciting news coming about what to expect in the future but before I can do that here’s a sample of some of the additional plugins currently under development. Each plugin is being designed to work independently or in combination with the other plugins.

Grid Combo


  1. Different display/return value support
  2. Updating multiple other items in session state
  3. Cascading LOV support
  4. Standard Dynamic Actions Supported e.g. refresh, click, focus etc.
  5. AJAX driven with Pagination capability
  6. Searchable based on one or multiple columns
  7. Automatic close on selection
  8. Plus a number of other features….

Tree Grid Combo


  1. Different display/return value support
  2. Updating multiple other items in session state
  3. Cascading LOV support
  4. Dynamic Actions
  5. AJAX driven with Pagination capability
  6. Searchable based on one or multiple columns
  7. Automatic close on selection
  8. Plus a number of other features….

Tree Grid


  1. Searchable Tree
  2. Searches can be restricted to return a maximum number of results
  3. Checkboxes supported
  4. Drag and Drop reordering of tree nodes supported supported
  5. Supports up to 100 columns
  6. Standard Dynamic Actions Supported e.g. refresh, click, focus etc.
  7. Dynamic Actions to perform external filtering using your own items
  8. Pagination supported for restricting the 1st tree level into X page size
  9. Export to CSV including support for only exporting visibly expanded rows
  10. Conditions and Authorisations are supported down to the column level
  11. Plus a number of other features….

Editable Grid Plugin


  1. Read Only, Cell, or Row Editing Capability
  2. Date, LOV, AJAX LOV, Spinner, and Text form fields
  3. Client Side Validation support using Ext JS vtypes e.g. date format, email address, phone numbers etc.
  4. Column locking/freezing capability
  5. Column Header Groups
  6. Data Grouping and Summary features
  7. Filtering support based on column data types, e.g. date filtering is performed by a date picker selection
  8. Customization of column width/sorting/alignment/headers
  9. Supports column link definitions and highlight words
  10. Additional custom config can be added at the grid and down to the column level, e.g. allows the developer to set custom renderers etc.
  11. Export to CSV Support
  12. MD5 support to detect data collisions, i.e. concurrent users updating the same data/row
  13. Computed columns are supported
  14. Conditions and Authorisations are supported down to the column level
  15. Unlike Interactive Reports, multiple editable grids are supported on the same APEX page, Yay!

Layout plugin

Supported Layouts:

  • BORDER – Any combination of NORTH,SOUTH,EAST,WEST,CENTER Panels
  • VBOX – vertical stacked regions
  • HBOX – horizontal stacked regions
  • ACCORDION – vertical expand/collapse behaviour showing 1 region at a time
  • TABPANEL – a set of tabs to hide show region content
  • FIT – automatically fills the container, for single regions

List View plugin


  1. Filterable list
  2. Refreshable
  3. Template customization ability
  4. Dynamic Actions
  5. Plus a number of other features….

Dynamic Content Plugin

With this plugin you will be able to create 1 page AJAX centric applications, without changing the way you build your applications. iFrames are only used for legacy APEX components. This plugin will depend upon the layout plugin and content will be loaded into targeted areas within layout e.g. south pane, a tab panel contained within the center panel, an accordion contained within the west pane etc.

Form Plugin

A complete AJAX form solution supporting client & serverside AJAX validations, coupled with a dozen additional item plugins.

Toolbar/Menu Plugin

A neat and organized way to manage your buttons and menu’s with additional support for combo’s and other items plugins. Create vertical and horizontal toolbars positioned to the top,right,left,bottom of your layout regions e.g.

Window/Dialog Plugin

You will be able to present either regions or whole pages within an maximizable window plugin. It will support integration with the layout plugin to tighly pack grids, tabs, and forms 100% AJAX driven. It will also support standard APEX components like Interactive reports etc.

Notification Plugin

A growl style message notification.

  1. Supports 5 message types e.g. error, success, warning, informational, general
  2. Fades/slides out after X many seconds
  3. Can be positioned top left, top center, top right
  4. Messages stack on top of each other
  5. Messages can be pinned/unpinned
  6. Messages are manually closable
  7. Messages can be dynamically based on the value of items/DOM Elements on the page

Demo applications

  • Real Estate Application

    An AJAX centric 1 page application using every plugin contained within the framework.

  • Ora-tweet-deck

    An example of the framework in action using the Ora-tweet PLSQL API to give you a Tweet-deck like feel.


Preview 2: Ext JS Layouts in APEX

I thought I would follow up a previous blog post on the Ext JS layout plugin I’m building for APEX, it’s 95% complete and the results are making me go WOW and I thought I would share the “high” that I’m currently feeling.

Amid the task of documenting the plugins (the above screenshot) I started to tweak and enhance certain parts of the code to add in more flexibility. On a side note, I’m think I’m my own worst enemy at times because I find it so hard to resist improving things which I’ve read is a typical developer trait. The benefit in this case though is that I’ve coded in the ability for multiple layouts to be defined on a single page which don’t consume the full browser window. What this means is that a border layout can be defined within an existing APEX region and sized accordingly, either to fill the width of the region or using a fixed setting defined within the plugin settings.

Here’s an example of what an Ext border layout looks like which generally is used to fill the browser window.

and here’s a screenshot of an APEX page with 2 border layouts defined in 2 APEX regions with a bunch of editable grids and trees defined in a nested layout structure. I have to say that testing has been made extremely easy by being able to copy regions and their sub regions in a few mouse clicks. A big thanks to the APEX dev team on that 4.0 enhancement.

Now the above is a pretty dense example and has been built to highlight the flexibility of the plugin and does not necessarily mean you’ll build applications this way. The benefits of adding in a layout that can be controlled in size means that it can be easier to add the layout plugin into existing APEX applications and also embed within actual websites. The layout can either be a border (as per the above screenshot), tab, accordion, column, stacked, or single stretched region. Here’s an example from the Dow Jones Indexes to give you an idea…

I’m pretty excited about what we can do with APEX and Ext JS. What’s currently missing is Ext JS charts, forms, menu’s, and an Ext Super LOV (Dan you’ve inspired me) but those are coming very soon :) and here’s a screenshot of the tree grid that’s almost ready…

Once the above plugins are completed the next step is to build some amazing APEX applications to showcase APEX as a heavyweight contender in the UI development arena, and if you ask me it’s already got the serverside belt.

Pages ... 1 2