What can you do with the FOEX Plugin Framework?

After looking at our Demos most People are amazed and at how something like this is possible in Oracle APEX. Often one question we find most people asking is: How can I use this? Where in my business Application is there a requirement for that type of functionality?

To give you some ideas on where FOEX is a good match, we are going to start with a series of Blogposts over the coming months to show you single usecases followed by using the full suite of plugins to build entire (FOEX) Applications.

For the start of the series we will cover some of the features available and will then introduce the design concepts to set a solid foundation for you to build on.

The Future of Tabular Forms – Editable Datagrids

When you have the requirement to edit multiple Records at once, a Tabular Form is the only component we have available in APEX. Sure, a TabForm serves the Purpose of editing multiple Records, but trying to explain the customer why it doesn’t behave like a grid in Excel, or – even worse – why you can’t have two of them on the same Page. You will find yourself in a tricky position explaining these limitations. Every seasoned APEX Developer has burned hours over hours to get something working that comes close to what Customers expect using hand crafted Javascript and a lot of custom PLSQL, and the ones seeing the futility in this just answer “I’m sorry, that’s just not possible in Oracle APEX”.

This is the gap that the FOEX Grid plugs. It gives you all the features you were looking for, and is as easy to set up as a Wizard created Tabular Form. Being able to filter columns and still edit the Data is a huge win, and so is the behind-the-scenes AJAX processing which even re-queries for trigger changes. No more Page Submits are necessary. Other features include:

  • Row or Cell editing
  • Auto-Save
  • Sorting
  • Column-Filters
  • Column-Freeze/-Lock
  • Grouping and Sum Columns (recalculated on update)
  • Pagination
  • Easy overriding the standard DML
  • AJAX Validations
  • MD5 checksums
  • Highlighting
  • Conditional Row/cell editing
  • Additional dynamic action plugins e.g. set items on row select
  • as many Grids on a Page as you want
  • + more

Master-Detail Relations

Often seen in Desktop Applications is a List (Report) you can scroll through and see some other Regions on the same Page refreshing with every new Record selected. With the use of couple Dynamic Actions on APEX (Classic) Reports this can be accomplished since Oracle APEX 4.0, but it is limited to cursor clicks on display-only Reports.

This is where the Data-Grid can help out, this time accompanied by other FOEX Components like Forms, Maps, Trees, TreeGrids and of course more Grids. Making use of standard Dynamic Actions, and additional ones provided within the framework, we can interconnect all the components. For instance we can easily AJAX refresh all the Detail grids based on row selection in the Master using the standard Refresh event. FOEX even gives your Customers the possibility to use the Cursor Up/Down Keys in the Master driving Grid to scroll through all Records and instantly see the Detail values that correspond.

With these FOEX Dynamic Actions it is possible to link various FOEX Components in many ways whenever you use a combination of FOEX Windows/Grids/Forms/Trees/…  all via AJAX, and all without writing any Javascript.

Responsive Page Design

Having well used Applications often means that there are all kind of different Users on it, each of them possibly having different Devices (PC, Notebook, Tablet, …) and Screen Sizes. In normal Webdesign often a fixed Content-Width of 960px is used, to ensure that the display is consistent across all these different devices.

In Business Applications this is often a Problem, as you have to show as much Information on a Page as possible. For instance, if you design for 32″ Screens having a maximum resolution of 2560 x 1140 px someone on a Notebook with 1280 x 800 won’t be very happy with that, having to scroll left/right/up/down all the time. Other times you may find it difficult to control widths heights of reports that stretch to accomodate the data and this push important regions off the visible viewable browser area.

This is where Responsive Page Design kicks in. With the FOEX Viewport/Pane/Layout Plugins you can define Sections of your Screen (Page) and assign them a relative height and width. If the Page is displayed on a bigger screen, it means that every Section/Slice in that Page gets more real estate, on a smaller screen it gets less. Mix in handles to let the User resize and collapse/expand content you can then cleverly show the same Amount on Information on any Screen Size.


In the next post we’ll show you some more Plugins and how to combine them. So stay tuned and check out our Demos and Videos in between.

  • Ron Haworth Reply

    My client would like to use a light-weight, Edward Tufte-style sparkline component within FOEX Grid Trees, Grids and other areas within the FOEX region structures. Realizing the common JS sparkline implementation floating around out there is based on jQuery and so is likely architecturally incompatible with the FOEX ExtJS stack, are there any plans to port this concept to FOEX or has anyone out there done so with any success?

  • praganitsch Reply

    Hi Ron,

    good news. We are planning to introduce several types of charts with FOEX V2.0. We haven’t yet looked into sparklines for Grids.

Add your comment

Your email address will not be published. Required fields are marked *