ApEx 4.0 Quick Picks

A feature that hasn’t been highlighted much is the Quick Pick functionality with items of type “Popup LOV” and “Select List”.

This features enables you to make a quick choice from the the list values in the LOV. Only downside is that you can’t use a query or function that returns the Quick Picks. However you can still reference to other items using the &MY_ITEM. notation.

This is how you set it up:

This is the result:

ApEx 4.0 Region Selector

Last year on ODTUG I did a presentation where I showed my own implementation of region tabs. These are extra buttons to display regions in a more user friendly way. Suppose you have a lot of regions on your page then you could present a list of buttons, each button will show/hide a region.

I’m pleased to announce that in ApEx 4.0 you can do this declarative by using a new region type: “Region Display Selector”.
To set it up just follow these simple steps:

- First alter any existing region on your page and set the Region Display Selector to YES. You can find this setting under Region Attributes.

Region Display Selector

- Make a new region of type Region Display Selector

Region Type Display Selector

- You can add more regions to the display selector by setting the Region Display Selector to YES

Region Type Display Selector

You can see my own implementation of region tabs in the next photo gallery:

ApEx 4.0 available for download

ApEx 4.0 has been released. You can download the new version of ApEx on the website of Oracle.

You can read about the new features of Application Express 4.0 here.

Please mind that the requirements are changed:

Oracle Application Express 4.0 is supported on all Editions (SE1, SE, EE, and XE) of the Oracle database, 10.2.0.3 or higher. Application Express 4.0 can also be used with Oracle Database 10g Express Edition.

First APEX SIG in Belgium (via OBUG) focused on APEX 4.0

Last Thursday (17/06) Oracle Benelux User Group, aka OBUG, organised his first APEX SIG, an initiative of Dimitri Gielis and Roel Hartman. Even though the new version of the product is not yet “in production”, the theme of the day was APEX 4.0.

iAdvise sponsors firs APEX SIG in BeNeLuxWe, at iAdvise, are one of the early promoters of Oracle Application Express in Belgium.   Since 2006, we implemented already different solutions with APEX. Therefore, we could not  be absent at this event and decided to participate and sponsor this first APEX SIG day.

Olivier Dupont and Jan Huyzentruyt gave a presentation with the title: “APEX 4.0: Feature 135, 184, 301, 315, 348 … How it was before, how it is now !”  The idea was to demonstrate some of the less spectacular new features of Apex 4.0 that (1) makes the life of the APEX developer easier and more productive and (2) allows to create more good looking, to the point web-application. Most of those features we explained by showing how it was in the “old” days, and how (easy) it is with APEX 4.0.

For everybody who could not attend the OBUG session, we published our presentation at slideshare.net:

A report of the day can also be found here.

Usability

Usability

Usability or easy-of-use has been around for a long time, but recently it is popping up in discussions more and more. Some customers need to use it, some want to use it and some should use it …

But how can we advise our customers to implement usability if we don’t do just that ourselves?

Time to investigate what usability is! 1 thing is for sure, it is a lot more than putting buttons in the right place. It’s about interviewing users, defining wire frames, design the interaction, making it an integrated part of the project lifecycle. The result should be an application, webpage or document that doesn’t need explaining and conforms to the expectations of the end-users.

How to do this, well, that is on the path of discovery, as is the impact on the entire project, timing, scope, budget and quality.

Who has already used usability within his/her projects and what are your findings?

For those who have already implemented usability, how did you fit it in the development process? What are your findings about usability? Would you do it again?

People at iAdvise have already shown a great deal of interest which will surely lead to some challenging initiatives.

Forms 11g javascript integration: Call others

Forms 11g holds a lot of interesting new features focused on event-driven architecture, one of these is javascript integration. There are two ways of using javascript with Forms 11g: “call others” and “let others call you”.

Javascript can call code in Forms(“Let others call you”) using the new forms trigger “when-custom-javacript-event”.

This post is going to show you the first one: “call others”, in other words call javascript from your Oracle Forms application.

During the Forms Modernization Seminar I showed a google map that could be manipulated from an Oracle Form. It’s an easy implementation with only a few lines of code(most of the javascript is taken from the api examples on the google code site: http://code.google.com/apis/maps/).

  • Build a little form with one (control) block, one text field(to enter an address) and one button(to call the javascript code).
  • Next step is to create an HTML-page to display the form.

This code puts the form(in an iframe) and the map side by side:
(Click to enlarge)

And it will look like this:

  • The javascript that will be called is put in another file google.js:

  • The only thing to do is creating a “when-button-pressed” trigger in forms to call the javascript function showAddress.
    This is done by a new built-in procedure web.javascript_eval_expr:
  • Copy the HTML and javascript file to the following directory:
    <middleware_home>\user_projects\domains\<domain>\servers\WLS_FORMS\tmp\_WL_user\formsapp_11.1.1\e18uoi\war\
  • Create a new configuration using Enterprise Manager:

  • Make sure the parameter EnableJavascriptEvent is set to “true’ in your configuration!

And the working demo…

Forms Modernization, Part 1: Motivation for change

In the first part of our seminar we discussed some topics that forms customers want to change today.

These changes are mostly focussed on the island most forms applications and teams are working on today, such as:

    1) Internal services that are provided within the enterprise that could uplift the provided functionality to the end users.

    E.g. Order-information that is provided via a webservice of the existing legacy application. This information can be provided to the back-end and forms interface to have real time information provided to the accountancy-department that is using the forms app.

    2) External services that are provided by partners that could uplift the provided functionality to the customers and the business users.

    E.g. a good example of the ROI is explained in the ZLM Case Study.

    3) Existing pl/sql functionality that can be offered as a service to enterprise applications or external partners.

    E.g. the forms application handles the allocation of consultants of iAdvise. To be able to provide customers a better service we could offer the business unit managers, pre-sales and sales a real-time view on the whereabouts (no we don’t play tennis ;o) ) of the consultants. In other words, a customer is facing production problems and needs support asap, the sales person looks up which consultants are nereby the customers with the needed skills. Given the coordinates the sales-person can then call the consultant and give the customer a much better service without needing to cross to many channels to get the necessary information.

    4) Get on the fusion track and let your forms application talk to you jee, adf, apex, custom made application.

    You want to integrate new functionality which is provided through ajax, java server faces, event driven architecture, … to improve look and feel and to let end users profit from the added value such as asynchronous event handling, JavaScript integration, …

In other words when you start thinking about improvements you could make to your existing forms application, the ROI mostly is very obvious.

The investments made in human capital, architecture and infrastructure are protected whilst enabling integration of new technologies and improving your existing skill set and investments.

What I would like to know from other customers, developers, end-users, …:
Is anybody facing integration/modernization issues today within their Forms Apps that can’t be addressed using one of the following scenario’s: modernization, integration, upgrade to 10g/11g?

If so, please provide us this information so we can discuss the different scenario’s, aspects that are applicable to your specific case.