This is a small feature but fixes something that has always bugged me.
In Application Express there is the Start Stop Table item. Which is very useful for form layout especially when building forms with large textarea's.
Start Stop Table's will get the id attribute set to the Item Name just like regular items , Start Stop Tables will also insert attributes from HTML Form Element Attributes property , agian just like a regular APEX item.
You can see a very simple usage example here http://apex.oracle.com/pls/otn/f?p=11933:137.
I can definitely see this being used for some more dynamic and just plain prettier forms and layouts, there are a few spots in the APEX builder slated to get some treatment from this.
As with my last few posts , and my next couple, this isn't the most WizBang feature but the impact if properly used can be huge.
So I mentioned in my last post one of my favorite new features in Application Express 3.1 was being able to pass temporary values to OnDemand process, and I showed an example using x01.
Of course passing one value is useful but not as useful as passing 10-13 of them so lets meet the rest.
As you can see there are 10 generic variables, x01-x10 plus the placeholders for some more specific functionality, sure you can use g_widget_mod , g_widget_action , g_widget_action_mod to pass just random values but they are there for a different use which I will go over on in another post.
You can see an example of these variables and code running here.
OnDemand process (GLOBAL_AJAX)
So I'm going through my example application updating different examples new APEX 3.1 features, as I work through them I'll be posting examples of changes.
So the first one are the changes to the basic example for illustrating Ajax using an OnDemand Process.
One of the biggest changes , and one of my favorites , is that in older versions of APEX to pass a value to on OnDemand Process in most cases you would need a application level item that was only used for that purpose , this is no longer needed.
This new functionality is illustrated on line 4 where the global variables x01 gets the value of the textarea to post to the process. There are 10 global variables x01 - x10 , and a few others, so you can pass around quite a few values at once, more in later post.
There are a couple calls to $v('ITEM_NAME') which given an item name returns you the value of the given item.
And $s('ITEM_NAME','Some Value') which given an item name and a value set the value of that item.
* These both work with most the basic item types and will be extended support all item types.
OnDemand Process (SimpleExample)
On line 4 of the OnDemand Process is take getting the value of the global variable. The global variables are only available for that Ajax call and do not get saved into session state.
Well if you didn't know Oracle is a Platinum Sponsor of Web 2.0 Expo, here's the page on the Oracle Wiki.
The interesting part to this story, for me, is that Oracle has a booth that will be showcasing different ways that Oracle leveraging the Web 2.0 technologies/techniques/philosophies , and Application Express is one of those technologies, and I get to run the Application Express part of the booth!
There is will be unconference type discussions at the booth, and considering how the OOW unconference saved me before I'm looking forward to doing another one.
Between the people behind AppsLab and mix.oracle.com , XML DB , Semantic Web and more it looks like it will be very interesting conference, even if I just circle the Oracle booth all day, which of course I won't how else will I be able to ......... borrow some new good ideas :).
If your going stop by and say hello.
Fair warning to people that don't know about my booth skills, don't slow down by me and look interested , confused or ask for directions. If you do your going to get a 5 min APEX demo and then there will be another life long APEX developer.
Plus since it is in SF at some point I get to go to one of my favorite restaurants in the world, House of Nanking