Showing posts with label Yocoya. Show all posts
Showing posts with label Yocoya. Show all posts

Thursday, December 18, 2008

A progress bar indicator for Oracle Apex

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

One of my favorite mottoes is "do not reinvent the wheel" and this posting shows you how to "recycle" a standard Apex component like a flash chart to display a nicely integrated and animated progress bar, a widget that may come in handy for "entertaining" users during certain long-lasting operations.

So, instead of creating something from scratch, i prefer to re-use an existing and supported component of Apex to achieve the same result, which complies with my initial statement.

The need for a progress bar arose while developing a new page for the recently released DBMS_PROFILER companion application, where i let the user import data from a remote db and owing to the duration of the operation, i wanted to show the current status of the operation occurring in background.

Let me summarize the basic requirements for a successful and meaningful implementation of this widget in your application:
  1. the operation must take several seconds, otherwise why bother?
  2. the process must be executable in background;
  3. user must have the flash player installed but this should not be a problem nowadays.
  4. you must be using Apex 3.1 or newer.
A short full screen video of the apex progress bar indicator is available at the download page linked below or you can click on the image below to see a cropped version.



In order to make the progress bar indicator work in your application, you will need to perform the following actions:
  1. decide whether you want to display the progress bar inside a region of the same page where you execute the process or in a different page;
  2. copy the flash chart region to the desired place;
  3. change the display condition to suit your needs;
  4. create an after submit process that submits your procedure as a background job (an example is provided);
  5. create a page validation based on the code supplied in the demo application (an example is provided);
  6. modify the "core" procedure to make use of the YY_UPD_PROGRESS_BAR procedure (sample procedure YY_TEST_PROGRESS_BAR is provided).
  7. adjust the chart parameters or XML source code to fine tune the progress bar indicator look (optional).
Those interested in a hands-on experience with the progress bar indicator demo can download the auto-installing application from yocoya.com or see a live demo at apex.oracle.com.

See more articles about Oracle Application Express or download tools and utilities.

Monday, November 24, 2008

The DBMS_PROFILER companion for Oracle Apex is (finally) available

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

The DBMS_PROFILER companion for Oracle Application Express that i presented at Oracle Open World 2008 is finally available for download.

Since i came back from OOW, i spent most of my spare time testing and checking the installation and deinstallation scripts, which was a non trivial task for an application that can work in a variety of possible configurations, although it is supposed to install and uninstall itself in an almost point and click fashion.
I've also invested some time improving the look and feel of the application compared to the initial version and writing the on line help for each page. There are also a few new features compared to the preliminary version i presented in San Francisco, most of them deal with automatic installation checks, auto-testing and migrating existing data.

Most of the working details are covered by the on-line help inside the application, whilst the installation details are given in the download page, so i am not going to write this stuff twice here, but let me recap the main goals of this application:
  1. to provide a human understandable format for the output of Oracle's built-in PL/SQL profiler;
  2. to minimize the cost/benefit ratio of using the DBMS_PROFILER for optimizing your PL/SQL code. That's the easy bit as this tool costs zero to you ;-)
  3. to take charge of some annoying operations like checking if the repository user was granted the debug privilege, checking if all the required objects are properly installed, providing a sample procedure to perform a test and so on.
  4. to show you that Apex is cool for developing productivity tools like this one.
When i presented the application at OOW i remarked the fact that it took very little time to develop a working application with Oracle Apex: that statement still holds today for an application created for internal use without all the bells and whistles that are necessary when you want to distribute the software to the general public. As you can easily guess, writing the help and designing the installation/deinstallation scripts plus all the auto-check functionality is a time consuming task that is usually not necessary when the application is only used by selected individuals or within a small development team.

Hopefully i'll find the time in the next days to come up with some video about installing and using this tool, but for now, this is it.

Although i spent quite a lot of time checking, testing, changing, amending and so on, the current version should be considered a beta release.

See more articles about Oracle Application Express or download tools and utilities.

Monday, August 27, 2007

Boosting up apex global notification messages

Some weeks ago my hosting provider experienced some network routing difficulties as a consequence of the exceptional rains and consequent flooding that hit central UK.
The service was not stopped altogether however one could see an abnormal sluggishness when opening a page.

This is one of those situations where one may want display some highly visible warning across all pages of an application, in order to inform the users as to why the service quality is below the average standard.

Another good reason for displaying such messages is for announcing server downtime, software upgrades or other important information with minimal effort and especially without tampering with Apex regions on production sites.

One could take this approach even for displaying commercial ADs, including a banner based on an image or a flash clip.

In Oracle Application Express, the basic mechanism for displaying this kind of messages is through the so-called Global Notification Message, an application definition attribute that is substituted to the #GLOBAL_NOTIFICATION# template string at page rendering time.

The global notification message as it is, has a few limitations, that i recap below in sparse order:

  1. It's monolingual; in order to make it multilingual, one must write all the translations one after each other.
  2. One must update the message by editing the application definition which isn't easily available in Run Only mode, because the application is not listed in the applications panel.
  3. If you have more than one applications in the same workspace, you must update the message in each and every application separately.
  4. There is no built-in mechanism for checking if the templates you are using are able to display the global notification message.
So, this is why i came up with my own solution to get rid of these limitations, working on a documented way of setting the Global Notification programmatically, as you can see in Apex online documentation, chapter 7, customizing templates, page templates, global notification.

apex_application.g_global_notification := 'some text';

Building on this simple idea, i developed an application that allows you to edit, translate and publish global notifications on all applications belonging to your workspace.

You can freely download this application from the link below:

Yocoya Global Notifications Manager for Oracle Application Express 3.0
(version 1.0 in zip format)

Anyone who dares to try it out?

Not sure yet?

Check out this video that shows you how to be up and running in less than 5 minutes.

Monday, April 02, 2007

Regular Expressions

Would you mind to give me some feedback on this tool?



It's an online regular expression workbench, it's just a beta version, but it's almost (or so i presume...) fully functional.

It's powered by Oracle Application Express and it's my first multilingual application.
By default it will display in italian, but a preliminary english translation is available, including all the help windows, and you can switch language by clicking on the appropriate link in the lower left corner.

I used it myself for developing and testing some regular expressions and i found it's pretty neat.
Of course there is room for improvement and that is why i'd really like to hear from you.

A spanish translation is underway and more languages will be added later on.

This online environment is also an excellent way for showing you why you get certain errors like:

ORA-12726 unmatched bracket in regular expression

or how Oracle regular expressions work compared to other implementations.

So, let's start playin' with the toy, it's free.

yes you can!

Two great ways to help us out with a minimal effort. Click on the Google Plus +1 button above or...
We appreciate your support!

latest articles