Skip to main content

Posts

Getting rid of the annoying popup help

Recently I stumbled upon two excellent blog posts about how to change the default pop up APEX Help functionality to something more user friendly. Martin explained how to transform the Help into a tooltip, while Piotr transformed the Help pop up into a DIV. I will add my two cents to this discussion by adding another option... The pop up is trigger by a call to the Javascript function "popupFieldHelp'. So I decided to locally overwrite that function with this one: function popupFieldHelp(pItemId, pSessionId ){ // Construct the URL vURL = "wwv_flow_item_help.show_help?p_item_id=" + pItemId + "&p_session=" + pSessionId; // Call getRequest to get the HTML for the popupWindow var popupWindow = getRequest(vURL); // Get the Subject (item name) from the Window var HelpSubject = $(popupWindow).find('.fieldtitlebold').html(); // Get the HelpText from the Window var HelpText = $(popupWindow).find('.instructiontext').html(); // S...

Running APEX on 11gR2 using Sun's (Oracle's?) VirtualBox

Today I decided that I needed an environment to play with the latest and greatest Oracle RDBMS : 11gR2. This version is only available for Unix platforms, so I needed a virtual environment to get that working on my laptop - running on XP. You can pick any kind of virtualization software, but, due to the recent take-over of Sun by Oracle, I decided to go for what's currently known as Sun's VirtualBox. I guess this product will re-branded to Oracle's VirtualBox somewhere soon. So what are the steps: 1. Download VirtualBox from http://www.virtualbox.org/ and run the installer. 2. Start VirtualBox, click 'New' and enter a Name, Operating and Version for the Virtual machine. This is gonna be a 100% Oracle thing, so I installed Oracle Enterprise Linux (OEL). 3. Oracle 11gR2 needs 1Gb of RAM, so set the memory size to 1024 - you can change this afterwards. 4. Create a new boot harddisk with dynamically expanding storage . 5. On the next page you have to set the 'si...

Easy Show/Hide items in a Form

For showing and hiding information in a Form you can use a default "Show and Hide Region". But what to do if you want to show/hide some details within a region? The answer is: with a Label Template, some cool jQuery UI stuff and "Stop and Start HTML Table" Items. 1. Create a new Label Template (From Scratch) for Template Class 'No Label'. Call it 'Show/Hide Next Image' or something else you fancy. 2. Edit the Label Template you've just created. Remove everything that's there by default. 3. Set the 'Before Label' to : <img src="wwv_flow_file_mgr.get_file?p_security_group_id=<your workspace id>&p_fname= 4. Set the 'After Label' to : " onload="$(this).next().hide();" onclick="$(this).next().toggle('blind');"> 5. Now create a "Stop and Start HTML Table" Item just before the items you want to show/hide. Edit that Item and set the label property to the name of the imag...

Transform ORA-xxxx messages into something more user friendly in APEX

When you delete a record that is referenced using a foreign key constraint you get a rather ugly error like this: Of course you can prevent such a thing from happening by creating a Page process that checks if your delete is "Ok". But that's double coding...and dangerous when you have to maintain your database structure: You'll probably forget to update the processes as well. Wouldn't it be nice if you can 'catch' that error an present it to the end user in a more friendly way (and with a somewhat more understandable text)? I guess your users will be more enthusiastic about your application (and you) when you show them something like this: So how do we achieve that? 1. Edit the "Error Page Template Control" region of your Application Default Page Template, because that's the one that is used for presenting errors. Set it to : <script type="text/javascript">$(document).ready(function(){raiseErrorHandler();});</script> ...

Blackbird : Javascript logging 2.0

When debugging your APEX Javascript stuff you probably use Firefox with Firebug. By writing messages to the console, you can follow the flow of your Javascript. Incidentally you use - annoying - alerts in your code to find out where you messed up your code. But recently I stumbled upon BlackBird! With blackbird you can write different types of messages, like info, warning and error messages, to a little console window, that looks a bit like a Twitter client. You can show/hide the window using F2. In this little window you can toggle the type of messages you're interested in. And it works even on IE! Blackbird consists just of 1 CSS, 1 JS and two image files, so it is very easy to install. Just a little tip, rename the namespace from 'log' to something like 'bb', to avoid conflicts with the Firebug log. You can find the code, demo and docs on http://www.gscottolson.com/blackbirdjs/ .

OOW 2009 Blogger Meetup

All you bloggers out there visiting Oracle Open World this year, let's get together at the traditional annual Blogger Meetup . This time the organizer is Pythian's Alex Gorbachev . Thank you Alex!!

Wondering what an Oracle ACE Award looks like?

I (finally) received the actual award (thanks to Lillian and Justin)!

Problems with running Oracle Forms on Firefox?

As I blogged about two weeks ago, I still get a lot of hits regarding problems when running Oracle Forms with Firefox. From this Client Platform Statement of Direction you can see that Firefox 2.0 (current is 3.5!) is the latest version that is certified in combination with JInitiator and Sun's JVM version 1.6.004 (current is 1.6.015). Not certified doesn't imply that it doesn't work, but from my experience running Oracle Forms with Firefox 3.0/JVM 1.6.005 works without any problems, but Firefox 3.5/JVM 1.6.005 does not! So be aware of 'automatic updates'...

APEX and Google Visualizations: Create sub-zero dashboards

APEX is cool, Google is cool, Google Visualizations are even cooler. So the combination the coolest technologies available is sub-zero! A Google Visualization needs can get it's data programmatically by using javascript: create a DataTable object and use addColumn to define the columns and addRows to define the rows. But a Visualization can also be fed with a JSON object. So I created a package prodcure that reads a sql query and spits out a JSON string in the format Google likes. This procedure is called by an APEX On Demand Application Process. In every APEX page the necessary Google Visualization packages are loaded by calling google.load with some packages, like this: google.load('visualization', '1', {packages :[ 'geomap', 'intensitymap', 'map' ]}); (The google.load function is loaded in the template by referencing a javascript file http://www.google.com/jsapi). Every chart is defined as an HTML Region. The source of that Region contain...

My most popular blog entry

According to Statcounter, the most popular page on this blog is an entry from as early as 2007...about how JInitiator can make Firefox crash. It even made it to an "official" manual of library of the Technical University of Eindhoven (it is in Dutch, and the link is almost at the bottom). I don't know if what I wrote there still holds for the current versions of Firefox and JInitiator, but according to the stats, the problem is rather persistent...

Presenting @ UKOUG 2009....

After ODTUG and OOW I will also present about the Integration of Oracle Forms and APEX at the next UKOUG event, from Nov 30 to Dec 2 in Birmingham. Unlike OOW, where my session is planned at the very beginning of the event, the UKOUG organization committee kindly planned my session in the very middle of the conference: on Tuesday from 12:05 - 12:50. So for all Europeans who couldn't make it to ODTUG or OOW and are interested in this kind of integration...you know where to go!

My session @ OOW : The first of all 1800+ sessions....

I just received an e-mail from the OOW Content Team. They've managed to schedule my session at Sunday morning from 8:00 - 9:00. So that's officially the kick off for the event... Two advantages for this early hour: I will probably wake up at 4:00 AM anyway due to the expected jet lag (just like all the other Europeans that will fly in on Friday or Saturday, so no excuse for you guys!). And I will have finished my duties one hour after the event starts, so I can enjoy the show without worrying about my presentation! Hope to see you all at this early - and probably inconvenient - time...

Ended up 10th at Oracle OpenWorld 2009 Vote-a-Session

My abstract "It's great to integrate: Combining Oracle Forms and Oracle Application Express" for the upcoming OOW ended up 10th (out of 150). That's one place up compared to last years voting! So a big thank you to all 99 people who voted for me (98 if I count myself out). And just like last year it proves that APEX has a very strong community: 5 of the top 10 sessions are APEX-related (8 of the top 30: around that number seem to get an invitation). So thanks again and I hope to see you all in San Francisco in a couple of months!

APEX FLoating Developer Toolbar

During the APEX 4.0 session at last ODTUG a question was raised: " Can we have a floating developer toolbar " (the thing at the bottom of the page with a.o. the 'Home' and 'Debug' link). There is no need to wait for APEX 4.0 to get that (if it will be implemented as a new feature), you can have it NOW! If you put the next piece of code in an HTML Region in Page 0 (or in your Template, whatever you like), the toolbar gets sticked to the bottom of your browser like glue... I guess it only works for FireFox, but that doesn't matter, because that's the tool we're all using anyway, aren't we? Oh, yeah, and you need jQuery...

Oracle SQL Developer Data Modeler available - but not for free....

Almost covered by yesterdays FMW 11g stampede, the production version of SQL Developer Data Modeler is available on OTN . As expected (see this and this last years blog entry) this is not a free tool like SQL Developer or JDeveloper. It is a for-cost option of SQL Developer, and requires a separate license. And what are the license costs (as of yesterdays Pricing List ): $3000 + $660 per year per Named User. It looks really good. The functionality is about the same as the modeling part of good old Oracle Designer (it can even import the definitions from a Designer Repository). The full Internet Developer Suite costs $5800 + support per user. But then you get the all Designer functionality + Oracle Forms + Oracle Reports... Is it worth the $3000? I don't have an opinion on that yet, do you?

The buzz around APEX 4.0

During last weeks ODTUG Mike Hichwa presented APEX 4.0. This seemed to be the best attended session (apart from the 'real' keynotes) with over 200 attendees, so a lot of people wanted to know where their favorite development environment is heading! Mike demoed some really cool new stuff - I will discuss these later on - and skipped (even more) nice features, with Declarative Tabular Forms, AJAX Client-Side Validations and Improved Error Handling make the top 3 of most interesting ones. See the pic of the slide for a complete list. Websheets There has been more blogging about Websheets last year, even with movies. But every time you see it live, it is amazing. Just copy data from a CSV, paste it into the APEX Builder and you're done! No Tables, Triggers, Primary Keys, etc needed: everything is automatically managed in APEX$xxx tables. You can update the data in line (like a Tabular Form), you can do mass update, create an LOV on the fly and add columns. You can also add Atta...

ODTUG in the rearview mirror

Still recovering from a light jet lag, it is time to look back at another excellent ODTUG event. Although I planned to blog about it on a daily basis, the social/networking activities prevented that... (a.k.a. "I rather drink a beer with some friends and have a good chat, that write another blog post" ). So here's a (rather) long wrap up of this fantastic event! Sunday June 21: APEX Symposium The symposium, with around 200 attendees, started at 8:00 AM (attending ODTUG is really hard work!). The day started with a sort of keynote by Joel Kallman , followed by 6 presentations of real world APEX applications and was finished off with a Panel discussion. Some highlights of the day: Joel did an excellent presentation called Application Express: Ahead of the Curve . He explained that APEX is still ahead of it's time and therefore will still gain (even) more interest in the market. Especially because of the high speed development, you can create all kinds of applications wi...

Abstract for Oracle Open World accepted!

To my suprise I received an e-mail from the Oracle Open World Content Team that my abstract "It's Great to Integrate: Combining Oracle Forms and Oracle Application Express" has been accepted - even though it is still "in the Mix", open for voting (currently 65 votes at the 9th position). Maybe a 'spy' attended my session at ODTUG? Nevertheless, I proudly accepted the invitation and hope to see you all at the next Oracle event in San Francisco!