As promised I've put up the export of my demo application from Oracle World , for people who were at ODTUG in New Orleans it's pretty much the same application I showed there.
Thanks, for everybody who showed up I had a great time and hopefully was able to give people some ideas. I'll see what the rules are for me putting my slides on slideshare or something like that , but at some point Oracle will putting up the slides and a recording of the session.
Download the Application
Edit
The application will only work in Firefox, but that is only because it was built specifically to show Firebug features.
If you remove anything that says console.log or console.dir it will work in other browsers.
Regards,
Carl

One problem with APEX is it has issues with dealing with text values of greater than 32k, while there is a fairly simple workaround it does have quite a few pieces and there has to be an easier way to do it.
Well in APEX 3.1 there is now an integrated javascript call to take care of this. This example also shows some of our new namespaced javascript objects and functions.
I've created a working example here.
Setting the CLOB
What's happening in the previous piece of javascript is I'm creating a apex.ajax.clob object. This object only takes one parameter when being initialized which is a function , or pointer to a function, to call when the XMLHTTP object's readyState changes. In that return function ,and for all built in APEX asynchronous AJAX calls, p is the XMLHTTP object.
Once the apex.ajax.clob object is created you just call set method giving it a string ._set(String Value);
It will automatically create a collection in your session CLOB_CONTENT and populate the CLOB001 column.
You can then use that in a page or application level process , usually by calling a doSubmit() and submitting the page.
The p.responseText on successful population of the CLOB will be SUCCESS.
Getting the CLOB
Getting a CLOB is much the same as setting one. Create the apex.ajax.clob object setting the function to call when p.readyState and then call the ._get() method which doesn't take any parameters.
This solution only deals with one clob at a time and the clob is alway put into the CLOB_CONTENT collection, though dealing with multiple clobs is also much easier, more on that later ;). But it is much easier to work with than the old workaround.
I just watched 2001: A Space Odyssey in the last week in HD. If you've never seen or it's been awhile or never seen it in HD do yourself a favor and check it out it's an amazing movie, though it looks like they were a little off on the dates.
Sometimes you only want a region / item /tab /list etc to show up if your in development mode.
Sure you can add a authentication and authorization setup and take care of this but a quick and dirty way is set the condition to PL/SQL Function Body Returning a Boolean and use this code.
For a production application please take the time to set up a proper authorization rule, but for development this is simple and works.
Considering this is a quick and dirty fix/tip I guess it's the unwashed one :)
Wow a real APEX posting can you believe it?
So I got an email from Alistair Laing asking about a certain example of mine , (AJAX) Report Pull.
He rightfully pointed out that if you used one the AJAX enabled report templates the AJAX pagination worked but the sorting wouldn't work, sometimes.
The reason for this is that the AJAX templates are a HACK! That's right I said it ,I can because I built them, sure they are a successful , well used, robust HACK but a HACK none the less.
The issue with the sorting not working is because the header links are rewritten when the page loads so that the headers no longer have normal links but have AJAX enabled links. The pagination doesn't have this issue because the AJAX code is hardcoded in and to make matters worse if you paginate first then the sorting does get rewritten to be AJAX, I told you it was a HACK.
But have no fear with just a little bit more effort you can make it sorting work as it should , Ajax Region Pull & Pagination
There are a few differences between the first example and the second example.
The main part being the javascript code on the pulling page (149)
On the report page (150) create a Before Header Reset Pagination Process that resets the pagination if the REQUEST is RP
On the Report Region put <clip> in the Region Header and </clip> in the Region Footer.
There are a few other ways to do this but this is the way that most closely mirrored the original example.
I have updated my Example Application Export so this is there to dig through.
Something to look forward to.
In 3.1 all of this has been fixed with the inclusion of one SUPER EXCITING new declarative report attribute.
I mean look at that! It's a thing of beauty isn't it ;) and better yet it supports all of APEX's pagination types.
EDIT: if you cut and paste the code snippet you will get all the code. I need to adjust the layout of this blog or get one of those nifty code highlighting javascript widgets.
If your a Federal, State, and Local Government Oracle customer and want some FREE APEX training take a look at this OTN Forum post here by Tyler Muth.
On a personal note FREE training will make my tax dollars go a bit further so lets fill those seats ;) , even if the seats fill up I'm sure they are keeping track of the number of people that want to participate and a bunch of interest might lead to more of these.
While I do like some of the new features of the whole Web TOO point OH thing ( AJAX, tagging , wiki's , blogs,etc) I've never been much for the whole social network thing, I guess it has it's uses , but I truthfully like more directed forums and mailing lists for following things I'm interested in, they've worked since the days of BBS's to get the info I'm looking for. I do have accounts at most the big ones mainly just to see what it's all about and .....uhh.... borrow good idea's.
But facebook has just taken that proverbial step over to the darkside, I guess that's what happens when MS gets a piece of you. So maybe you have or hadn't heard about facebook's Beacon setup http://www.facebook.com/business/?beacon , here's a bunch of news stories , http://news.google.com/news?q=facebook+beacon .
But the one sentence summary is it allows a website you visit to automatically post what you did there to your facebook account.
It's taken me a couple days after first hearing about it to understand why this sucks. And there are two reasons.
First and most importantly there is not a simple global opt-out. I don't want to participate, I want to have as much control as possible over what is public information about me as I can and they have just ripped that out of my hands, and then told that I'm better for it and it's better this way.
Secondly, well there isn't a second one the first one is quite enough.
Basically and I'll yell this so they hear me.
I DECIDE WHAT I PUBLISH AND I WANT ONE SETTING, EASILY FOUND, TO DO IT!!!!!!
Sure the first comment will be hey if you don't want this then don't have a facebook account, and sure that is a solution , and looking to be a better one every minute I think about this, but facebook has been useful on occasion.
For now since I use Firefox exclusively I'll follow these instructions to block beacon http://www.ideashower.com/blog/block-facebook-beacon/ and I'll keep my eye's open to see if facebook tries to get around that.
If they do, that's it see you facebook it's been fun.

Well something somewhere froze over because I found enough time to get an updated version of my sample application zipped up and upload.
There are some of the new examples in this export.
- Minimal tagging functionality , along with an xml file to populate the tags table.
- Examples on how to use $x_Toggle $x_Hide $x_Show on Regions.
- Javascript code to enable/disable a shuttle item.
- Example of a function to quickly check a series of values html_CheckSome(pThis,pValues,pArray)
You can download it here http://apex.oracle.com/pls/otn/f?p=11933:22.
If you like the theme , and with my visual design skills who doesn't, make sure to grab it because this will be the last export that has that particular one.
As usual make sure to read the disclaimer because I 100% stand by it.
I should just mail CC blogger on some of my emails so they automatically get posted.
Hello,
If you have a tabular form or some sort of report where the first column is a checkbox I've created a js shortcut that will check all the checkbox items in the first column (one of the requests from 3.0 instance) just add the following as the header of the first column .
<input type="checkbox" onclick="$f_CheckFirstColumn(this)" />
If you have other places where a check all option seems appropriate, but is different than this tabular form solution please contact me and I can help set it up.
Regards,
Carl
