Monday, March 22, 2010

Haiku Two

In November 2008 I offered a haiku in Carl Backstrom's memory.  That post referenced texting a haiku.  That text originated with Scott Spadafore.  It is with great sadness that I offer haiku two in Scott's memory.

spring leaps forth
though warmth, shining sun
brilliance lost

Tuesday, March 09, 2010

Thank You Granny!

My wife recently took a look at this blog and told me that it would be better with pictures.  She also suggested that not every post had to start with: If you are installing/configuring/coding with the Oracle product abc and you get error ORA-nnnnn . . . With that in mind, I share the following.

I used to commute to work by bike most days, but I was out of commission for about a year.  Today was a beautiful morning, just right to get back on the bike for a ride to work.  After a year off it was a bit of a shakey start.  Just figuring out where my gear was.  Pairing down my now typical road warrior gear to the bare essentials (for example, a 4 port switch instead of the 10 port).  Stuffing everything into a new bag.  Hoping my lunch would not spill out into traffic.

It used to take me 26 minutes door to door.  This morning was a little slower.  Which brings me to the title of this post.  Below is a shot of my Campy Chorus Racing Triple.

A Campy Racing Triple is for people who want to think they are still fast, but realize their lifestyle will include occasionally towing a trailer with the road bike, possibly a child seat.  That small ring is known as the Granny Gear.  It's for those times, for people like me.  It's not for a commute to work, mind you.  It's for carrying heavy loads, for extreme circumstances.  Note that the photo does not show me using the granny.  That is, there is no actual evidence that I actually resorted to it today.  The shot below is merely circumstantial.





That says 41minutes, 51 seconds.  Granted, that included finding my lock in my stuffed bag and locking up, but with all the excuses I can muster, it is still sloooow.  I think of it this way, though . . . By car it takes 28 minutes.  That means I spent about 14 minutes this morning just doing something I enjoy.  Everyone should get 14 minutes a day to do something they enjoy.  And, I get another 14 minutes this evening on my way home.  I wish you the same.

Thursday, February 25, 2010

APEX Refresh Classic Report Region AJAX style

We often have the need to refresh a classic report region, AJAX style. It is straightforward to get a refresh link on the page. I used to just build a link using $a_report (the APEX built-in for doing partial page refresh on classic reports). But I have found it is better to create a javascript function in the region header or footer. This has the advantage that you can call it from a button on the page, or from any location on the page, not just from within the header or footer itself. If you put the following

<script type="text/javascript">
function c2RefreshTasks(){ 
  pId = '#REGION_ID#';   // report region id
  $a_report(pId.substring(1),'1','15');  // APEX built-in
  }
</script>

This allows me to put a link anywhere on the page

<a href="javascript:c2RefreshTasks();">refresh tasks</a>

I can also create a standard button anywhere on the page that calls this javascript.

I recently also had the need to pop a new window (child), add a task in that child window, close the child and then refresh the task region in parent window. It turned out to be easy...

Just create the APEX child window that does the insert/update.&nbsp; Have it branch to a page (e.g. P99). On P99, put the following in the HTML header

<script type="text/javascript">
 // important to have the try because the parent window might have changed...
{ try {
  window.opener.c2RefreshTasks();
  }
  catch(err) {
  window.close(); 
  }
}
  window.close();
</script>