Sunday, November 9, 2008

Oracle Apex IRR in ExtJS Popup Window

Dimitri Gielis emailed recently asking if I'd embedded an Ineractive Report Region (IRR) in a ExtJS popup window.

Well no I hadn't - but it turned out to be straight forward in the end, as you can see in this demo.

He raised an interesting point that when he tried the IRR javascript failed (filtering, sorting etc).

I believe Dimitri had been referencing the apexir_WORKSHEET_REGION div when embedding the IRR in a window, whereas I added an extra div tag around the IRR and used that instead.  

Such a small difference, such a big impact. The next screenshot shows some of the ExtJS windows html with my extra div tag wrapping the IRR.


Here is the html when referencing the apexir_WORKSHEET_REGION div.


So what's happened?

The apexir_rollover div (containing the filters etc) is no longer just below the apexir_WORKSHEET_REGION div. The relative positioning of these divs makes a difference.

Applying ExtJS functionality to existing html often results in html tags being moved around. Something to remember when you get unexpected behaviours.

Friday, November 7, 2008

Oracle Apex Spellchecker not working for you?
















If your a "textareas with spellchecker" look like this when you do a spellcheck, the solution is easily explained.

One of the parameters being passed is the language parameter, found in Shared Components > Edit Globalization Attributes.
In my case I have the language set to en-au (English - Australian). This is nice if you want your date-pickers to start the week on Mondays, but not so good for the spell-checker.

So how do we fix this?
It's just a case of populating the WWV_FLOW_DICTIONARY$ table for your language.
So for me the following script does it:
insert into wwv_flow_dictionary$ (language, owner, security_group_id, words, words_capitalized, words_soundex) select 'en-au', s.owner, s.security_group_id, s.words, s.words_capitalized, s.words_soundex from WWV_FLOW_DICTIONARY$ s where s.language = 'en-us'; commit;

Now if I was really being thorough, I'd go through all the words and fix the American spelling of words.
But after all, I am a developer and we're generally not known for our spelling :)

Thursday, October 30, 2008

Thank you Carl - you will be missed

It was very sad news to read Dimitri's blog yesterday that Carl Backstrom had a car accident on Sunday and passed away.

Carl and I had been in regular contact by email over the last 18 months. He was very generous and accessible with his time, a truly great guy. I count myself fortunate in meeting up with him in person at Open World this year.

He was very enthusiastic on the 4.0 release of Apex, and spoke of all the upcoming work around AJAX functionality and jQuery integration.
His enthusiasm was infectious. Only a week or so ago, I was emailing him of plans to create a jQuery demo playpen for next year.

Sometimes life really doesn't seem to have a sense of justice.

Carl was taken from us much much too young, but not before he left his mark on the world.

Wednesday, October 15, 2008

Vista Style Toolbar in Oracle Apex

This post is short and sweet. If you want to know how to create a "vista style" toolbar in Apex see http://apex.oracle.com/pls/otn/f?p=200801:2012:0 It's easy to customize it, if you like the interactive behaviour, but not the look.

Saturday, September 27, 2008

Oracle OpenWorld - done and dusted

Oracle OpenWorld is over for another year, and it's time to review the key messages for Oracle Apex.

This was my first visit to OpenWorld, my previous experiences limited to downloading presentations.

So was it worth flying all the way from Australia to see it in person?
Absolutely - you get so much more from hearing and talking directly to the presenters.

Standouts for me: Tom Kyte's presentation on database schema design.
I'd downloaded much of the content of his presentation from other events, but had missed the power of the message. Hearing and seeing the demo really opened my eyes - I'll be reviewing my database design when I get back to work.
Tom will be presenting at the AUSOUG conference in October, so delegates to the Australian event are in for a treat.
 
Carl Backstrom's presentation on Web 2.0 functionality coming in Oracle Apex.
It was great to hear the enthusiasm about the upcoming functionality from Carl. If your not already starting to incorporate AJAX functionality into your applications, it's definitely time to get your head in that space.

I caught up with Carl on the Demo grounds, to see the Web-Sheets functionality, which takes interactive reports to a whole new level. It allows interactive AJAX based editing directly in the report, as well as allowing end users to define and share sheets.

Carl was also very excited that the Oracle legal team have given him the go-ahead to use jQuery in Apex. It means he can focus on higher level AJAX functionality, rather than getting down and dirty with the DOM. Apex 4.0 is very focused on delivering declarative functionality to developers, so they don't have to know AJAX.

And finally, meeting and networking with Apex users. With 33 presentations related to Apex, the enthusiasm for Apex can't be underestimated. Time after time, presenters shared their success stories on Apex, on how quick the development time was, how short the learning curve was, and the value add it gave to their organisations.

Monday, August 25, 2008

How to make the Oracle Apex calendar start with Monday

BHavesh recently asked on my blog how to get a date picker which shows Monday as the first day.
The default apex date picker shows Sunday as first day. But I can see on your example, the default apex date picker has Monday as first day. Is there a way I can also make my default apex date picker to show monday as first day.
Good question BHavesh, I wasn't entirely sure how I did it either. It wasn't a conscious decision on my part, but a quick look with session debugging on revealed the answer, as you can see in the image below.
The NLS_TERRITORY is set to "AUSTRALIA". A quick look in the manual revealed
NLS_TERRITORY specifies the name of the territory whose conventions are to be followed for day and week numbering.

This parameter also establishes the default date format, the default decimal character and group separator, and the default ISO and local currency symbols.

So there's your answer - the territory setting establishes the week numbering. And where to set it in Oracle Apex? See below.

Friday, August 15, 2008

Oracle Apex - AJAX form created from Javascript

One of the really nice features of using ExtJS is just how easy it is to create a form using javascript.

Combining it with the new Apex global variables which Carl Backstrom blogged about in May gives some very interesting opportunities.

It means it is now possible to have functionality sitting in a application javascript library ready for use on every page.
This is exactly what is happening in IRR reports, and the upcoming Websheets functionality.

Combine this with the ability to interrogate your application using the Apex dictionary views, and suddenly the world is your oyster.

Have a play with AJAX Form using Globals on my demo site.

I'm using the same concept for a AJAX editable tree, which I'll be talking about at Oracle OpenWorld this year.
Provided I finish building it... :)

Here's a screenshot of current progress. Mark