Multiple File Upload Plugin – v2.0 Released

The following improvements have been made in v2.0 of the Multiple File Upload for Oracle APEX:

  1. Added support for saving files to a collection
  2. Added support for saving to a BFILE column and File System Directory
  3. Added 2 new events for when all files have finished uploading (success or failure)
  4. Changed the plugin event labels
  5. Added the option to auto close the dialog when all files have been uploaded successfully
  6. Added the option to show/hide previous uploads in the dialog
  7. Changed foreign key column/item to support up to 5 columns/items
  8. Bug Fix: File Size column value was always null



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.

Pages ... 1 2 3 4 5