Carl Backstrom

Subscribe to Carl Backstrom feed
Where spellcheqk is just another word.
Posting and Rants about Web Development in general and Oracle Application Express in particular.
Updated: 7 hours 14 min ago

Themes and Theme Testing

Fri, 2008-04-04 19:15
I've created an application here that lists out all the themes contained in APEX along with a thumbnail. Each image links to a copy of our theme testing application running that particular theme, the theme testing application is just the regular sample application with extra pages to cover different template and item types.

When we build out themes for APEX we build very generically and the theme testing application is what we use to test against. Feel free to download the theme testing application and use to test your own themes or theme variations against.

Vikas used to host applications showcasing the themes but I figured we (APEX team) should take the time update them with every version change and Theme Testing Application change. Like I've stated before I have almost no moral issues with 'borrowing' a good idea , but I did contact Vikas and ask first ;).

If you think we are missing a use case in that application please drop a line in the comments, or better yet comp one out on and put a link in the comments. Remember we build very generically so the themes can handle as many data and usage variations as possible.

New Stuff (3) Start Stop Table item is for real!

Wed, 2008-03-26 13:47
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.

The problem was there was no way easy way access the Start Stop Table itself with javascript or CSS since it didn't have any discerning attributes. Well that has all changed in APEX 3.1 as the Start Stop Table gets some of the same attributes as a regular item does.

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

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.

New Stuff (1)

Thu, 2008-03-20 22:15
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.


function f_TestOnDemand(){
var get = new htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=SimpleExample',0);
gReturn = get.get();
get = null;
gReturn = (!gReturn)?'null':gReturn;

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)

l_value varchar2(4000);
l_value := wwv_flow.g_x01;
htp.p('This was just put into one of the global temporary values.');

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.

Simple changes to be sure but they allow for much more generic javascript and easier integration across different application's

Web 2.0 Expo + APEX = Me!

Wed, 2008-03-12 14:18
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 , 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