<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8449039</id><updated>2012-01-27T06:55:55.503-05:00</updated><title type='text'>Scott Spendolini's Blog</title><subtitle type='html'>Some random thoughts about starting &amp;amp; running a small business, Oracle Application Express, anything IT-related and whatever else is on my mind...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default?start-index=101&amp;max-results=100'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>182</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8449039.post-4063707466640440543</id><published>2011-10-19T15:00:00.001-04:00</published><updated>2011-10-19T15:00:56.503-04:00</updated><title type='text'>To V or not to V...</title><content type='html'>Earlier today, I tweeted the following:&lt;strong&gt;&lt;pre&gt;After this morning, I don't think I will &lt;br /&gt;ever use the "v" function again. #orclapex&lt;br /&gt;&lt;/strong&gt;&lt;/pre&gt;I wanted to qualify what I meant by that, since sometimes you only see one side of the conversation on Twitter.  Also, it's been a while since my last post, so this give me the opportunity to remedy that as well.The APEX "v" function works, and works quite well.  For those who have not used it, the "v" function is an APEX-specific function that when you pass an APEX item to it, it will return the value of that item for a specific user session.  What's cool about it is that it also works from named PL/SQL program units, as long as they were initiated from an APEX session.Thus, you can write a PL/SQL package that takes in few, if any parameters and still can refer to items that are set in the APEX session state via the "v" function:&lt;pre&gt;&lt;strong&gt;PROCEDURE foo&lt;br /&gt;IS&lt;br /&gt;  l_customer_name   VARCHAR2(255) := v('P1_CUSTOMER_NAME');&lt;br /&gt;BEGIN&lt;br /&gt;...&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;/strong&gt;&lt;/pre&gt;The specific issue that I had was that I did used the "v" function in quite a few places across a suite of PL/SQL packages.  It cut down on what I needed to pass from package to package, and even allowed me to omit some procedures from the package specification.  It worked magnificently.  That is, until I tried to call one of the packages from SQL*Plus.Since there is no APEX session context set in SQL*Plus - and even if there was, which you can do, the items that I required to be set would not be - my package failed spectacularly.  Thus, I had to go back through several packages and retro-fit them to be APEX-agnostic and remove all traces of the "v" function in favor of parameters.The lesson to learn from this is simple: take some time to consider whether or not you think a block of code will ever be called from outside of APEX.  Even if there is a remote chance that it will, it may pay off big time later if you choose to make that code APEX-agnostic and rely on parameters instead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4063707466640440543?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4063707466640440543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4063707466640440543' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4063707466640440543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4063707466640440543'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2011/10/to-v-or-not-to-v.html' title='To V or not to V...'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-9050948793335691112</id><published>2011-06-22T16:31:00.002-04:00</published><updated>2011-06-22T16:33:17.655-04:00</updated><title type='text'>Where Did You Go?</title><content type='html'>Not only is the title of this post a great song by one of my all time favorite bands (extra credit if you can name them w/out using Google) but is a question that some of you have been wondering...&lt;br /&gt;&lt;br /&gt;Most of my time the past few months has been spent on designing &amp;amp; developing sumnevaSERT - a security evaluation tool built in APEX for APEX.  sumnevaSERT is the result of working with many customers over the past few years and realizing that they spent very little time reviewing the security of their APEX applications.  They all had the same exact reason for neglecting them: no time.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;sumnevaSERT makes it blindingly simple to evaluate an APEX application for a number of potential security flaws.  It slices through the APEX metadata and produces a single score based on what it finds.  You can then drill into any of the categories to see details and advice on how to fix what it finds.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Despite releasing it today, we've already got a list of exciting new features and enhancements - many of which will make it even easier and faster to secure your applications.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Check out the sumnevaSERT page on our website: &lt;a href="http://sumneva.com/sert"&gt;http://sumneva.com/sert&lt;/a&gt; - or, if you're interested in a free trial, drop us a line at &lt;a href="mailto:info@sumneva.com"&gt;info@sumneva.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-9050948793335691112?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/9050948793335691112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=9050948793335691112' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/9050948793335691112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/9050948793335691112'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2011/06/where-did-you-go.html' title='Where Did You Go?'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7742212218647436251</id><published>2010-10-27T08:57:00.001-04:00</published><updated>2010-10-27T08:57:00.685-04:00</updated><title type='text'>ODTUG Webinar: APEX Team Development &amp; Agile PM</title><content type='html'>&lt;p&gt;Patrick Cimolini will be conducting a FREE webinar on Tuesday, November 16th at 3:00PM EST entitled "APEX Team Development and Agile Project Management" sponsored by ODTUG.&lt;/p&gt;&lt;p&gt;Here's the abstract for the session:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;The release of Oracle Application Express (APEX) version 4.0 has brought the product to a high level of maturity. This maturity is clearly demonstrated by the addition of the Team Development module. Team Development captures features, to dos, milestones, and bugs. Feedback from all hands-on stakeholders (including end users) is captured by the Feedback feature that can be installed declaratively in one or two minutes. This Webinar briefly describes Team Development and shows how it can be configured to work successfully with an Agile Project Management methodology.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;If you haven't seen Patrick present at ODTUG before, then you can't miss this!  His knowledge of APEX is only surpassed by the wisdom that he has about project management in general.&lt;/p&gt;&lt;p&gt;You can sign up for it &lt;a href="https://www2.gotomeeting.com/register/307594794"&gt;here&lt;/a&gt; and remember - there is no charge for this session!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7742212218647436251?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7742212218647436251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7742212218647436251' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7742212218647436251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7742212218647436251'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/10/odtug-webinar-apex-team-development.html' title='ODTUG Webinar: APEX Team Development &amp;amp; Agile PM'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3791787298412051482</id><published>2010-10-25T20:16:00.001-04:00</published><updated>2010-10-25T20:16:47.503-04:00</updated><title type='text'>New Oracle APEX Hashtag: #orclapex</title><content type='html'>&lt;p&gt;I saw a Twittersation - or however you say Twitter + Conversation - between &lt;a href="http://www.talkapex.com/"&gt;Martin D'Souza&lt;/a&gt; &amp;amp; &lt;a href="http://www.danielmcghan.us/"&gt;Dan Mcghan&lt;/a&gt; about a potential new hashtag for Oracle APEX. This, in my opinion, has been a long time coming, since #apex will bring back anything from Oracle APEX to the upcoming APEX show in Las Vegas to Apex, NC to even a tattoo shop.&lt;/p&gt;&lt;p&gt;Martin suggested #orapex, which could likely get spelled #oraapex or #orapex, and thus added to the confusion.  Dan then chimed in with #oralcle_apex, which I thought was a spot long and replied with #orclapex.&lt;/p&gt;&lt;p&gt;I guess I won, because in the time it took to get my kids to bed, there was a &lt;a href="http://www.talkapex.com/2010/10/apex-hash-tag-on-twitter-orclapex.html"&gt;blog post&lt;/a&gt; as well as &lt;a href="http://twitter.com/mike_odtug"&gt;other Tweets&lt;/a&gt;in in multiple language, thus further justifying its logic!  And if it's on the Internet in not just one, but TWO places, then is HAS to be true!&lt;/p&gt;&lt;p&gt;Thus, while the iron is hot, might I be so bold to propose a new hashtag for Oracle Aces: #orclace.  The current one - #aced - pulls back more high school kids proclaiming victory over a challenging history test than it does Oracle-related content.&lt;/p&gt;&lt;p&gt;Thus, with these two new, sleek, streamlined hashtags, it would be possible to tag an APEX tweet with both #orclapex and #orclace and actually have over 120 characters left for actual content.&lt;/p&gt;&lt;p&gt;Thoughts?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3791787298412051482?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3791787298412051482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3791787298412051482' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3791787298412051482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3791787298412051482'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/10/new-oracle-apex-hashtag-orclapex.html' title='New Oracle APEX Hashtag: #orclapex'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8485950302548354662</id><published>2010-10-19T09:21:00.001-04:00</published><updated>2010-10-19T09:21:56.652-04:00</updated><title type='text'>APEXposed 2010 Dallas Discounts</title><content type='html'>&lt;p&gt;The APEXposed conferences are almost here!  Brussels will kick off first on October 28th and Dallas will follow shortly after that on November 10th &amp;amp; 11th.&lt;/p&gt;&lt;p&gt;If you're on the fence about attending, then perhaps this will push you over:  If you sign up with the code APEX, you will get $150 off of the registration fee!  And one of the first ten people to use the code APEX will get a completely free registration!&lt;/p&gt;&lt;p&gt;That's only $450 for ODTUG members and $500 for non-members.  Remember - not only will you get to see some of the top APEX experts in the industry, but you can also attend any session in the PL/SQL track - all for one price!  Hope to see you there.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8485950302548354662?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8485950302548354662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8485950302548354662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8485950302548354662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8485950302548354662'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/10/apexposed-2010-dallas-discounts.html' title='APEXposed 2010 Dallas Discounts'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7865937461866511792</id><published>2010-10-15T20:04:00.001-04:00</published><updated>2010-10-15T20:04:58.982-04:00</updated><title type='text'>Comment Moderation Enabled</title><content type='html'>&lt;p&gt;Hate to do this, but I have to turn on comment moderation.  Too many spammers out there, trying to convince me that my blog is the best blog in the world!&lt;/p&gt;&lt;p&gt;I'll still approve anything that's legitimate; just want to see if I can get a handle on the noise...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7865937461866511792?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7865937461866511792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7865937461866511792' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7865937461866511792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7865937461866511792'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/10/comment-moderation-enabled.html' title='Comment Moderation Enabled'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-5303560903923313425</id><published>2010-10-15T19:56:00.001-04:00</published><updated>2010-10-15T19:56:25.088-04:00</updated><title type='text'>An Oracle Hat-trick!</title><content type='html'>&lt;p&gt;I'm sure that &lt;a href="http://krisrice.blogspot.com/"&gt;Kris Rice&lt;/a&gt; will appreciate the Hockey analogy, as his team has brought not one, not two - but THREE EA releases to market this week with the addition of the APEX Listener EA that was &lt;a href="http://www.oracle.com/technetwork/developer-tools/apex-listener/ea1-download-listener-177114.html"&gt;just announced&lt;/a&gt;!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-5303560903923313425?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/5303560903923313425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=5303560903923313425' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5303560903923313425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5303560903923313425'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/10/oracle-hat-trick.html' title='An Oracle Hat-trick!'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4417367488375629416</id><published>2010-10-14T16:34:00.001-04:00</published><updated>2010-10-14T16:34:00.623-04:00</updated><title type='text'>SQL Developer 3.0 EA Released</title><content type='html'>&lt;p&gt;On the heels of the Oracle Data Modeler tool, SQL Developer 3.0 EA 1 was just released to the wild.  There's quite a number of new and/or enhanced features - most of which seem to be quite useful.  A complete list of the new features can be found &lt;a href="http://www.oracle.com/technetwork/developer-tools/sql-developer/rel3-featurelist-ea1-166831.html"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;My favorite thing so far?  It uses a fixed-width font in the data grids. It's the little things...&lt;/p&gt;&lt;p&gt;However - a feature that is noticeably absent is the ability to automatically apply the APEX refactoring results.  It would be nice if that after it generated the corresponding packages, it could replace all of the PL/SQL with the stubs to call each procedure.  That would make refactoring truly useful, especially in environments with a lot of APEX applications that need to be better managed.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4417367488375629416?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4417367488375629416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4417367488375629416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4417367488375629416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4417367488375629416'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/10/sql-developer-30-ea-released.html' title='SQL Developer 3.0 EA Released'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8973997043290234834</id><published>2010-10-11T14:01:00.001-04:00</published><updated>2010-10-11T14:01:10.052-04:00</updated><title type='text'>SQL Developer Data Modeler 3.0 EA</title><content type='html'>&lt;p&gt;Oracle just announced the Early Adopter release of SQL Developer Data Modeler.  You can download it from here: ﻿&lt;a href="http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html"&gt;http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;In case you missed it, Oracle is now offering SQL Developer Data Modeler for free, which is a tremendous savings from the original price tag and great for the database developer community.&lt;/p&gt;&lt;p&gt;As an added bonus, this release actually comes with an actual icon that when double-clicked, launches the application.  A far cry from having to hand-code your own script. :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8973997043290234834?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8973997043290234834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8973997043290234834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8973997043290234834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8973997043290234834'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/10/sql-developer-data-modeler-30-ea.html' title='SQL Developer Data Modeler 3.0 EA'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-9044942112387731163</id><published>2010-09-17T21:16:00.001-04:00</published><updated>2010-09-17T21:16:59.143-04:00</updated><title type='text'>Ready for OpenWorld 2010</title><content type='html'>&lt;p&gt;I can't believe that another year has gone by already!  It's time to head out to San Francisco and spend a week with 40,000 other Oracle developers, DBA, managers, vendors and all of the people who work hard behind the scenes to make it all happen!&lt;/p&gt;&lt;p&gt;All of the Sumneva folks will be busy this year, too, as we have quite an aggressive presentation schedule.  You can &lt;a href="http://www.sumneva.com/apex/f?p=15000:410:0::NO::TRACKBACK:see_sumneva_at_oracle_open_world_2010"&gt;have a look at it here&lt;/a&gt; - we did update some of the Unconference times &amp;amp; locations.&lt;/p&gt;&lt;p&gt;From the sounds of all of the &lt;a href="http://twitter.com/#search?q=%23aced"&gt;Oracle Ace Directors&lt;/a&gt;, it seems like there will be many interesting announcements over the next few days.&lt;/p&gt;&lt;p&gt;And if you will be in San Francisco, don't forget about the &lt;a href="http://dgielis.blogspot.com/2010/09/apex-meetup-oow-2010.html"&gt;APEX meetup&lt;/a&gt; on Tuesday evening.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-9044942112387731163?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/9044942112387731163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=9044942112387731163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/9044942112387731163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/9044942112387731163'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/09/ready-for-openworld-2010.html' title='Ready for OpenWorld 2010'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-2226815693203874984</id><published>2010-09-13T21:37:00.001-04:00</published><updated>2010-09-13T21:37:27.095-04:00</updated><title type='text'>A Better Method</title><content type='html'>&lt;p&gt;Just posted a new Tip over on &lt;a href="http://www.sumneva.com/apex/f?p=15000:1310:0::NO::P1310_TIP_ID:361"&gt;sumneva.com&lt;/a&gt; that deals with quickly creating a package that can manage all DML transactions against a table or tables.&lt;/p&gt;&lt;p&gt;I came across this feature in the days of APEX 4.0 EA1.  I immediately thought that it was a new APEX 4.0 feature - until I checked 3.2, and it was there too.  Basically, this allows you to easily create a table API which can be used to replace the built-in APEX DML processes.&lt;/p&gt;&lt;p&gt;Why would you do this?&lt;/p&gt;&lt;p&gt;If you wanted to create a more secure architecture, you may want to have a tableless schema - thus, the built in processes will do you little good.  This API can live in a separate schema, and facilitate all DML calls used to manage your data.&lt;/p&gt;&lt;p&gt;Since it's in a PL/SQL package, you can easily add additional security or data integrity checks before performing any of the DML transactions - another major reason to consider this approach.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-2226815693203874984?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/2226815693203874984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=2226815693203874984' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2226815693203874984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2226815693203874984'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/09/better-method.html' title='A Better Method'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3849733790778381004</id><published>2010-09-07T07:53:00.001-04:00</published><updated>2010-09-07T07:53:27.774-04:00</updated><title type='text'>Software. Hardware. Complete.</title><content type='html'>&lt;p&gt;Looks like Mark Hurd's unemployment stint is coming to a close, as it was announced that he would be joining Oracle this past weekend.  He will be replacing Charles Philips, who has since resigned his position.  It seems that Phillips had been looking to &lt;a href="http://www.nydailynews.com/money/2010/09/07/2010-09-07_exhp_ceo_mark_hurd_named_copresident_of_oracle_previous_copresident_charles_phil.html"&gt;leave for some time&lt;/a&gt;, but had decided to stay through the Sun acquisition.&lt;/p&gt;&lt;p&gt;Sure, there was a lot of controversy surrounding his departure, but even HP itself concluded that it could find no hard evidence of wrongdoing.  And as for the falsified expense reports, I think that Larry Ellison summed it up quite simply when he said that no CEO fills out his own expense reports, so if there was fraud, it was done by someone else.&lt;/p&gt;&lt;p&gt;All issues aside, this move seems to put Oracle on a path to go squarely after IBM, as no doubt that Hurd won't be the last ex-HP employee making the switch to Oracle in the next few months.   Hurd's experience in hardware is something that Oracle needed in order to parlay the Sun hardware acquired in the merger.  As with all things Larry, it will be interesting to see how this - as well as the Java lawsuit, which has been strangely quiet - play out over the coming weeks.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3849733790778381004?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3849733790778381004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3849733790778381004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3849733790778381004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3849733790778381004'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/09/software-hardware-complete.html' title='Software. Hardware. Complete.'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-515701252746466161</id><published>2010-08-31T08:31:00.001-04:00</published><updated>2010-08-31T08:31:26.848-04:00</updated><title type='text'>Anonymous Pro</title><content type='html'>&lt;p&gt;Anonymous Pro is a fixed-width font developed specifically for developers by &lt;a href="http://www.ms-studio.com/FontSales/anonymouspro.html"&gt;Mark Simonson&lt;/a&gt;. ﻿Best of all - it's free under the &lt;a href="http://scripts.sil.org/OFL"&gt;Open Font License&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;From it's home page:  &lt;em&gt;"Characters that could be mistaken for one another (O, 0, I, l, 1, etc.) have distinct shapes to make them easier to tell apart in the context of source code."&lt;/em&gt;&lt;/p&gt;&lt;p&gt;I installed it on my Mac and set SQL Developer's default font to it, and the text is a little crisper than Courier, my previous default.&lt;/p&gt;&lt;p&gt;Anyone else have a favorite "coding" font?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-515701252746466161?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/515701252746466161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=515701252746466161' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/515701252746466161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/515701252746466161'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/08/anonymous-pro.html' title='Anonymous Pro'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4749340568874239373</id><published>2010-08-25T07:48:00.000-04:00</published><updated>2010-08-25T07:48:43.202-04:00</updated><title type='text'>Standard Screen Design Patterns</title><content type='html'>Very cool &lt;a href="http://designingwebinterfaces.com/designing-web-interfaces-12-screen-patterns"&gt;article&lt;/a&gt;, outlining some common &amp;amp; simple screen design patterns - for both web and desktop applications. &amp;nbsp;Be sure to check out the &lt;a href="http://designingwebinterfaces.com/designingwebinterfaces.com/ria-screen-layouts"&gt;2010 Update&lt;/a&gt; as well.&lt;br /&gt;&lt;br /&gt;I always tell students in our training classes that they should not try to re-invent the design patterns used in most applications - especially since they are database developers and not graphic designers. &amp;nbsp;Users have come to expect specific things to be in specific places - login/logout in the upper left/right, a site map of sorts at the bottom of each page, tabs for navigation, etc. &amp;nbsp;Deviating from that expectation will likely create more confusion than anything else, and should be avoided at all costs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4749340568874239373?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4749340568874239373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4749340568874239373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4749340568874239373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4749340568874239373'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/08/standard-screen-design-patterns.html' title='Standard Screen Design Patterns'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-1163209050043639707</id><published>2010-08-24T17:31:00.001-04:00</published><updated>2010-08-24T17:31:46.276-04:00</updated><title type='text'>OOW Advice</title><content type='html'>&lt;p&gt;&lt;a href="http://www.thatjeffsmith.com/"&gt;Jeff Smith&lt;/a&gt; offers up &lt;a href="http://www.thatjeffsmith.com/archive/2010/08/advice-for-oracle-open-world-attendees/"&gt;some excellent advice&lt;/a&gt; for those traveling to OOW 2010.&lt;/p&gt;&lt;p&gt;As a more-than-I-can-count-time attendee of OOW, here's a few additions to his list:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Don't eat dinner anywhere near Moscone.  &lt;br /&gt;&lt;/strong&gt;Sure, it's easy, especially after a long day or sessions, but most of San Francisco's best restaurants are not adjacent to Moscone.  Head to North Beach or the Marina instead.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Attend a session or sessions on something that you have never heard of. &lt;br /&gt;&lt;/strong&gt;You don't know what you don't know...&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Talk to strangers.&lt;/strong&gt;&lt;br /&gt;As Jeff said, this is one of the best places to network.  If you don't talk, then you may as well catch the sessions online.  No where else will there be as many people with similar technical interests than OOW.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Don't jaywalk.  Seriously.&lt;/strong&gt;&lt;br /&gt;The SFPD was giving out jaywalking tickets around Moscone the last couple of years, and I know a couple people who were "lucky" enough to get them.  Not fun.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Come early or leave late.  &lt;br /&gt;&lt;/strong&gt;Take a day to explore not just San Francisco, but the surrounding area.  Often, airlines will give you a better rate if you have a Saturday night stay included in your ticket.  See if your company travel policy allows for reimbursing your hotel Saturday night if you can get a fare that makes the overall cost of the trip less.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Download TripAdvisor or Yelp to your smartphone.&lt;/strong&gt;&lt;br /&gt;Either of these sites offer decent opinions of local restaurants and the like, and it's handy to have when you get a recommendation from a concierge.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Visit the Union Square Hyatt's Grandviews Lounge&lt;br /&gt;&lt;/strong&gt;For a drink, dinner of only for the view.  Try to get there around sunset - you won't be disappointed!&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-1163209050043639707?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/1163209050043639707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=1163209050043639707' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1163209050043639707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1163209050043639707'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/08/oow-advice.html' title='OOW Advice'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3572751921076011123</id><published>2010-08-24T08:39:00.001-04:00</published><updated>2010-08-24T08:39:32.131-04:00</updated><title type='text'>Less is More</title><content type='html'>&lt;p&gt;Spent a few minutes yesterday building my schedule for OOW.  Lots of sessions, and unfortunately, some of the good ones are already booked.  That didn't matter, as there were plenty more to choose from.&lt;/p&gt;&lt;p&gt;There's not a whole lot of APEX sessions this year - or at least ones that I have not already seen.  Thus, I'm going to focus more on other database technologies, such as security &amp;amp; performance.  Lots of sessions under that category.&lt;/p&gt;&lt;p&gt;My only gripe is that the Schedule Builder UI needs a major overhaul.  First off, you need a 30" monitor just to view all of the content on one screen - especially when you have the Advanced Search option enabled.   Also, I kept getting a "Search Timeout" error when I tried to search for sessions.  The only way to resolve this is to log out and log back in again.  Such basic functionality for a database conference should NEVER break, at least in my opinion...&lt;/p&gt;&lt;p&gt;The Schedule Builder also tries to use a lot of Ajax-type controls; lots of popup boxes and asynchronous stuff going on.  Maybe it works better in IE, but in Safari, it's a bit clunky.&lt;/p&gt;&lt;p&gt;This is part of the danger of using jQuery or similar Ajax-based technologies - without thorough testing on multiple browsers, the user experience may vary greatly.  This can often be mitigated when building applications that are used internally, as most organizations can lock down which browsers are allowed.  However, this is obviously not the case on the public Internet.&lt;/p&gt;&lt;p&gt;While the Advanced Search is more sophisticated and allows you to search by day, for instance, there is no Google-like interface to search all fields for a specific string.  There are two text fields - Speaker/Company &amp;amp; Free Text - that each search different parts of the content.  But if you're searching for a string, the system will AND these two fields together, producing a different set of results than you may expect.&lt;/p&gt;&lt;p&gt;It seems like too much attention was paid to adding features vs. thinking of a logical design for this site.  Some common things - such as the aforementioned Google-like search, a weekly view of the agenda, and a map of where each session takes place - all seem to be left out.&lt;/p&gt;&lt;p&gt;Hopefully this tool will be enhanced for future events and be made simpler and better at the same time.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3572751921076011123?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3572751921076011123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3572751921076011123' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3572751921076011123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3572751921076011123'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/08/less-is-more.html' title='Less is More'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-5317364575112804348</id><published>2010-08-15T08:31:00.000-04:00</published><updated>2010-08-15T08:31:53.159-04:00</updated><title type='text'>apex.oracle.com Upgraded to 4.0.1</title><content type='html'>As per &lt;a href="http://www.inside-oracle-apex.com/"&gt;Patrick Wolf&lt;/a&gt;, apex.oracle.com has been upgraded to 4.0.1, fixing all of the known issues listed &lt;a href="http://www.oracle.com/technetwork/developer-tools/apex/40-known-issues-159870.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Thus, we can conclude that it won't be long before the 4.0.1 patchset is available to the general public.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-5317364575112804348?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/5317364575112804348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=5317364575112804348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5317364575112804348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5317364575112804348'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/08/apexoraclecom-upgraded-to-401.html' title='apex.oracle.com Upgraded to 4.0.1'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7862792649898472692</id><published>2010-08-14T10:24:00.000-04:00</published><updated>2010-08-14T10:24:18.963-04:00</updated><title type='text'>Programmatically Reset Interactive Reports</title><content type='html'>This one may be review - and is definitely not a new feature of APEX 4.0 - but it's something that I just stumbled upon. &amp;nbsp;If you pass in "RIR" to the Clear Cache parameter of an APEX page that contains an Interactive Report, it will programmatically reset the Interactive Report on that page - the same way as if the user selected the Reset option from the IR's menu.&lt;br /&gt;&lt;br /&gt;Best of all, you can pass both a page and the RIR directive simply by separating them with a comma. &amp;nbsp;For example, to clear the cache and reset the Interactive Report on page 10, you would pass &lt;b&gt;10,RIR&lt;/b&gt; to the clear cache parameter.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7862792649898472692?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7862792649898472692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7862792649898472692' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7862792649898472692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7862792649898472692'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/08/programmatically-reset-interactive.html' title='Programmatically Reset Interactive Reports'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4336669304901526807</id><published>2010-08-14T09:24:00.000-04:00</published><updated>2010-08-14T09:24:56.379-04:00</updated><title type='text'>How APEX Parses SQL</title><content type='html'>&lt;a href="http://joelkallman.blogspot.com/"&gt;Joel Kallman&lt;/a&gt; from the APEX development team has another &lt;a href="http://joelkallman.blogspot.com/2010/08/application-express-and-parsing-of-sql.html"&gt;clearly written &amp;amp; concise article&lt;/a&gt; giving us a look at the inner-workings of APEX - specifically how it uses DBMS_SYS_SQL to parse as any schema.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4336669304901526807?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4336669304901526807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4336669304901526807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4336669304901526807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4336669304901526807'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/08/how-apex-parses-sql.html' title='How APEX Parses SQL'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-1150119729586882175</id><published>2010-08-13T10:37:00.000-04:00</published><updated>2010-08-13T10:37:10.790-04:00</updated><title type='text'>APEX Discussed on Reddit</title><content type='html'>&lt;div&gt;&lt;a href="http://www.reddit.com/r/programming/comments/d0l9j/oracle_sues_google_over_android_and_java/"&gt;This thread&lt;/a&gt;&amp;nbsp;(language NSFW) on Reddit discusses Oracle's decision to sue Google - and APEX gets some discussion about 2-3 pages down!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unfortunately, most of the comments are just plain wrong. &amp;nbsp;I understand that people are entitled to their opinions, but when things are misstated, that's another issue entirely. &amp;nbsp;I think this is proof that most developers - Oracle and non-Oracle - simply don't know what APEX is and what it can &amp;amp; can't do.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-1150119729586882175?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/1150119729586882175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=1150119729586882175' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1150119729586882175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1150119729586882175'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/08/apex-discussed-on-reddit.html' title='APEX Discussed on Reddit'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3617657313462978170</id><published>2010-08-12T22:07:00.001-04:00</published><updated>2010-08-12T22:07:46.685-04:00</updated><title type='text'>Oracle Sues Google</title><content type='html'>This one should be all over the news by tomorrow AM:  &lt;a href="http://Oracle sues Google for patent, copyright infringement"&gt;Oracle Sues Google Over Java in Android&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Not a lot of details about the specifics, but it should be interesting to see how it all plays out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3617657313462978170?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3617657313462978170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3617657313462978170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3617657313462978170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3617657313462978170'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/08/oracle-sues-google.html' title='Oracle Sues Google'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3173237085132177674</id><published>2010-08-12T22:01:00.000-04:00</published><updated>2010-08-12T22:01:57.326-04:00</updated><title type='text'>Safari Extensions</title><content type='html'>For all of you Mac users out there, have a look at &lt;a href="http://extensions.apple.com/"&gt;Safari Extensions&lt;/a&gt;. &amp;nbsp;I initially thought that these would be akin to Firefox Add-Ons. &amp;nbsp;However, they are a lot less and more at the same time. &amp;nbsp;Translation: they add bits &amp;amp; pieces of functionality that make your browsing experience better.&lt;br /&gt;&lt;br /&gt;I started with the &lt;a href="http://mariusth.channelwood.org/SafariExtensions/#GoogleReaderSnowLeopard"&gt;Google Reader extension&lt;/a&gt;. &amp;nbsp;Google does a lot of things well - UI, however, has not traditionally been one of them. &amp;nbsp;Apple is great at UI, but has no RSS reader aside from Mail - which doesn't sync with Google Reader. &amp;nbsp;The Google Reader extension marries the best of both worlds and provides an Apple-like UI right on top of Google Reader.&lt;br /&gt;&lt;br /&gt;What was confusing to me at first was how to use this extension. &amp;nbsp;I struggled to look for a toolbar or menu entry. &amp;nbsp;Finally, I just navigated to reader.google.com, and there it was - a stunning new interface on top of Google's excellent RSS reader site.&lt;br /&gt;&lt;br /&gt;Here's the before image:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_PanxfbnN6iA/TGSnSeML_II/AAAAAAAAAHQ/JqZjW6jJgXI/s1600/FirefoxScreenSnapz001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="237" src="http://2.bp.blogspot.com/_PanxfbnN6iA/TGSnSeML_II/AAAAAAAAAHQ/JqZjW6jJgXI/s320/FirefoxScreenSnapz001.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;And the after:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_PanxfbnN6iA/TGSnWV_XvcI/AAAAAAAAAHU/f_kVDoWUOx4/s1600/SafariScreenSnapz001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="262" src="http://3.bp.blogspot.com/_PanxfbnN6iA/TGSnWV_XvcI/AAAAAAAAAHU/f_kVDoWUOx4/s320/SafariScreenSnapz001.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It's not a dramatic difference, but enough to add some style to an otherwise excellent RSS reader.&lt;br /&gt;&lt;br /&gt;Anyone else have any must-have Safari extensions? &amp;nbsp;Please share them in the comments!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3173237085132177674?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3173237085132177674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3173237085132177674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3173237085132177674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3173237085132177674'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/08/safari-extensions.html' title='Safari Extensions'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_PanxfbnN6iA/TGSnSeML_II/AAAAAAAAAHQ/JqZjW6jJgXI/s72-c/FirefoxScreenSnapz001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4915818872321720084</id><published>2010-03-23T10:52:00.002-04:00</published><updated>2010-03-23T11:02:15.678-04:00</updated><title type='text'>Scott Spadafore</title><content type='html'>The Oracle community lost a good friend &amp;amp; colleague this past weekend.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Scott Spadafore was one of the most intelligent developers that I have ever met.  I had the pleasure of working with him on the APEX team during my tenure at Oracle.  His thoroughness and ability to see a problem from all angles was simply amazing.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He also liked to help people.  A lot.  Scott had 16,582 posts on the OTN Forum.  That's one post a day EVERY day for almost 45 1/2 years.  I'll say it again: 1 post a day for almost 45 1/2 years.  Simply amazing!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was often confused with Scott, only because the first 7 letters of our full names are the same.  I'd always joke with him about how many e-mails that I'd have to forward to him, as someone thought that I was the one who helped them on the OTN Forums.  He'd joke back that he never had to return the favor.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Scott will be missed dearly, and my thoughts are with his friend &amp;amp; family during this difficult time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In an effort to consolidate comments, please post them on Joel Kallman's blog entry about Scott, which can be found here: http://joelkallman.blogspot.com/2010/03/scott-spadafore.html&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4915818872321720084?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4915818872321720084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4915818872321720084' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4915818872321720084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4915818872321720084'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/03/scott-spadafore.html' title='Scott Spadafore'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-5088322357259641942</id><published>2010-03-08T10:34:00.000-05:00</published><updated>2010-03-08T10:34:08.770-05:00</updated><title type='text'>My Interview with Mike Riley</title><content type='html'>Recently, I sat down with ODTUG President Mike Riley and answered a few questions about the upcoming &lt;a href="http://odtugkaleidoscope.com/"&gt;ODTUG Kaleidoscope&lt;/a&gt; Conference which will be held in Washington, DC this year. &amp;nbsp;(OK, we didn't actually sit down together, but I answered his questions nevertheless!)&lt;br /&gt;&lt;br /&gt;Have a look at my interview &lt;a href="http://odtug.wordpress.com/2010/03/08/scott-spendolini-odtug-kaleidoscope-and-washington-dc/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-5088322357259641942?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/5088322357259641942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=5088322357259641942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5088322357259641942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5088322357259641942'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/03/my-interview-with-mike-riley.html' title='My Interview with Mike Riley'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4249745045077769795</id><published>2010-03-01T14:49:00.000-05:00</published><updated>2010-03-01T14:49:01.171-05:00</updated><title type='text'>Get a Suite Deal at ODTUG</title><content type='html'>As Dimitri &lt;a href="http://dgielis.blogspot.com/2010/02/get-me-suite-at-odtug.html"&gt;mentioned&lt;/a&gt;, one way to get a Suite at this year's ODTUG is to mention his (or my) name when you register. &amp;nbsp;Now, there's another way: &amp;nbsp;just create a 3-minute video on "&lt;b&gt;Why You Need to Attend ODTUG Kaleidoscope 2010&lt;/b&gt;".&lt;br /&gt;&lt;br /&gt;Here's the details via the folks at ODTUG:&lt;br /&gt;&lt;br /&gt;Make it funny…or Make it musical…or Make it informational…or Make it Rhyme…or…???. Use your imagination to create the catchiest video possible. Make sure to include the&amp;nbsp;ODTUG Kaleidoscope logo.&lt;br /&gt;&lt;div class="MsoNormal" style="margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 0in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 0in;"&gt;To submit your video for consideration, send an &lt;a href="mailto:crystal@odtug.com"&gt;e-mail to ODTUG&lt;/a&gt; with your&amp;nbsp;name and YouTube video link.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 0pt; margin-left: 0in; margin-right: 0in; margin-top: 0in;"&gt;&lt;i&gt;Video Contest Guidelines: Video must be three minutes or less, contain no inappropriate content, and be posted publicly to YouTube by March 31, midnight&lt;span class="473545918-01032010"&gt;&amp;nbsp;&lt;/span&gt;EST. All videos must remain in public domain until after July 1&lt;sup&gt;st&lt;/sup&gt;, 2010.&amp;nbsp; The winning video will be selected from among all the entries.&amp;nbsp; The judges’ decision will be final.&amp;nbsp; Judges may include members of the ODTUG Kaleidoscope Conference Committee and others.&amp;nbsp; Winner will be notified by April 2&lt;sup&gt;nd&lt;/sup&gt;, 2010. Winner will have the choice of a complimentary non-transferable registration&amp;nbsp;&lt;span class="473545918-01032010"&gt;to ODTUG Kaleidoscope 2010&amp;nbsp;&lt;/span&gt;or a suite upgrade at the&lt;st1:place w:st="on"&gt;&lt;st1:placename w:st="on"&gt;Marriott&lt;/st1:placename&gt;&amp;nbsp;&lt;st1:placename w:st="on"&gt;Wardman&lt;/st1:placename&gt;&amp;nbsp;&lt;st1:placetype w:st="on"&gt;Park&lt;/st1:placetype&gt;&lt;/st1:place&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4249745045077769795?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4249745045077769795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4249745045077769795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4249745045077769795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4249745045077769795'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/03/get-suite-deal-at-odtug.html' title='Get a Suite Deal at ODTUG'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7973776501855994273</id><published>2010-02-15T08:17:00.004-05:00</published><updated>2010-02-15T08:22:25.947-05:00</updated><title type='text'>RMOUG &amp; MAOP 2010</title><content type='html'>&lt;div&gt;Talk about a busy week ahead...  I'm about to head to the airport and hop a flight to Denver, CO, where I will be presenting &lt;i&gt;Troubleshooting Oracle APEX&lt;/i&gt; at the &lt;a href="http://rmoug.org/"&gt;RMOUG 2010 Training Days&lt;/a&gt;.  If you're in the Denver area, it's not too late to register, but you have to do it on-site at the Colorado Convention Center.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Later this week on Friday, I will be presenting at &lt;a href="http://www.maop.org/"&gt;MAOP 2010&lt;/a&gt;, which will be held in the Oracle Reston office.  There, I will be presenting a shorter version of &lt;i&gt;Troubleshooting Oracle APEX&lt;/i&gt; as well as &lt;i&gt;Extreme Makeover: APEX Edition&lt;/i&gt;.  MAOP only has a few slots left, so be sure to &lt;a href="http://www.maop.org/registration.html"&gt;register&lt;/a&gt; soon to reserve yours soon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Be sure to say hello if you're at either event.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7973776501855994273?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7973776501855994273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7973776501855994273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7973776501855994273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7973776501855994273'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/02/rmoug-maop-2010.html' title='RMOUG &amp; MAOP 2010'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-485852821352825670</id><published>2010-02-12T08:05:00.001-05:00</published><updated>2010-02-17T19:24:30.881-05:00</updated><title type='text'>Uploading XLS Files with APEX Listener EA2</title><content type='html'>Kris Rice just &lt;a href="http://krisrice.blogspot.com/2010/02/yet-another-apex-listener-ea.html?utm_source=feedburner&amp;amp;utm_medium=twitter&amp;amp;utm_campaign=Feed%3A+KrisBlog+%28Kris%27+blog%29"&gt;posted&lt;/a&gt; that the APEX Listener EA2 is available for &lt;a href="http://www.oracle.com/technology/products/database/application_express/html/apex_listener_download.html"&gt;download&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Quoting Kris on the new features:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;New /listenerAdmin with real-time statistics&lt;/li&gt;&lt;li&gt;Mechanism for logging DB Requests&lt;/li&gt;&lt;li&gt;Capability to upload .xls files into an APEX Collection&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The last of these features interests me the most, as we get that request all of the time. &amp;nbsp;The de facto solution is to save your Excel data as CSV, then upload that. &amp;nbsp;Not very elegant.&lt;br /&gt;&lt;br /&gt;So before even completing my first cup of coffee this morning, I decided to try it out.&lt;br /&gt;&lt;br /&gt;Downloading the new listener was as snap, as was re-deploying the .war file. &amp;nbsp;Took no time at all, and I was up and running.&lt;br /&gt;&lt;br /&gt;Next, I created a quick little application that simply had a File Browse item on the page and a button whose request value is set to 'XLS2COLLECTION', as per Kris's instructions. &amp;nbsp;I ran the application, located an XLS file, and clicked "Go". &amp;nbsp;Upon checking the session state for collections, the results were a little different than Kris outlined.&lt;br /&gt;&lt;br /&gt;The one potentially major flaw with how its currently implemented is that the item name - not ID - of the item is used for the collection name. &amp;nbsp;Since APEX sets the item's ID to be the same as the APEX item name that developers enter, this is inconsistent and will likely cause some confusion. &lt;br /&gt;&lt;br /&gt;One would expect that if I called the File Browse item "P1_XLS_FILE" that my collection name would also be called "P1_XLS_FILE". &amp;nbsp;This is not the case; &amp;nbsp;rather, the collection name is called "P_T01" - which if you look at the HTML source, is the item name associated with P1_XLS_FILE.&lt;br /&gt;&lt;br /&gt;If you add additional items to the page before P1_XLS_FILE, its name will change accordingly. &amp;nbsp;Simply adding a text field with a lower sequence number than P1_XLS_FILE in my test application caused the item name to change to P_T02.&lt;br /&gt;&lt;br /&gt;Hopefully, Oracle will address this and make it more consistent, so that we as developers can easily get the name of the collection that was just created.&lt;br /&gt;&lt;br /&gt;Despite this flaw, this is an amazing feature, which is likely to save a lot of people a lot of time.&lt;br /&gt;&lt;br /&gt;Just to be thorough, I also tested it with the newer XLSX format, and not surprisingly, it did not work. &amp;nbsp;Thus, be sure to save your XLS spreadsheets to the more commonly used XLS format before using this feature.&lt;br /&gt;&lt;br /&gt;You can download my test application &lt;a href="http://sumneva.com/stuff/apex_listener_ea2_xls_demo.zip"&gt;here&lt;/a&gt;. &amp;nbsp;Keep in mind that you'll also need to have the current APEX listener installed on your server for this to work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-485852821352825670?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/485852821352825670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=485852821352825670' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/485852821352825670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/485852821352825670'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/02/uploading-xls-files-with-apex-listener.html' title='Uploading XLS Files with APEX Listener EA2'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-5637706622193756324</id><published>2010-01-30T13:05:00.000-05:00</published><updated>2010-01-30T13:05:13.260-05:00</updated><title type='text'>Look, But Don't Touch</title><content type='html'>Joel Kallman had an &lt;a href="http://joelkallman.blogspot.com/2010/01/perils-of-modifying-application-express.html"&gt;interesting post&lt;/a&gt; about a customer who broke all of the rules and modified some constraints in the APEX_030200 schema. &amp;nbsp;In this case, there was a happy ending, as Joel went the extra mile to craft a custom patch to remedy the issue. &amp;nbsp;However, things don't always end up this way.&lt;br /&gt;&lt;br /&gt;This reminds me of my early days with Oracle, when I used to work with the eBusiness Suite. &amp;nbsp;The first page of any documentation of the suite said something like this: "WARNING: Do not use SQL*Plus to modify any database object directly". &amp;nbsp;We used to laugh at this, as we used SQL*Plus &amp;amp; TOAD to modify these database objects several times a day, if not more frequently. &lt;br /&gt;&lt;br /&gt;However, this was done on internal systems used to build demos. &amp;nbsp;If we messed something up - and boy did we ever - we could easily refresh the instance with little effort.&lt;br /&gt;&lt;br /&gt;Fast-forward a few years to today: &amp;nbsp;FND &amp;amp; APPLSYS have been replaced by a single, much smaller schema called APEX_030200. &amp;nbsp;Despite this, the same rules apply: &amp;nbsp;NEVER modify anything in the APEX_030200 schema. &amp;nbsp;Period. &amp;nbsp;I always make it a point to emphasize this as much as possible during our training classes.&lt;br /&gt;&lt;br /&gt;Now, if you MUST take a look at that schema - and many of you reading this will - please do it in a test environment that is not used for anything else. &amp;nbsp;This can easily be done by using VMWare or one of the many other virtual machine programs. &amp;nbsp;You can also do this in the Amazon Cloud. &amp;nbsp;It doesn't matter as much WHERE you set up a test instance, but rather that you DO set up a test instance, and then poke around there. &amp;nbsp;This way, nothing gets corrupted - now or in the future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-5637706622193756324?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/5637706622193756324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=5637706622193756324' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5637706622193756324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5637706622193756324'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/01/look-but-dont-touch.html' title='Look, But Don&apos;t Touch'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4616622017368896918</id><published>2010-01-27T14:42:00.001-05:00</published><updated>2010-01-30T13:39:29.993-05:00</updated><title type='text'>Introducing Sumneva</title><content type='html'>Early this morning (and well before the iPad), we launched a new company called &lt;a href="http://sumneva.com/"&gt;Sumneva&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Sumneva (sum-NEE-va) is the collaborative effort between Sumner Technologies and APEX Evangelists.  Since we were basically doing the same things in different parts of the world, we unanimously agreed that we would be able to cover more ground together.  Thus, Sumneva was formed!&lt;br /&gt;&lt;br /&gt;We have a lot of exciting plans that we're going to be implementing - starting with the best kind - FREE!  We're hosting &lt;a href="http://www.sumneva.com/apex/f?p=15000:377:0::NO:RP:P377_COURSE_ID:121"&gt;APEX 4.0 preview&lt;/a&gt; web seminars, where we can show you what to expect in the much-anticipated APEX 4.0.  We're also planning to have monthly "&lt;a href="http://www.sumneva.com/apex/f?p=15000:410:0::NO::TRACKBACK:ask_the_experts"&gt;Ask the Experts&lt;/a&gt;" web seminars, where you'll get to interact with all four us of over a live conference call.&lt;br /&gt;&lt;br /&gt;In addition to the new services we're offering, we've also combined our training curriculum and have a number of new additions in our &lt;a href="http://www.sumneva.com/apex/f?p=15000:375:0::NO:::"&gt;course catalog&lt;/a&gt; to offer both publicly and privately.&lt;br /&gt;&lt;br /&gt;Now that the iPad announcement is done, come on over to &lt;a href="http://sumneva.com/"&gt;sumneva.com&lt;/a&gt; and have a look!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4616622017368896918?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4616622017368896918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4616622017368896918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4616622017368896918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4616622017368896918'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/01/introducing-sumneva.html' title='Introducing Sumneva'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-45629417591624937</id><published>2010-01-20T20:02:00.000-05:00</published><updated>2010-01-20T20:02:20.324-05:00</updated><title type='text'>ODTUG 2010 Registration Open</title><content type='html'>ODTUG 2010 promises to be the best ever, with close to 40 APEX sessions - many of which will focus on APEX 4.0!&lt;br /&gt;&lt;br /&gt;There's also a lot of new &amp;amp; innovative ideas this year that have not been done in the past:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;APEX Sunday Symposium&lt;br /&gt;In the past, the Sunday Symposiums have been less technical and more business and case study focused.&amp;nbsp; Well, that all changes this year, as we have a lineup that can't be matched!&amp;nbsp; This year, we have invited some of the top names in the APEX community to team up and show you how to design, develop, deploy, tune, secure, beautify and translate an application - right before your eyes!&amp;nbsp; Also, for the first time, you can sign up just for the Sunday Session - which makes it nice if you're local to DC and can't get the full time off for the bulk of the conference.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;APEX Plugin Workshop&lt;br /&gt;Since APEX Plugins will dramatically change the way in which we build APEX Applications, we've decided to have a 1 1/2 hr session that focuses on this new amazing feature.&amp;nbsp; As an added bonus, you'll get to take the code used home with you!&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;APEX Open Mic Night&lt;br /&gt;Didn't get your presentation accepted or just have something cool you'd like to show off?&amp;nbsp; Then bring it to APEX Open Mic Night.&amp;nbsp; We'll give you 10 minutes and a laptop connected to the Internet; you do the rest.&amp;nbsp; Leave you slides at home, as this evening is demo-only!&lt;/li&gt;&lt;/ul&gt;You can register for ODTUG 2010 here: &lt;a href="http://odtugkaleidoscope.com/registration.html"&gt;http://odtugkaleidoscope.com/registration.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope to see you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-45629417591624937?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/45629417591624937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=45629417591624937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/45629417591624937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/45629417591624937'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2010/01/odtug-2010-registration-open.html' title='ODTUG 2010 Registration Open'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-5862201237427217026</id><published>2009-11-20T14:59:00.000-05:00</published><updated>2009-11-20T14:59:24.136-05:00</updated><title type='text'>Black Holes: Courtesy of APEX</title><content type='html'>Well, not really. &amp;nbsp;But I just stumbled across a &lt;a href="https://ert.cern.ch/browse_www/wd_pds?p_web_site_id=1&amp;amp;p_web_page_id=7622&amp;amp;p_no_apply=&amp;amp;p_show=N"&gt;job posting&lt;/a&gt; from &lt;a href="http://public.web.cern.ch/public/"&gt;CERN&lt;/a&gt; that has Oracle APEX listed as one of its requirements.&lt;br /&gt;&lt;br /&gt;If you're in the market for a job, and don't mind flirting with the &lt;a href="http://www.telegraph.co.uk/news/worldnews/europe/2650665/Legal-bid-to-stop-CERN-atom-smasher-from-destroying-the-world.html"&gt;end of existence&lt;/a&gt; as we know it, you may want to check it out. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-5862201237427217026?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/5862201237427217026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=5862201237427217026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5862201237427217026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5862201237427217026'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/11/black-holes-courtesy-of-apex.html' title='Black Holes: Courtesy of APEX'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3074561178254002551</id><published>2009-11-03T20:12:00.000-05:00</published><updated>2009-11-03T20:12:03.670-05:00</updated><title type='text'>Logger:  A new PL/SQL Logging &amp; Debugging Tool</title><content type='html'>&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;I just found out from a client that Tyler Muth, ex-APEX developer and current Oracle SC, has just released a new utility aptly called "&lt;a href="http://tylermuth.wordpress.com/2009/11/03/logger-a-plsql-logging-and-debugging-utility/"&gt;Logger&lt;/a&gt;". &amp;nbsp;Logger, well, does what you think it would: logs stuff.&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;What strikes me as innovative about Logger is not what's there, but what's not there: complexity. &amp;nbsp;It's just plain easy to use. &amp;nbsp;Easier than creating table t (col1 varchar2(4000)) and throwing insert statements all around your code.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;You simply call it like this: &amp;nbsp;&lt;b&gt;logger.log('something to log');&lt;/b&gt; &amp;nbsp;That's all you need to get it to work.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;Sure, there are a number of great features as you peel back the covers, such as a configurable auto-deletion of logs parameter, timings, and of course, my favorite: &amp;nbsp;APEX item name &amp;amp; value logging.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;You can download Logger here:&amp;nbsp;&lt;a href="http://logger.samplecode.oracle.com/"&gt;http://logger.samplecode.oracle.com&lt;/a&gt;&amp;nbsp;&amp;nbsp;All you need is a free OTN account.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3074561178254002551?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3074561178254002551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3074561178254002551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3074561178254002551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3074561178254002551'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/11/logger-new-plsql-logging-debugging-tool.html' title='Logger:  A new PL/SQL Logging &amp; Debugging Tool'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8402969615092383234</id><published>2009-10-22T07:58:00.000-04:00</published><updated>2009-10-22T07:58:59.094-04:00</updated><title type='text'>APEX Certification On The Way</title><content type='html'>At Oracle Open World, I spoke with the APEX Development Team about a number of things, including a new pilot program to become APEX Certified. &amp;nbsp;The program is open to anyone with "at least 6 months of APEX development experience", according to Joel Kallman's &lt;a href="http://joelkallman.blogspot.com/2009/10/certification-exam-for-oracle.html"&gt;post&lt;/a&gt; about it.&lt;br /&gt;&lt;br /&gt;I think that this is a good step on Oracle's part, as it shows more and more commitment to APEX as a platform. &amp;nbsp;It also creates a career milestone that APEX developers can strive for that is similar to what is available with other technologies.&lt;br /&gt;&lt;br /&gt;To sign up for the pilot, visit:&amp;nbsp;&lt;a href="http://www.oracle.com/goto/apexpilot"&gt;http://www.oracle.com/goto/apexpilot&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8402969615092383234?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8402969615092383234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8402969615092383234' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8402969615092383234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8402969615092383234'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/10/apex-certification-on-way.html' title='APEX Certification On The Way'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-1001167441958005347</id><published>2009-08-10T12:40:00.001-04:00</published><updated>2009-08-10T12:41:37.267-04:00</updated><title type='text'>Presenting at GROUG in Richmond Wednesday, August 12th, 2009</title><content type='html'>I'll be presenting &lt;b&gt;&lt;a href="http://sumnertechnologies.com/apex/f?p=10000:395:0::NO::P395_PRESENTATION_KEY:MANY_TO_ONE"&gt;Many to One: Managing Multiple APEX Applications as One&lt;/a&gt;&lt;/b&gt; on Wednesday, August 12th, 2009 at 6:30 PM.  The presentation is sponsored by the Greater Richmond Oracle Users Group (GROUG) and will be held at Markel, which is located in Glenn Allen, VA.  There is no charge to attend!&lt;br /&gt;&lt;br /&gt;Details, directions &amp;amp; registration for the event can be found on GROUG's web site here:  &lt;a href="http://ioug.itconvergence.com/pls/apex/f?p=210:29"&gt;http://ioug.itconvergence.com/pls/apex/f?p=210:29&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you're in the Richmond area, I hope to see you Wednesday evening!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-1001167441958005347?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/1001167441958005347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=1001167441958005347' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1001167441958005347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1001167441958005347'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/08/presenting-at-groug-in-richmond.html' title='Presenting at GROUG in Richmond Wednesday, August 12th, 2009'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-320602401601956350</id><published>2009-07-17T13:52:00.001-04:00</published><updated>2009-07-17T13:53:28.900-04:00</updated><title type='text'>APEX 4.0 Presentation Now Available</title><content type='html'>Mike Hichwa &amp;amp; Company's APEX 4.0 Presentation from ODTUG was recorded and can now be viewed &lt;a href="http://www.odtug.com/apex/f?p=500:235:0::::P235_NEWS_ID:2240"&gt;here&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Definitely worth the watch, even if you were there to see it live.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-320602401601956350?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/320602401601956350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=320602401601956350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/320602401601956350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/320602401601956350'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/07/apex-40-presentation-now-available.html' title='APEX 4.0 Presentation Now Available'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-344389441818177099</id><published>2009-07-07T20:42:00.001-04:00</published><updated>2009-07-07T20:43:21.428-04:00</updated><title type='text'>Blogging is Dead</title><content type='html'>Maybe I'm in the minority, but it seems that blogging has taken a sharp nose dive in terms of frequency.  I monitor a bunch of Oracle-related and other blogs, and the traffic is definitely down.  There were also few blog re-caps of ODTUG - which is in stark contrast to years past, where the coverage has been extensive.  The few blogs that were updated were brief and light on real content.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;So, the question must be asked:  is blogging a thing of the past?&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;First of all, maintaining a blog is not easy.  You have to select a topic that you want to blog about, hoping that it is of interest to not just you but your readers.  Then, you may have to do some research on that topic, maybe create an example if its a technical blog, and then find the time to actually compose your thoughts.  Sounds too much like school to me!&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Using Twitter is easy.  Many of the people that I follow "re-tweet" other people's Tweets that they find interesting.  To translate for the non-Tweeters out there - you just re-send someone else's post.  That's it.  You can do it in literally seconds. &lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Some of the people that I follow do share some original interesting thoughts or ideas.  Some are guises for corporate marketing.  Others share trivial day-to-day events that won't change my life in the least.  While others are, well, just uninteresting.  It definitely takes some time sifting through the noise that Twitter can generate.  There's a lot of "popular" Tweeters that flood the Internet with largely boring or useless information.  There's also quite a few that are useful and interesting.  It's like anything else - some are good, some, not so much.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I think that many bloggers started a blog because they felt that they had to.  They never enjoyed writing, and had little interest in it before blogging became popular.  But feeling left out, they created a Blogger account, posted their "Hey, this is my first post, I have so many things to blog about" post, and probably never signed in again.  &lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;br /&gt;We're not all cut out to be writers.  Or painters.  Or musicians.  And that's just fine.  Writing is a talent that few people have.  This is why major news outlets don't employ everyone, but only a select few.  Those few produce content, we read it.  It's that simple.  Blogging opened things up for anyone, but really just exposed just how many bad writers are out there.&lt;br /&gt;&lt;br /&gt;Despite this, we can and have been consumers of information that other people author for some time.  For example:  If you read a good article on say, Internet Security, you may e-mail a group of friends and share the link to the article.  Typically, you'll preface the link with a sentence or two, highlighting your favorite part of the article.&lt;br /&gt;&lt;br /&gt;Twitter is just that;  a new way for non-authors to share content with other non-authors and authors alike, and potentially comment on it.  Its just that simple.&lt;br /&gt;&lt;br /&gt;It's not a new medium, but rather a new distribution channel.  It allows us to share information or content with others that we share interests with.  You can easily click on a link, see the title of a document, and determine if you want to read more based on the topic, author, or a combination thereof.  You only read what you want to read.  At most, you're investing the time it takes to read 140 characters or less and clicking a single link.  Even that may be a lot for our attention spans these days...&lt;br /&gt;&lt;br /&gt;Is Twitter a fad that will be gone in a couple of years?  Probably.  But maybe not.  I think that Twitter will represent the foundation of a new content delivery mechanism that the Internet and Internet-enabled devices adapt to.  It's like any other version 1.0 technology - we're only seeing parts of it working, as the other parts have not been defined yet, despite the hype.  It's clearly caught the attention of the global community, and will definitely be interesting to see how it shapes up over the next few years.&lt;br /&gt;&lt;br /&gt;FYI:  You can follow me on Twitter: @sspendol&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-344389441818177099?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/344389441818177099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=344389441818177099' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/344389441818177099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/344389441818177099'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/07/blogging-is-dead.html' title='Blogging is Dead'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-6208433220117297478</id><published>2009-06-17T06:36:00.003-04:00</published><updated>2009-06-17T06:52:21.116-04:00</updated><title type='text'>This Revolution will be Digital</title><content type='html'>It's truly amazing what is going on in Iran. In the span of a little less than a week, our public perception of the Iranians has done one huge 180. No longer do we think that they all hunkered down in some mosque planning the next attack on America or hacking into our computers trying to steal nuclear secrets of burning American flags and effigies of our leaders.&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PanxfbnN6iA/SjjI6sS2NtI/AAAAAAAAAHA/1JQe9zpCRyY/s1600-h/GbwhK.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 226px; height: 320px;" src="http://3.bp.blogspot.com/_PanxfbnN6iA/SjjI6sS2NtI/AAAAAAAAAHA/1JQe9zpCRyY/s320/GbwhK.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5348245468150642386" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;All of a sudden, they look very different to us.  We can relate to them better today that we could last week.  They are simply standing up for themselves, trying to point out to the world that, "Hey, we're not all bad people - there's just a few at the top that are making things, well, difficult for us."&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And during this crisis, a seemingly unlikely ally has rushed to their side - the global digital community.  Since their government has imposed a virtual media and Internet blackout, the only way to get news out is via the Internet, specifically social networking sites such as Facebook and Twitter.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What was truly amazing to me is how Twitter changed the timing on a major upgrade to occur at 1:30AM Iranian time - smack in the middle of our business day - so that they would get a minimal disruption of service.  That statement alone sums up the efforts of thousands of others who have stepped up by providing anonymous proxy servers, virtual machine images and the like to the Iranian bloggers, so that they can get their message out past the government censors.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;No one can predict what will happen next, but I think that we are all seeing how powerful a community organized with new social networking technologies can truly become.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-6208433220117297478?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/6208433220117297478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=6208433220117297478' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/6208433220117297478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/6208433220117297478'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/06/this-revolution-will-be-digital.html' title='This Revolution will be Digital'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PanxfbnN6iA/SjjI6sS2NtI/AAAAAAAAAHA/1JQe9zpCRyY/s72-c/GbwhK.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3097241926452999688</id><published>2009-06-15T21:53:00.000-04:00</published><updated>2009-06-15T21:53:01.439-04:00</updated><title type='text'>OfficeDepot Recycles Ink Cartridges and Gives you $3 each!</title><content type='html'>If you purchase a fair amount of office supplies, then make sure that you sign up for the Worklife Rewards program at Office Depot. &amp;nbsp;You get a quarterly gift card based on the amount that you spend, among other benefits - one of which I just found out about this weekend:&amp;nbsp;&amp;nbsp;If you bring back a spent ink cartridge, you will get a $3 bonus reward added to your account. &amp;nbsp;Details are here: &amp;nbsp;&lt;a href="http://www.myworkliferewards.com/loyalty/smartView.do?code=InkDepot"&gt;http://www.myworkliferewards.com/loyalty/smartView.do?code=InkDepot&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Not only is it good for the environment - especially since HP stopped putting the free recycle envelopes in their packaging in favor of their useless promotions - but it can put some cash back in your pocket, which you'll likely just spend on more ink anyways...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3097241926452999688?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3097241926452999688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3097241926452999688' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3097241926452999688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3097241926452999688'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/06/officedepot-recycles-ink-cartridges-and.html' title='OfficeDepot Recycles Ink Cartridges and Gives you $3 each!'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7383440531463575189</id><published>2009-06-15T16:30:00.000-04:00</published><updated>2009-06-15T16:30:41.510-04:00</updated><title type='text'>Lots of New Stuff</title><content type='html'>The last few weeks have been quite hectic indeed!&lt;br /&gt;&lt;br /&gt;In addition to my day job, I've been busy working with &lt;a href="http://douggault.blogspot.com/"&gt;Doug Gault&lt;/a&gt; - Sumner's newest member - in re-structuring a number of our services and training classes.&amp;nbsp; I'm also happy to announce a couple of new products that we will be launching soon.&lt;br /&gt;&lt;br /&gt;SumnerPrint is a PL/SQL-based solution that allows you to easily print APEX reports to PDF, HTML and XLS.&amp;nbsp; Built on top of PL/PDF, SumnerPrint easily integrates into any APEX application and allows your end users to print high fidelity reports with the click of the mouse.&amp;nbsp; Since it's built on PL/PDF, there is no middle tier to configure or extra servers to purchase.&amp;nbsp; You can be up and running with it in just a few minutes!&lt;br /&gt;&lt;br /&gt;SumnerFramework is a set of APEX applications and tables that allow you to manage who has access to which APEX application.&amp;nbsp; It also provides a single point of management, so that you can centralize your role management for easier access and better reporting.&lt;br /&gt;&lt;br /&gt;You'll be able to see demonstrations of both of these offerings at ODTUG next week.&amp;nbsp; If you can't make it, drop us a note and we can arrange for a private demonstration.&lt;br /&gt;&lt;br /&gt;We've also launched a new corporate blog here:&amp;nbsp; &lt;a href="http://feeds2.feedburner.com/SumnertechBlog"&gt;http://feeds2.feedburner.com/SumnertechBlog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While I will still occasionally still update this one, most of the APEX-related content will be posted on the new blog.&amp;nbsp; So be sure to bookmark both of them!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7383440531463575189?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7383440531463575189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7383440531463575189' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7383440531463575189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7383440531463575189'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/06/lots-of-new-stuff.html' title='Lots of New Stuff'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3000343586647380050</id><published>2009-05-26T08:23:00.001-04:00</published><updated>2009-05-26T08:24:09.418-04:00</updated><title type='text'>Last Chance for ODTUG Early Bird Registration</title><content type='html'>Notice:  June 2nd is the last day that you'll save $200 on the ODTUG Kaleidoscope 2009 registration.&lt;br /&gt;&lt;br /&gt;With over 50 APEX presentations and 2 full APEX tracks this year, there has never been a single conference that has encompassed so much APEX content!  And since ODTUG is a fraction of the size of other conferences, you always get the opportunity to meet with the presenters later on to ask follow up questions or just to comment on their presentations.  This is probably one of the largest benefits that ODTUG offers over other conferences, in my opinion.&lt;br /&gt;&lt;br /&gt;So if you're already signed up, I'll see you there.  If you're still considering, make sure to book your trip before June 2nd to save an additional $200!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3000343586647380050?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3000343586647380050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3000343586647380050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3000343586647380050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3000343586647380050'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/05/last-change-for-odtug-early-bird.html' title='Last Chance for ODTUG Early Bird Registration'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7153009897074879425</id><published>2009-05-11T08:32:00.001-04:00</published><updated>2009-05-11T08:33:17.420-04:00</updated><title type='text'>"Every Day" Applications</title><content type='html'>Lots of good insight in this short article:  &lt;a href="http://bokardo.com/archives/everyday-app/"&gt;http://bokardo.com/archives/everyday-app/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's interesting that across the world, the number of sites that we use on a daily basis is relatively small and consistent.  I can attest to this, as I fit pretty much in the 7-8 range.&lt;br /&gt;&lt;br /&gt;Quite often when designing a site for use on the public Internet, we obsess over all of the little details that take up the majority of the development cycle.  This evidence suggests that we should do otherwise.&lt;br /&gt;&lt;br /&gt;Think about the relationships we have with brick &amp;amp; mortar stores - we probably also have just a few that we frequent on a regular basis - grocery store, gas station, dry cleaners, bank, etc.  All of these stores are designed with efficiency in mind.  They want you - the customer - to get in, get what you need, and then get out as quickly as possible: grocery stores now have self checkouts; banks have drive-throughs and ATMs; gas stations let you pay at the pump, and so on.&lt;br /&gt;&lt;br /&gt;Stores that we only visit on a monthly or less frequent basis have a different and more complex challenge - actually getting us to go there and then keeping us coming back.  Their marketing challenge is far greater than that of the grocery store, as they know that they are not a commodity site, and we - the customer - have more of a choice.  These types of stores include furniture stores, car dealers, specialty stores, and so on.&lt;br /&gt;&lt;br /&gt;The experience with one of these stores typically includes some sort of interaction with their sales staff.  They don't focus on efficiency as much, as they prefer a more guided sale, which often includes attempts at up-selling us to a more expensive product or option.&lt;br /&gt;&lt;br /&gt;Thus, when we're building a site that is not classified as an "every day" site, - which may be more frequently than we had originally thought - we should take care to do the same.  Focus on ease of use and simplicity.  Add in as much guidance and make it easy to contact someone, should the user deem that necessary.  We have to assume that the visitors of our site are not frequent visitors, and we only have a few seconds to entice them to become a customer.  Thus, the entire experience should cater to this fact.&lt;br /&gt;&lt;br /&gt;One final point - I totally agree with one of the comments regarding Linked In.  I have also signed up, connected to most of the people that I know, and have the same "now what" feeling.  Please let me know if I'm missing something!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7153009897074879425?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7153009897074879425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7153009897074879425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7153009897074879425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7153009897074879425'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/05/every-day-applications.html' title='&quot;Every Day&quot; Applications'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3974102636480717018</id><published>2009-04-29T12:07:00.000-04:00</published><updated>2009-04-29T12:07:29.241-04:00</updated><title type='text'>Returning a Value from a Popup Page</title><content type='html'>I just ran into a situation where I needed to pass back a value from a pop-up page to a tabular form item in the calling page.  While I've done this in the past ny manually writing all of the JavaScript, I thought that I'd take a look at the new documented APEX JavaScript APIs.&lt;br /&gt;&lt;br /&gt;I came across this function in the &lt;b&gt;APEX 3.2 API Reference Guide&lt;/b&gt; (Part #E13369-01):&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;$v_PopupReturn(pValue, pThat)&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Sets the value of the item in the parent window (pThat), with (pValue) and then &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;closes the popup window. &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;u&gt;&lt;b&gt;Return Value&lt;/b&gt;&lt;/u&gt; &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Not applicable. &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;u&gt;&lt;b&gt;Parameters&lt;/b&gt;&lt;/u&gt; &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;pValue (string) &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;pThat (DOM node | string ID)&lt;/div&gt;&lt;br /&gt;Looks perfect!&amp;nbsp; In addition to passing the value back, it will also close the pop-up page, even though that is not documented.&lt;br /&gt;&lt;br /&gt;On the pop-up page, I created a link with an Optional Redirect to URL, and put the following in the link:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;javascript:$v_PopupReturn(#EMPNO#, '&amp;amp;P3_NODE.')&lt;/div&gt;&lt;br /&gt;P3_NODE is the DOM ID of the tabular form item that I wanted to return the value to.&amp;nbsp; You'll need to make sure that it's formatted properly for this to work.&amp;nbsp; Thus, I am passing in a "1", but returning "f03_0001".&amp;nbsp; A simple computation can do the trick.&lt;br /&gt;&lt;br /&gt;Since we're using a built-in tabular form, we need to put the calling JavaScript in the Element Attributes of the item that we want the popup form to set.&amp;nbsp; I used this:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;onclick="popUp2('f?p=' + $v('pFlowId') + ':3:'&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;+ $v('pInstance') + '::::P3_NODE:#ROWNUM#',250,600);" readonly&lt;/div&gt;&lt;br /&gt;This will pop open a new window, based on page 3 of my application.&amp;nbsp; It will also grab the Application ID and Session ID from the DOM and use those in the link, so that we preserve our session state.&amp;nbsp; Finally, it will pass along the corresponding ROWNUM of the item that we clicked on to the item P3_NODE - where I will make the proper transformation with the computation on Page 3.&amp;nbsp; Lastly, the &lt;b&gt;readonly&lt;/b&gt; option prevents users from making direct changes to the item.&lt;br /&gt;&lt;br /&gt;Point taken from this - have a look at the APEX API guide before you embark on writing your own code.&amp;nbsp; There are a number of helpful functions there than can save a lot of time and hassle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3974102636480717018?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3974102636480717018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3974102636480717018' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3974102636480717018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3974102636480717018'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/04/returning-value-from-popup-page.html' title='Returning a Value from a Popup Page'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8038623673582515736</id><published>2009-04-21T17:16:00.002-04:00</published><updated>2009-04-21T17:21:23.960-04:00</updated><title type='text'>APEX on Mac OS X - Update II</title><content type='html'>After two days of consistent use, APEX on OS X has performed flawlessly!  And it's fast - REALLY fast!  Sure, there's no network there to slow things down, but when using Safari 4, it's just as fast as static pages!&lt;br /&gt;&lt;br /&gt;Now that Oracle runs natively on OS X, I can stop relying on VMs for that service, and use SQL Developer, Firefox and other Mac tools for 100% of my development.  &lt;br /&gt;&lt;br /&gt;I just hope that the folks at Oracle make this a supported configuration at some point so that we don't have to keep running in an unsupported fashion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8038623673582515736?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8038623673582515736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8038623673582515736' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8038623673582515736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8038623673582515736'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/04/apex-on-mac-os-x-update-ii.html' title='APEX on Mac OS X - Update II'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-5961613549039037792</id><published>2009-04-16T16:05:00.007-04:00</published><updated>2009-04-16T16:29:28.177-04:00</updated><title type='text'>APEX on Mac OS X - Update</title><content type='html'>It seems as if the Embedded PL/SQL Gateway is a part of Oracle 10g for Mac OS X after all.  Thus, if there's an EPG, then there's a way to get APEX up and running.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracloid.com/"&gt;Alex Gorbachev&lt;/a&gt; has posted a step-by-step guide on how to do just this &lt;a href="http://www.pythian.com/news/2014/installing-apex-on-oracle-10gr2-on-mac-os-x-leopard-intel"&gt;here&lt;/a&gt;.  And if you missed his Installation Guide for Oracle 10g on Mac OS X, you can find that &lt;a href="http://www.pythian.com/news/2014/installing-apex-on-oracle-10gr2-on-mac-os-x-leopard-intel"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As he stated, the workaround is not a very secure thing to do;  however, if you're just using it for local development, there should be no major issues.  You have been warned.&lt;br /&gt;&lt;br /&gt;In any case, I did have an issue with the code that he had posted to disable the security on XDB.  After some searching around, I used the following instead:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DECLARE&lt;br /&gt;configxml SYS.XMLType;&lt;br /&gt;configxml2 SYS.XMLType;&lt;br /&gt;BEGIN&lt;br /&gt;-- Get the current configuration&lt;br /&gt;configxml := DBMS_XDB.cfg_get();&lt;br /&gt;&lt;br /&gt;-- Modify the configuration&lt;br /&gt;SELECT INSERTCHILDXML&lt;br /&gt;(xdburitype(&lt;br /&gt;'/xdbconfig.xml').getXML(),&lt;br /&gt;'/xdbconfig/sysconfig/protocolconfig/httpconfig',&lt;br /&gt;'allow-repository-anonymous-access',&lt;br /&gt;XMLType('&amp;lt;allow-repository-anonymous-access &lt;br /&gt;  xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"&amp;gt;&lt;br /&gt;  true&amp;lt;/allow-repository-anonymous-access&amp;gt;'),&lt;br /&gt;'xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"'&lt;br /&gt;)&lt;br /&gt;INTO&lt;br /&gt;configxml2&lt;br /&gt;FROM&lt;br /&gt;DUAL;&lt;br /&gt;&lt;br /&gt;-- Update the configuration to use the modified version&lt;br /&gt;DBMS_XDB.cfg_update(configxml2);&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;/pre&gt;A couple other notes:  you'll have to also copy the images over to the database via XDB.  You can map this drive via Mac OS X and then just copy the images over via the finder.&lt;br /&gt;&lt;br /&gt;To do this:&lt;br /&gt;&lt;br /&gt;1) From the &lt;span style="font-weight: bold;"&gt;Go&lt;/span&gt; menu in the Finder, select &lt;span style="font-weight: bold;"&gt;Connect to Server...&lt;/span&gt;&lt;br /&gt;2) For the &lt;span style="font-weight: bold;"&gt;Server Address&lt;/span&gt;, enter:  &lt;span style="font-family:courier new;"&gt;http://localhost:8080&lt;/span&gt; and click &lt;span style="font-weight: bold;"&gt;Connect&lt;/span&gt;.&lt;br /&gt;3) When prompted, enter &lt;span style="font-family:courier new;"&gt;XDB&lt;/span&gt; for the user and the corresponding password.&lt;br /&gt;&lt;br /&gt;At this point, you should see the &lt;span style="font-weight: bold;"&gt;localhost&lt;/span&gt; volume on your desktop.  Simply create a top-level directory called &lt;span style="font-family:courier new;"&gt;i&lt;/span&gt; and then copy the APEX images folder into that directory, and you should be good to go with APEX on Mac OS X!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-5961613549039037792?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/5961613549039037792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=5961613549039037792' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5961613549039037792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5961613549039037792'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/04/apex-on-mac-os-x-update.html' title='APEX on Mac OS X - Update'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-2630794145577152490</id><published>2009-04-15T19:48:00.000-04:00</published><updated>2009-04-15T19:48:09.597-04:00</updated><title type='text'>New APEX "video"</title><content type='html'>The Oracle APEX team has released a new video that really does a good job covering how you can position APEX.&amp;nbsp; It's more of an animation than a video, but the visuals really do a nice job complementing the concepts that they are trying to get across.&lt;br /&gt;&lt;br /&gt;Have a look at it on the &lt;a href="http://www.oracle.com/pls/ebn/swf_viewer.load?p_shows_id=6392594&amp;amp;p_referred=0&amp;amp;p_width=800&amp;amp;p_height=600"&gt;APEX OTN Site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-2630794145577152490?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/2630794145577152490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=2630794145577152490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2630794145577152490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2630794145577152490'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/04/new-apex-video.html' title='New APEX &quot;video&quot;'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-1179633091107886512</id><published>2009-04-13T19:08:00.000-04:00</published><updated>2009-04-13T19:08:57.102-04:00</updated><title type='text'>RTFM</title><content type='html'>No, this is not another rant about just anyone who doesn't know how to read manuals.&amp;nbsp; It's about me.&amp;nbsp; And I don't know how to read manuals.&lt;br /&gt;&lt;br /&gt;After downloading Oracle 10g for Mac OS X, I spent some time getting it installed.&amp;nbsp; After a false start (where I created the dba group with GUID 201 - the same as the Guest account on Mac OS X), I managed to get it up and running.&amp;nbsp; There's an excellent guide here, which walks you through just what you need to do and little more:&amp;nbsp; &lt;a href="http://blog.rayapps.com/2009/04/12/how-to-install-oracle-database-10g-on-mac-os-x-intel/"&gt;http://blog.rayapps.com/2009/04/12/how-to-install-oracle-database-10g-on-mac-os-x-intel&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once I could SQL*Plus into the database, I downloaded the Companion CD, and started to install that, thinking that the Oracle HTTP Server would be a part of it.&amp;nbsp; Well, much to my disappointment, it was nowhere to be found.&amp;nbsp; After some digging on the OTN Apple Forum, I came across this post:&amp;nbsp; &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=654233&amp;amp;tstart=0&amp;amp;start=15"&gt;http://forums.oracle.com/forums/thread.jspa?threadID=654233&amp;amp;tstart=0&amp;amp;start=15&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The important line in that post points here:&amp;nbsp; &lt;a href="http://download.oracle.com/docs/cd/B19306_01/relnotes.102/b25285/toc.htm"&gt;http://download.oracle.com/docs/cd/B19306_01/relnotes.102/b25285/toc.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And if you look at &lt;b&gt;Section 2 - Unsupported Products&lt;/b&gt;, you'll notice that Oracle APEX &amp;amp; Oracle HTTP Server are definitely not alone.&amp;nbsp; In fact, here's the complete list:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Oracle Real Application Clusters (Oracle RAC)&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Oracle Clusterware&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Automatic Storage Management (ASM)&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Network File System (NFS)&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Network-attached Storage (NAS)&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Raw devices&lt;br /&gt;&lt;/li&gt;&lt;li&gt; &lt;b&gt;Oracle Application Express&lt;/b&gt; (formerly known as Oracle HTML DB)&lt;br /&gt;&lt;/li&gt;&lt;li&gt; &lt;b&gt;Oracle HTTP Server&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Oracle Workflow&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Oracle Enterprise Manager Database Control&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Oracle Management Agent&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Pro*Fortran&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Pro*COBOL&lt;br /&gt;&lt;/li&gt;&lt;li&gt; &lt;span class="italic"&gt;i&lt;/span&gt;SQL*Plus&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Oracle Ultra Search&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Thus, all was for almost nothing, as a database is just not a database, unless it has APEX in it.&amp;nbsp; I suppose I'll just wait it out, hoping that at least APEX &amp;amp; the HTTP Server make their way into the next release, which doesn't take as long as the first!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-1179633091107886512?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/1179633091107886512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=1179633091107886512' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1179633091107886512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1179633091107886512'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/04/rtfm.html' title='RTFM'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8910692417030515629</id><published>2009-04-10T16:57:00.000-04:00</published><updated>2009-04-10T16:57:27.835-04:00</updated><title type='text'>Oracle on Mac OS X Intel!</title><content type='html'>After many false starts, it looks like Oracle has finally released the Oracle Database 10g &amp;amp; the Companion CD for Mac OS X Intel!&amp;nbsp; Sure, it's not Oracle 11g, but I'll take what I can get...&lt;br /&gt;&lt;br /&gt;Of course, I am going to get APEX up and running on it as soon as I can, and will report my findings.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;You can download it from OTN here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10204macsoft_x86-64.html"&gt;http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10204macsoft_x86-64.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8910692417030515629?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8910692417030515629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8910692417030515629' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8910692417030515629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8910692417030515629'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/04/oracle-on-mac-os-x-intel.html' title='Oracle on Mac OS X Intel!'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3589843014964492625</id><published>2009-04-03T10:38:00.003-04:00</published><updated>2009-04-03T10:42:45.032-04:00</updated><title type='text'>Want $200?</title><content type='html'>No, I'm not writing stimulus checks, nor did I win the lottery.  However, if you're going to &lt;a href="http://odtugkaleidoscope.com"&gt;ODTUG Kaleidoscope&lt;/a&gt; this year, you can save a quick $200 by registering before April 7th!&lt;br /&gt;&lt;br /&gt;There's going to be two separate APEX tracks this year, in addition to the Sunday Symposium.  There's just no other place that you can go to get this much APEX information for even close to the same price!&lt;br /&gt;&lt;br /&gt;Have a look at the &lt;a href="http://odtugkaleidoscope.com/applicationexpress.html"&gt;agenda&lt;/a&gt; and hope to see you in Monterey!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3589843014964492625?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3589843014964492625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3589843014964492625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3589843014964492625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3589843014964492625'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/04/want-200.html' title='Want $200?'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8074831906657227205</id><published>2009-02-27T18:31:00.000-05:00</published><updated>2009-02-27T18:31:37.664-05:00</updated><title type='text'>Oracle APEX 3.2 Released</title><content type='html'>Oracle has announced the general availability of Oracle APEX 3.2.&amp;nbsp; In addition, they have re-vamped the APEX home page (&lt;a href="http://apex.oracle.com/"&gt;http://apex.oracle.com&lt;/a&gt;) with a cleaner look than the previous version.&lt;br /&gt;&lt;br /&gt;There seems to be a number of security features in addition to the Forms Conversion features that have been discussed for some time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8074831906657227205?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8074831906657227205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8074831906657227205' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8074831906657227205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8074831906657227205'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2009/02/oracle-apex-32-released.html' title='Oracle APEX 3.2 Released'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-5333602220757081174</id><published>2008-11-01T21:10:00.002-04:00</published><updated>2008-11-01T21:12:43.893-04:00</updated><title type='text'>Carl Backstrom - Memorial Announcement</title><content type='html'>Just got an e-mail from &lt;a href="http://joelkallman.blogspot.com"&gt;Joel Kallman&lt;/a&gt; with details of the memorial service for Carl, as well as the fund set up in his name:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;Please join the family in celebrating the life of Carl Backstrom&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;on Thursday, the sixth of November&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;two thousand and eight&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;at one o'clock in the afternoon&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Orange Terrace Park&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;20010 Orange Terrace Park Parkway&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Riverside, CA 92508&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_PanxfbnN6iA/SQz-X7L_evI/AAAAAAAAAE8/XSprQvpOPP8/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 216px; height: 257px;" src="http://1.bp.blogspot.com/_PanxfbnN6iA/SQz-X7L_evI/AAAAAAAAAE8/XSprQvpOPP8/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5263861751467703026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;In lieu of flowers the family has set up a Memorial Fund&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;in behalf of Carl's daughter, Destany.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Donations to Carl's Memorial Fund can be made several ways:&lt;br /&gt;&lt;br /&gt;Domestic wire transfers&lt;br /&gt;Account Number 152460903&lt;br /&gt;Citibank ABA Number 322271724&lt;br /&gt;International wire transfers SWIFT Code: CITI US 33&lt;br /&gt;Checks&lt;br /&gt;Make payable to Susan Bailey (Carl's Mother)&lt;br /&gt;Address: 3395 S. Jones Blvd #403&lt;br /&gt;Las Vegas, NV 89146&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;“And in the end, it's not the years in your life that count.&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;It's the life in your years.”&lt;/span&gt; - Abraham Lincoln&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-5333602220757081174?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/5333602220757081174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=5333602220757081174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5333602220757081174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/5333602220757081174'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/11/carl-backstrom-memorial-announcement.html' title='Carl Backstrom - Memorial Announcement'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_PanxfbnN6iA/SQz-X7L_evI/AAAAAAAAAE8/XSprQvpOPP8/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-1880615890499132490</id><published>2008-10-28T07:04:00.000-04:00</published><updated>2008-10-28T07:36:38.133-04:00</updated><title type='text'>Carl Backstrom - a Tragic Loss</title><content type='html'>As you may have heard by now, &lt;a href="http://carlback.blogspot.com/"&gt;Carl Backstrom&lt;/a&gt;, one of the APEX developers, was killed in a car accident late Sunday night outisde of Las Vegas, NV.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;I met Carl a few years ago when I was still the Product Manager for what was then called HTML DB.&amp;nbsp; Carl was one of the most enthuiastic people that I have ever met, filled with a seemingly unending supply of energy.&lt;br /&gt;&lt;br /&gt;His great attitude was only surpassed by his technical expertise and willing to share it with others. Carl would go to great lengths to help complete strangers solve their APEX-related issues on the OTN Forums.&lt;br /&gt;&lt;br /&gt;My thoughts are with his family, friends and co-workers at this most difficult of times.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-1880615890499132490?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/1880615890499132490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=1880615890499132490' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1880615890499132490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1880615890499132490'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/10/carl-backstrom-tragic-loss.html' title='Carl Backstrom - a Tragic Loss'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4342584456919787201</id><published>2008-10-21T09:07:00.000-04:00</published><updated>2008-10-21T09:18:09.377-04:00</updated><title type='text'>ODTUG 2009 - Submit an APEX Abstract!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_PanxfbnN6iA/SP3WYoFl-DI/AAAAAAAAAE0/u7PM_-qIk4s/s1600-h/image001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_PanxfbnN6iA/SP3WYoFl-DI/AAAAAAAAAE0/GGRaNMS6EqM/s400-R/image001.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;While it's still 2008, the planning for &lt;a href="http://odtugkaleidoscope.com/"&gt;ODTUG Kaleidoscope 2009&lt;/a&gt; has already begun!&amp;nbsp; And this year, APEX will be bigger than ever, with its own separate track!&amp;nbsp; So essentially, you can pick a seat in a room, and spend the entire conference in that seat, listening to nothing but APEX presentations all week!&amp;nbsp; (However, we do encourage you to return to your room at night for some sleep and a shower...)&lt;br /&gt;&lt;br /&gt;ODTUG has formed an APEX review committee comprimised of &lt;a href="http://jes.blogs.shellprompt.net/"&gt;John Scott&lt;/a&gt;, &lt;a href="http://dgielis.blogspot.com/"&gt;Dimitri Gielis&lt;/a&gt;, &lt;a href="http://www.inside-oracle-apex.com/"&gt;Patrick Wolf&lt;/a&gt; and myself to help sort through the abstracts and put together the most comprehensive track that we can.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;But we can't do it without YOU!&amp;nbsp; If you've been using APEX at all, and have a great story to tell or want to show off your skills, consider &lt;a href="http://clicks.skem1.com/v/?u=b3be6763915bd80be14af3cef090a039&amp;amp;g=1299&amp;amp;c=693&amp;amp;p=92b56b7fa6918e290dcec0b3161e1021&amp;amp;t=1"&gt;submitting an abstract&lt;/a&gt;. &amp;nbsp; If you're not sure what to present, or want others to help refine your ideas, check out the &lt;a href="http://clicks.skem1.com/v/?u=37677adc60de8d68cc1b2d787d77569f&amp;amp;g=1299&amp;amp;c=693&amp;amp;p=92b56b7fa6918e290dcec0b3161e1021&amp;amp;t=1"&gt;Kaleidoscope Community&lt;/a&gt; and see what others have to say.&lt;br /&gt;&lt;br /&gt;If selected, you'll get a free pass to the conference, which is almost $1500!&amp;nbsp; That's $1500 less you or your organization will have to pay for you to attend ODTUG, and in this economic downturn, every dollar counts.&lt;br /&gt;&lt;br /&gt;We hope to see you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4342584456919787201?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4342584456919787201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4342584456919787201' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4342584456919787201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4342584456919787201'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/10/odtug-2009-submit-apex-abstract.html' title='ODTUG 2009 - Submit an APEX Abstract!'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PanxfbnN6iA/SP3WYoFl-DI/AAAAAAAAAE0/GGRaNMS6EqM/s72-Rc/image001.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8517971543330194404</id><published>2008-10-10T10:25:00.002-04:00</published><updated>2008-10-10T10:28:58.557-04:00</updated><title type='text'>Oracle SQL Developer Data Modeling Beta Released</title><content type='html'>Just saw that the much anticipated Oracle Data Modeling tool is available for download here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/database/sql_developer/files/Modeling.html"&gt;http://www.oracle.com/technology/products/database/sql_developer/files/Modeling.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once you fill out a quick survey, you can download a complete build with JDK, or just the build for your specific OS. &lt;br /&gt;&lt;br /&gt;I have the Mac OS version up and running, and will be putting it to work today on a number of different projects.  I'm glad to see that an enterprise-level data modeling tool has finally come to Mac OS X.  One more item on the list can be checked off!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8517971543330194404?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8517971543330194404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8517971543330194404' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8517971543330194404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8517971543330194404'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/10/oracle-sql-developer-data-modeling-beta.html' title='Oracle SQL Developer Data Modeling Beta Released'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8501337581420803740</id><published>2008-09-26T10:34:00.000-04:00</published><updated>2008-09-26T10:56:07.924-04:00</updated><title type='text'>Pro Oracle Application Express - Now Shipping</title><content type='html'>In case you missed it, the book that I contributed to - &lt;a href="http://www.amazon.com/Oracle-Application-Express-Proffesional-Reference/dp/159059827X/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1222440913&amp;amp;sr=8-1"&gt;Pro Oracle Application Express&lt;/a&gt; - has finally shipped!&lt;br /&gt;&lt;br /&gt;According to the Oracle Bookstore at OpenWorld, it was the hottest book there, at least according to this site:&amp;nbsp; &lt;a href="http://blogs.oracle.com/databaseinsider/2008/09/database_books_top_sellers_at.html"&gt;http://blogs.oracle.com/databaseinsider/2008/09/database_books_top_sellers_at.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So if you were one of the many who pre-ordered it, you should have it by now and I personally thank you for your patience!&amp;nbsp; I hope that you get out of it as much as we (especially John) have put into it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8501337581420803740?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8501337581420803740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8501337581420803740' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8501337581420803740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8501337581420803740'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/09/pro-oracle-application-express-now.html' title='Pro Oracle Application Express - Now Shipping'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7625803854892850875</id><published>2008-09-25T22:01:00.000-04:00</published><updated>2008-09-25T22:14:29.051-04:00</updated><title type='text'>OOW 2008 - Summary</title><content type='html'>After being on the road for 8 days, I am finally almost home - at my parents in Connecticut for a weekend visit.&lt;br /&gt;&lt;br /&gt;OOW was in a word, hectic.&amp;nbsp; I was afraid that it would actually be a bit worse, as it's hard to fit 43,000 people into a city and not have a suite of the obvious logistical issues.&amp;nbsp; Oracle did a fairly decent job, given the fixed issues of the sheer size of the conference.&amp;nbsp; Most of the presentations that I wanted to see were in Moscone West or the Marriott, which were just across from one another, which did make things easier.&lt;br /&gt;&lt;br /&gt;The registration system was a little bit less than I expected.&amp;nbsp; I would have liked to have had an interface that would let me know which presentations were coming up next and/or have an easy search to show me not only that but which presentations were in a specific venue.&amp;nbsp; Often, I found myself walking out of a meeting and would have liked to sit in on something close, but had no way of knowing aside from walking the halls and hoping to stumble upon something interesting.&amp;nbsp; Pre-registering was a nice idea, but I did change my mind on a number of things.&amp;nbsp; It would also have been nice to not have gotten evaluation e-mails for presentations that I did not attend.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;As for the big announcement, ehh...&amp;nbsp; I guess that I'm tainted by the excitement that companies like Apple create with their announcements, as I can go out and buy (or at least afford) most of the products that are announced.&amp;nbsp; With the "Database Machine", I just can't see sleeping outside of Redwood Shores so that I could be the first one to have one.&amp;nbsp; It is an intersting announcement, as Oracle has done this in the past with limited to no success.&amp;nbsp; Perhaps the second time is a charm...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7625803854892850875?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7625803854892850875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7625803854892850875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7625803854892850875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7625803854892850875'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/09/oow-2008-summary.html' title='OOW 2008 - Summary'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-6632561696545082379</id><published>2008-09-20T19:52:00.000-04:00</published><updated>2008-09-20T20:00:00.126-04:00</updated><title type='text'>OOW 2008</title><content type='html'>I've made it to San Francisco, safe and sound and only a couple minutes delayed.&amp;nbsp; Tomorrow will be a hectic day, as I am participating in the APEX Experts Panel then presenting/hosting the ODTUG APEX mini-conferece.&amp;nbsp; We have a great line-up this time, so even if you were at ODTUG this year, definitely stop by to hear what the US Army &amp;amp; Vista (the company, not the OS), WaMu, BAE Systems and Wachovia are doing with APEX.&lt;br /&gt;&lt;br /&gt;I was also greeted with a nice, heavy box of books - not just any book, but the one that I helped &lt;a href="http://www.amazon.com/Oracle-Application-Express-Proffesional-Reference/dp/159059827X/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1221955152&amp;amp;sr=8-1"&gt;John Scott&lt;/a&gt; author.&amp;nbsp; It was just weird to see the words that I wrote appear in an actual book!&lt;br /&gt;&lt;br /&gt;I did, however, find the 1st typo:&amp;nbsp; in my Biography, they erronously listed ODTUG as the Oregon Developer Tools User Group.&amp;nbsp; Oops!&amp;nbsp; At least the &lt;a href="http://tkyte.blogspot.com/2006/07/first-there-was.html"&gt;Foreword is not the Forward&lt;/a&gt;... &lt;br /&gt;&lt;br /&gt;In any case, please feel free to stop by to either session tomorrow.&amp;nbsp; You may even walk out with a new copy of the book...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-6632561696545082379?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/6632561696545082379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=6632561696545082379' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/6632561696545082379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/6632561696545082379'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/09/oow-2008.html' title='OOW 2008'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7581086607311656237</id><published>2008-08-29T09:15:00.000-04:00</published><updated>2008-08-29T09:16:23.803-04:00</updated><title type='text'>APEX 3.1.2 Available</title><content type='html'>Just before the holiday weekend here in the states, it looks like APEX 3.1.2 is available as Metalink Patch #7313609.&amp;nbsp; More details can be found &lt;a href="http://www.oracle.com/technology/products/database/application_express/index.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7581086607311656237?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7581086607311656237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7581086607311656237' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7581086607311656237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7581086607311656237'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/08/apex-312-available.html' title='APEX 3.1.2 Available'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-687941393890069960</id><published>2008-08-25T07:41:00.003-04:00</published><updated>2008-08-25T07:50:12.802-04:00</updated><title type='text'>OTN Forums Update - Take Two</title><content type='html'>Looks like Oracle updated the Forums software over the weekend.  So far, this round has gone much better in the past.&lt;br /&gt;&lt;br /&gt;I do have one major gripe with the new point system.  Everyone is a Newbie now, which kinda sucks for those who have posted hundreds or thousands of times.  Sure, quantity does not infer quality, but we all know that there are a core group of regulars on this Forum who are anything but Newbies.&lt;br /&gt;&lt;br /&gt;My main concern is how your status is actually elevated.  You only get points if someone marks their post as "answered".  Looking at this weekend's posts, many of them are answered in the thread, but not actually "set" to answered.  Thus, the person who answered the post correctly is no closer to a Guru than they were before.  I imagine that this will come in time, as people get used to the new software and policies, or at least I hope that it does.&lt;br /&gt;&lt;br /&gt;This feature does have some promise, as there are definitely some benefits - looking at the list of posts, you can immediately see which ones are already answered, thus saving time if you're either looking for an answer or looking for questions which to answer.  I think that the objectiveness of it may end up helping overall, as someone who posts a lot of "chatter" would ultimately not advance in the standings, whereas someone who posts less frequent but more correct posts would.  I guess only time will tell.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-687941393890069960?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/687941393890069960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=687941393890069960' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/687941393890069960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/687941393890069960'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/08/otn-forums-update-take-two.html' title='OTN Forums Update - Take Two'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-731901931264119010</id><published>2008-08-14T07:03:00.000-04:00</published><updated>2008-08-14T07:03:07.304-04:00</updated><title type='text'>Professor Anti-Java</title><content type='html'>I saw this article the other day:&amp;nbsp; &lt;a href="http://itmanagement.earthweb.com/entdev/article.php/3761921/The+Anti-Java+Professor+and+the+Jobless+Programmers.htm"&gt;http://itmanagement.earthweb.com/entdev/article.php/3761921/The+Anti-Java+Professor+and+the+Jobless+Programmers.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It seems that even universities are falling victim to the Internet "buzz" factor, caving in what people deem as popular and cool versus what industry actually needs.&amp;nbsp; This shift has or will cause a major issue when these students walk out of college and cannot find the challenging jobs they were promised, as companies building systems seek developers skilled in anything but Java.&amp;nbsp; Unfortunately, Ada isn't sexy; Java is.&lt;br /&gt;&lt;br /&gt;Sure, there's a demand for Java developers, and always will be for at least the forseeable future.&amp;nbsp; There's also a huge demand for what Dewar deems "trivial web applications" that can be met with a multiple number of tools.&amp;nbsp; These systems admittedly do have a different expectation when it comes to how reliable they must be as compared to an avionics system, for example.&amp;nbsp; But to the client, they are no less important.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-731901931264119010?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/731901931264119010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=731901931264119010' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/731901931264119010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/731901931264119010'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/08/professor-anti-java.html' title='Professor Anti-Java'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7768733971803201673</id><published>2008-08-13T08:29:00.000-04:00</published><updated>2008-08-13T08:30:57.511-04:00</updated><title type='text'>PL/PDF 2.0</title><content type='html'>It appears that the folks over at &lt;a href="http://www.plpdf.com/"&gt;PL/PDF&lt;/a&gt; have released version 2.0 of PL/PDF.&amp;nbsp; According to their documentation, this is the list of new features for 2.0:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- SetDocDisplayMode: doc extended &lt;br /&gt;- native PNG support (PrintImageCell, PutImage p_type) &lt;br /&gt;- use without InterMedia &lt;br /&gt;- PrintFlowingTextLimit: bad charter handling fixed &lt;br /&gt;- PrintMultiLineCell: bad charter handling fixed&lt;br /&gt;- compress: LZW without Java &lt;br /&gt;- SetCompress: new parameter: p_method &lt;br /&gt;- plpdf_const package: new entries &lt;br /&gt;- PutImage: new parameter: p_type &lt;br /&gt;- PrintImageCell: new parameter: p_type &lt;br /&gt;&lt;br /&gt;Check out PL/PDF, as it is an excellent way to generate PDF files from the Oracle Database without requiring any middle tier hardware/software, as it's mostly PL/SQL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7768733971803201673?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7768733971803201673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7768733971803201673' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7768733971803201673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7768733971803201673'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/08/plpdf-20.html' title='PL/PDF 2.0'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-50761207389961164</id><published>2008-08-13T08:15:00.000-04:00</published><updated>2008-08-13T08:17:07.258-04:00</updated><title type='text'>Those were the days...</title><content type='html'>We did some fun things back when I was working with the Oracle salesforce, but we never pushed the envelope quite this far:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://thedailywtf.com/Articles/A-Software-Problem,-A-Marketing-Solution.aspx"&gt;http://thedailywtf.com/Articles/A-Software-Problem,-A-Marketing-Solution.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Technically, it could be branded as an Oracle solution, and likely was...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-50761207389961164?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/50761207389961164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=50761207389961164' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/50761207389961164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/50761207389961164'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/08/those-were-days.html' title='Those were the days...'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3253125512799229139</id><published>2008-08-11T10:34:00.002-04:00</published><updated>2008-08-11T10:42:27.921-04:00</updated><title type='text'>It's time to what?</title><content type='html'>I've never been a huge fan of the United Airlines "It's time to fly" campaign.  It started out OK, as it was just after 9/11 that it was introduced, and was some sort of calling to the public that air travel is safe again.  It then morphed into something just a bit too artsy for what I think an airline should be trying to convey, especially in today's day and age of nickel-and-diming the passengers for everything they've got.&lt;br /&gt;&lt;br /&gt;I just received an e-mail from them with a link to their new commercials, and they are downright weird, if not freaking scary.  From the freaky crab directing an oceanic orchestra which includes a chest-thumping Shamoo to the guy who chases his paper ticket (who gets paper tickets anymore, as that costs an extra $20!) through a city and then falls into a throne help up by butterfly-people and balloons to the woman who cuts out her heart in what can only be described as a cross between a Gorillaz video and Indiana Jones and the Temple of Doom, I just don't get what they are trying to sell or convey...&lt;br /&gt;&lt;br /&gt;See for yourself:  &lt;a href="http://www.youtube.com/user/uniteditstimetofly"&gt;http://www.youtube.com/user/uniteditstimetofly&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3253125512799229139?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3253125512799229139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3253125512799229139' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3253125512799229139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3253125512799229139'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/08/its-time-to-what.html' title='It&apos;s time to what?'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4506510678902588776</id><published>2008-08-08T07:06:00.000-04:00</published><updated>2008-08-08T07:12:09.868-04:00</updated><title type='text'>I Am Rich</title><content type='html'>No, I didn't win the lottery (I don't even play, and you can't win if you don't play).&lt;br /&gt;&lt;br /&gt;Evidently, some developer created an application for Apple's new AppStore called "I Am Rich".&amp;nbsp; He charged $999.99 for it - the maximum amount allowed.&amp;nbsp; All it does is show a glowing red ruby.&amp;nbsp; That's it.&amp;nbsp; The best part?&amp;nbsp; Eight people bought it before Apple took it down.&lt;br /&gt;&lt;br /&gt;See the full article in the LA times &lt;a href="http://latimesblogs.latimes.com/technology/2008/08/iphone-i-am-ric.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4506510678902588776?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4506510678902588776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4506510678902588776' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4506510678902588776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4506510678902588776'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/08/i-am-rich.html' title='I Am Rich'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-6581074742493571517</id><published>2008-08-07T08:24:00.000-04:00</published><updated>2008-08-07T08:30:05.839-04:00</updated><title type='text'>One more obstacle removed for us Mac users</title><content type='html'>When I switched from PC to Mac, there were a few applications that I knew that I would leave behind.&amp;nbsp; The one that stung the most was the ability to host online meetings.&amp;nbsp; On Windows, there were a number of options available - GotoMeeting, WebEx, Oracle iMeeting.&amp;nbsp; You could attend some of these meetings with Mac OS X, but you could not host a meeting.&amp;nbsp; Not fun. &lt;br /&gt;&lt;br /&gt;Well, I'm happy to report that this is no longer the case, as it seems that both GotoMeeting and WebEx are offering full Mac OS X clients now, eliminating the need to spin up a Windows VM every time I want to conduct an on-line meeting.&lt;br /&gt;&lt;br /&gt;This is great news, and so far, the GotoMeeting Mac client has worked almost flawlessly!&amp;nbsp; The one downside is that you can only share your desktop; not a specific application or region.&amp;nbsp; WebEx does allow specific application and region sharing, and I hope that this feature is on the radar for GotoMeeting in the near future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-6581074742493571517?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/6581074742493571517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=6581074742493571517' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/6581074742493571517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/6581074742493571517'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/08/one-more-obstacle-removed-for-us-mac.html' title='One more obstacle removed for us Mac users'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-386881189603104461</id><published>2008-07-28T13:28:00.006-04:00</published><updated>2008-07-31T07:25:52.899-04:00</updated><title type='text'>APEXposed 2008 - Coming to Chicago this October</title><content type='html'>&lt;div class="separator" style="text-align: left;clear: both;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In case you haven't heard the news, &lt;/span&gt;&lt;a href="http://odtug.com/"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;ODTUG&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt; &amp;amp; &lt;/span&gt;&lt;a href="http://sumnertech.com/"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Sumner Technologies, LLC&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt; are proud to announce &lt;/span&gt;&lt;a href="http://www.odtugapextraining.com/"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;APEXposed 2008&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;!&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left;clear: both;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left;clear: both;"&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left;clear: both;"&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;a href="http://3.bp.blogspot.com/_PanxfbnN6iA/SJGeKsOZvqI/AAAAAAAAAEk/S-4_EUrYiEI/s1600-h/APEXBUTTON.jpg" imageanchor="1" style="background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img src="http://3.bp.blogspot.com/_PanxfbnN6iA/SJGeKsOZvqI/AAAAAAAAAEk/2WUN_3xAAFE/s200-R/APEXBUTTON.jpg" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left; clear: both; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left; clear: both; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;What's just as exciting as the conference itself is that we're teaming up with Steven Feuerstein's &lt;/span&gt;&lt;a href="http://www.odtugopp.com/"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;OPP PL/SQL conference&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt; to offer two conferences in one! &amp;nbsp;Thus, one registration fee gets you into both conferences, so you can mix and match sessions as you please. &amp;nbsp;So not only will you get to hear from some of the best minds in the APEX community, but you'll also be able to see some of the best minds in the PL/SQL community, such as Stephen himself, Brynn Llewellyn and Dr. Paul Dorsey.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left; clear: both; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left; clear: both; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left; clear: both; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left; clear: both; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left; clear: both; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In addition to the technical sessions, Oracle will also be&amp;nbsp;demonstrating&amp;nbsp;and discussing new features in SQL Developer including the new Data Modeling component that was mentioned at ODTUG. &amp;nbsp;We'll also be hosting a special event on Wednesday evening - details to be posted soon.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="text-align: left; clear: both; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"&gt;&lt;/div&gt;&lt;div class="separator" style="text-align: left; clear: both; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;You can register for both conferences here: &amp;nbsp;&lt;/span&gt;&lt;a href="http://www.odtugapextraining.com/register.htm"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;http://www.odtugapextraining.com/register.htm&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-386881189603104461?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/386881189603104461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=386881189603104461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/386881189603104461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/386881189603104461'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/07/apexposed-2008-coming-to-chicago-this.html' title='APEXposed 2008 - Coming to Chicago this October'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PanxfbnN6iA/SJGeKsOZvqI/AAAAAAAAAEk/2WUN_3xAAFE/s72-Rc/APEXBUTTON.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-2279183712954053230</id><published>2008-07-28T13:22:00.001-04:00</published><updated>2008-07-28T13:44:27.997-04:00</updated><title type='text'>Twenty-Seven APEX presentations @ OOW 2008</title><content type='html'>The numbers are in, and it looks like that there will be 27 APEX-related sessions at OpenWorld this year! &lt;br /&gt;&lt;br /&gt;Sure, you could use the requisite Schedule Builder to search for all of them... &amp;nbsp;But a way cooler (and easier) way would be to use the APEX Interactive Reports-based version, which can be found here: &amp;nbsp;&lt;a href="http://apex.oracle.com/pls/otn/f?p=338:1"&gt;http://apex.oracle.com/pls/otn/f?p=338:1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;According to &lt;a href="http://dpeake.blogspot.com/"&gt;David Peake&lt;/a&gt;, he will keep the "Seats Remaining" portion up to date.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-2279183712954053230?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/2279183712954053230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=2279183712954053230' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2279183712954053230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2279183712954053230'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/07/twenty-seven-apex-presentations-oow.html' title='Twenty-Seven APEX presentations @ OOW 2008'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3977434045813220551</id><published>2008-07-28T13:11:00.001-04:00</published><updated>2008-07-28T13:35:08.096-04:00</updated><title type='text'>Oracle Marketing Oracle APEX</title><content type='html'>I've just seen the first Oracle APEX advertisement from Oracle in the wild!  Point your browsers at &lt;a href="http://odtug.com"&gt;http://odtug.com&lt;/a&gt; and check out the banner ad (you may have to reload a couple of times to catch it).  For those too lazy to check, here's a screen shot:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;a href="http://4.bp.blogspot.com/_PanxfbnN6iA/SI3_eorWcfI/AAAAAAAAAEc/qSwyihQkP0c/s1600-h/orcl_apex_banner.png" imageanchor="1" style="background-color: transparent; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_PanxfbnN6iA/SI3_eorWcfI/AAAAAAAAAEc/TRqJOQqO9FQ/s400-R/orcl_apex_banner.png" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Clicking on it will tell a quick and compelling story that, well - just click on it and see for yourself! :)&lt;br /&gt;&lt;div class="separator" style="text-align: center; clear: both;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3977434045813220551?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3977434045813220551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3977434045813220551' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3977434045813220551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3977434045813220551'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/07/oracle-marketing-oracle-apex.html' title='Oracle Marketing Oracle APEX'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_PanxfbnN6iA/SI3_eorWcfI/AAAAAAAAAEc/TRqJOQqO9FQ/s72-Rc/orcl_apex_banner.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8750021700818965135</id><published>2008-07-16T15:55:00.003-04:00</published><updated>2008-07-16T15:56:56.836-04:00</updated><title type='text'>Oracle July 2008 Critical Patch Update</title><content type='html'>Oracle announced the details for its &lt;a href="http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujul2008.html"&gt;July 2008 Critical Patch Update&lt;/a&gt; today, and the good news is that there are no issues with APEX!&lt;br /&gt;&lt;br /&gt;Of course that doesn't mean to ignore it entirely - it's always a good practice to review these and then apply them as deemed necessary.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8750021700818965135?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8750021700818965135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8750021700818965135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8750021700818965135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8750021700818965135'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/07/oracle-july-2008-critical-patch-update.html' title='Oracle July 2008 Critical Patch Update'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-45734727849452942</id><published>2008-07-16T09:58:00.003-04:00</published><updated>2008-07-16T10:00:42.778-04:00</updated><title type='text'>New APEX Hosting Provider</title><content type='html'>It seems as if there is another entry into the APEX Hosting Provider space.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://maxapex.com/"&gt;MaxApex&lt;/a&gt; is offering APEX hosting with five pre-configured plans:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Free&lt;/li&gt;&lt;li&gt;Starter&lt;/li&gt;&lt;li&gt;Standard&lt;/li&gt;&lt;li&gt;Professional&lt;/li&gt;&lt;li&gt;Enterprise&lt;/li&gt;&lt;/ul&gt;Details of each can be found on their site. &lt;br /&gt;&lt;br /&gt;It's good to see more companies getting into this space, as there is definitely more APEX applications being developed these days, and a lot of them will need a place to call home.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-45734727849452942?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/45734727849452942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=45734727849452942' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/45734727849452942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/45734727849452942'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/07/new-apex-hosting-provider.html' title='New APEX Hosting Provider'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3790791343641480180</id><published>2008-06-16T08:55:00.002-04:00</published><updated>2008-06-16T09:35:46.584-04:00</updated><title type='text'>The Seasoning of APEX @ ODTUG</title><content type='html'>Well, my busiest day at ODTUG is already behind me!  We had somewhere around 150 participants at the APEX Symposium yesterday, which was amazing as it was both a Sunday and Father's Day. &lt;br /&gt;&lt;br /&gt;The day started off with my keynote, which I successfully navigated through 431 slides in just 30 minutes.  It was done in a different style - very rapid, each slide getting only a few seconds of display time.  From what I've heard, people liked it, as it kept them engaged, something not easy to do on a Sunday morning after a night on Bourbon Street!&lt;br /&gt;&lt;br /&gt;The day was comprised of a number of APEX customers telling their stories about how they got APEX adopted into their environments.  This was a departure from the normal "here's how to do something cool" approach, but it was a departure that was both well needed and received.  It was very interesting to see the wide range of projects being done with APEX.  One of the few common threads between all of the presenters is that each project was vastly different from the next.&lt;br /&gt;&lt;br /&gt;Today is my "down" day; I don't have anything aside from a few client calls and ODTUG meetings.  I'm looking forward to seeing a few presentations and meeting up with those that I have not had a chance to see.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3790791343641480180?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3790791343641480180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3790791343641480180' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3790791343641480180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3790791343641480180'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/06/seasoning-of-apex-odtug.html' title='The Seasoning of APEX @ ODTUG'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-1545897502592190536</id><published>2008-06-09T17:42:00.004-04:00</published><updated>2008-06-09T17:58:13.153-04:00</updated><title type='text'>Know Thy Customer</title><content type='html'>We all get telemarketer calls, even if you think you've signed up for the &lt;a href="https://www.donotcall.gov/"&gt;National Do Not Call Registry&lt;/a&gt;.  It's just a fact of life these days.  Thus, you can approach them a number of different ways:&lt;br /&gt;&lt;br /&gt;1) Simply hang up&lt;br /&gt;2) Demand to be removed from the list then hang up&lt;br /&gt;3) Make them hang up&lt;br /&gt;&lt;br /&gt;I prefer #3, but that's not what this post is about.  (ask me about my SkyMiles call, which is my personal favorite)&lt;br /&gt;&lt;br /&gt;I got a call from a certain hotel chain today that I stayed at from time to time.  The call started something like this:  "Mr. Spendoli (telltale sign of a telemarketer when the last "ni" is left off).  We're calling our preferred customers to let them in on a great deal we're having at our properties in Las Vegas and Orlando."&lt;br /&gt;&lt;br /&gt;Before I go on, I need to note that this same hotel chain scuttled my rewards point account a couple months back because I did not stay there over the past 12 months or so.  All of my accrued points went with it.  No grace period, no offer to extend.  Just plain old gone.&lt;br /&gt;&lt;br /&gt;"Well," I replied, "do you completely delete the rewards accounts of all of your preferred members?" was my reply.&lt;br /&gt;&lt;br /&gt;"Oh, I'm sorry to hear that happened.  Let me ask you a question about your income:  Do you make less than $50,000, between $50,000 and $75,000, etc." replied the agent.&lt;br /&gt;&lt;br /&gt;I then took the next few minutes trying to explain to her that I was really not up for spending money with their company in light of how I was treated.  She persisted, upping the ante to include New York and Hawaii.  I held my ground and eventually got dumped off to a manager who did little more than give me their toll free number and offer his apologies.  At least he stopped trying to sell me stuff.&lt;br /&gt;&lt;br /&gt;Now, I don't really care about this incident or my rewards points, and the call gave me something to do while having lunch, but my point here is that companies should at least make a college try to weed out potentially unhappy people before calling them and trying to sell them more stuff.  A simple query of their systems could have shown that I was a somewhat erratic customer over the past 10 years who simply had just let his account slip into the void.  This could have been parlayed into an opportunity of sorts - perhaps an offer to reinstate my account and its previous balance for at least listening to their pitch or agreeing to one of their offers.  The call would have gone in the entirely opposite direction.&lt;br /&gt;&lt;br /&gt;After all, they were calling me on their terms; they could have at least chose the correct terms!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-1545897502592190536?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/1545897502592190536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=1545897502592190536' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1545897502592190536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1545897502592190536'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/06/know-thy-customer.html' title='Know Thy Customer'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-146225945711359721</id><published>2008-05-30T07:28:00.002-04:00</published><updated>2008-05-30T07:37:30.254-04:00</updated><title type='text'>New APEX Hosting Provider... Sort of...</title><content type='html'>Just read on the &lt;a href="http://blog.revion.com"&gt;Revion blog&lt;/a&gt; that a new subsidiary called &lt;a href="http://htmldbhost.com"&gt;HTMLDBHost&lt;/a&gt; is offering APEX hosting at $24.95 for the first six months; the price goes up to the regular rate of $49.95 thereafter.&lt;br /&gt;&lt;br /&gt;It seems that you get the same levels of service, band width, disk space as the standard plan offered at Revion.com at a discounted rate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-146225945711359721?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/146225945711359721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=146225945711359721' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/146225945711359721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/146225945711359721'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/05/new-apex-hosting-provider-sort-of.html' title='New APEX Hosting Provider... Sort of...'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-1264751218044869628</id><published>2008-05-23T08:08:00.003-04:00</published><updated>2008-05-23T08:11:56.106-04:00</updated><title type='text'>APEX 3.1.1 Patchset Released</title><content type='html'>In case you missed it, the APEX 3.1.1 patchset has been released as both a patch via Metalink (patch #7032837) and a complete &lt;a href="http://www.oracle.com/technology/products/database/application_express/download.html"&gt;download&lt;/a&gt; via OTN. &lt;br /&gt;&lt;br /&gt;For a complete list of what's fixed, have a look at the patch's &lt;a href="http://www.oracle.com/technology/products/database/application_express/html/3.1.1_patchnote.html#CACJJIGE"&gt;installation notes&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-1264751218044869628?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/1264751218044869628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=1264751218044869628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1264751218044869628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1264751218044869628'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/05/apex-311-patchset-released.html' title='APEX 3.1.1 Patchset Released'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8588447692603244033</id><published>2008-05-20T16:42:00.003-04:00</published><updated>2008-05-20T16:57:08.652-04:00</updated><title type='text'>How to Spot a Phishing Site</title><content type='html'>I just got an e-mail from Bank of America:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;During our regularly scheduled account maintenance and verification procedures, &lt;/span&gt; &lt;span style="font-style: italic;"&gt;we have detected a slight error in your billing information. &lt;/span&gt; &lt;span style="font-style: italic;"&gt;This might be due to either of the following reasons:&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1. A recent change in your personal information (i.e.change of address).&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;2. Submiting invalid information during the initial sign up process.&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;3. The services look that was changed recently:&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[Banking Log-In]&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Security Advisory,&lt;br /&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Bank Of America . &lt;/span&gt;  &lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;*Important* &lt;/span&gt;  &lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;failure to update your account at least 24hrs of notice might lead to account &lt;/span&gt; &lt;span style="font-style: italic;"&gt;being locked and access will be restricted.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'll ignore the fact that I do not have a Bank of America account for the sake of this post, as that's just too easy.&lt;br /&gt;&lt;br /&gt;So let's review the signs thus far:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sign #1&lt;/span&gt;:  "Either" of the following reasons, followed by three, not two, reasons.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sign #2&lt;/span&gt;:  Poor grammar: &lt;span style="font-style: italic;"&gt;The services look that was changed recently&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sign #3&lt;/span&gt;:  Poor punctuation:  &lt;span style="font-style: italic;"&gt;failure to update your account at least 24hrs of notice might lead to account &lt;/span&gt;&lt;span style="font-style: italic;"&gt;being locked and access will be restricted.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Sign #4&lt;/span&gt;:  The fact that the URL in the e-mail resolved to this site in Poland, which is hardly where I believe the Bank of America is located:&lt;br /&gt;  http://www.gis.gov.pl/mambots/content/acc/index.htm&lt;br /&gt;&lt;br /&gt;So I clicked on it (having a Mac gives you little fear when it comes to checking out phishing sites) and got a relatively legit looking Bank of America login page.  Not running in SSL.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sign #5&lt;/span&gt;:  No SSL for username &amp;amp; password.&lt;br /&gt;&lt;br /&gt;I "signed on" with a bogus name and password, and lo and behind, it accepted it!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sign #6&lt;/span&gt;:  A completely made up username and password somehow work.&lt;br /&gt;&lt;br /&gt;Now that I'm authenticated, the URL has changed to include both the username and password which I provided:&lt;br /&gt;&lt;br /&gt;http://www.gis.gov.pl/mambots/content/acc/update.html?Access_ID=phisher&amp;amp;Current_Passcode=welcome&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sign #7&lt;/span&gt;:  Your password shows up - in clear text - in the URL&lt;br /&gt;&lt;br /&gt;Now I am presented with a form that is asking for all kinds of personal information - checking account number, SSN, online ID (which I just provided), ATM card number and PIN, and bank routing number.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sign #8&lt;/span&gt;:  Your bank asks YOU for its routing number.&lt;br /&gt;&lt;br /&gt;At this point, if I just submit the page without providing any information, it goes on to the next step.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sign #9&lt;/span&gt;:  Not a lick of validation is included anywhere in the site.&lt;br /&gt;&lt;br /&gt;Finally - the inspiration for this post - is one of the last pieces of information that the site asked me for:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_PanxfbnN6iA/SDM6UkwRQhI/AAAAAAAAAEE/LJ5EmEL1IKw/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_PanxfbnN6iA/SDM6UkwRQhI/AAAAAAAAAEE/LJ5EmEL1IKw/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5202566119680983570" border="0" /&gt;&lt;/a&gt;Third from the bottom, I am asked to provide my &lt;span style="font-weight: bold;"&gt;Father's Maiden Name&lt;/span&gt; - a piece of information so secure, that not even he knows what it is!&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8588447692603244033?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8588447692603244033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8588447692603244033' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8588447692603244033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8588447692603244033'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/05/how-to-spot-phishing-site.html' title='How to Spot a Phishing Site'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_PanxfbnN6iA/SDM6UkwRQhI/AAAAAAAAAEE/LJ5EmEL1IKw/s72-c/Picture+1.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-2632555970149267036</id><published>2008-05-15T10:53:00.002-04:00</published><updated>2008-05-15T10:58:08.074-04:00</updated><title type='text'>APEX Performance Tuning Webinar</title><content type='html'>Doug Gault from Hotsos will be presenting a FREE webinar on May 28th: &lt;a href="https://portal.hotsos.com/events/webinars/free-webinar-24-performance-tuning-apex-applications/"&gt;Performance Tuning APEX Applications&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;From the Hotsos site:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Application Express (ApEx) is a highly flexible and highly scalable Rapid Application Development environment for web applications. But what do you do when your application's success starts to become its downfall? This free, one-hour presentation will cover strategies and tactical advice for monitoring and addressing performance issues, and presents some of the best practices for making ApEx Performance Problems easy to diagnose. This webinar is presented by Doug Gault, head of Hotsos Product Development.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No one that I know of does Oracle Performance Tuning like the folks at Hotsos do, so I'm sure that this presentation will be packed with tips and best practices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-2632555970149267036?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/2632555970149267036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=2632555970149267036' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2632555970149267036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2632555970149267036'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/05/apex-performance-tuning-webinar.html' title='APEX Performance Tuning Webinar'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-2657362502477461361</id><published>2008-05-09T15:38:00.003-04:00</published><updated>2008-05-09T15:49:24.490-04:00</updated><title type='text'>Firefox Smart Keywords</title><content type='html'>I can across this post today (Disclaimer: link is very much NSFW only if you try to repeat the examples used for Urban Dictionary; also, other entries in this blog may be NSFW):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cogentmetal.org/aux/archives/2008/if-you-arent-using-firefox-smart-keywords-you-arent-smart-or-a-keyword/"&gt;http://www.cogentmetal.org/aux/archives/2008/if-you-arent-using-firefox-smart-keywords-you-arent-smart-or-a-keyword/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To summarize, Firefox allows you to not only bookmark a page, but turn that page into a function of sort, and allow you cal call that page with some sort of parameter.&lt;br /&gt;&lt;br /&gt;Thus, if you add a Smart Keyword for Google and call it "g", you can simply type "g oracle apex" into the location bar, and the resulting page would be the same as if you went to google.com, entered "oracle apex", and then clicked enter.&lt;br /&gt;&lt;br /&gt;So naturally, my first instinct to was to test this with an APEX application, and I was quite pleased to see it work flawlessly!  I added two Smart Keywords - "a" and "c", which search the Accounts and Contacts pages of my APEX-based CRM application.  No longer do I need to log in and navigate to those respective pages; I can simply key in Ctrl+L and then type "a sumner" or "c spendolini" to search for an account or contact.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-2657362502477461361?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/2657362502477461361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=2657362502477461361' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2657362502477461361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2657362502477461361'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/05/firefox-smart-keywords.html' title='Firefox Smart Keywords'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3490195979775208531</id><published>2008-05-08T09:11:00.003-04:00</published><updated>2008-05-08T09:15:30.727-04:00</updated><title type='text'>Decoding Database Features</title><content type='html'>Having just answered a question in the OTN forums on this, I figured I'd share the link that I often use to decode which feature maps to which version of the Oracle Database:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/database/product_editions.html"&gt;http://www.oracle.com/database/product_editions.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since Oracle will change what feature is included with which edition from time to time, it's handy to have this link bookmared somewhere.&lt;br /&gt;&lt;br /&gt;Also, what's most unique about this link is that it can only be (easily) found from oracle.com, not OTN.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3490195979775208531?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3490195979775208531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3490195979775208531' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3490195979775208531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3490195979775208531'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/05/decoding-database-features.html' title='Decoding Database Features'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-2295948437556269378</id><published>2008-05-07T07:54:00.002-04:00</published><updated>2008-05-07T08:02:33.494-04:00</updated><title type='text'>Debugging APEX with SQL Developer</title><content type='html'>I have been using SQL Developer since its early days, namely because it runs natively on the Mac.  Despite this fact, it has proven to be a formidable IDE to work with, allowing me to do 95% of what I need to quickly and easily, all without having to spark up a Windows VM.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this month's Oracle Magazine, &lt;a href="http://dpeake.blogspot.com/"&gt;David Peake&lt;/a&gt;, the APEX Product Manager, &lt;a href="http://www.oracle.com/technology/oramag/oracle/08-may/o38browser.html"&gt;writes about&lt;/a&gt; how to use SQL Developer to assist in debugging APEX applications.  By instrumenting your processes in APEX with just a couple lines of code, you can trap and then debug your PL/SQL from APEX in SQL Developer's debugger.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While you'll need DBA privileges to get this to work, it's something that's not intended for production environments, so I don't envision that to be much of an issue in most cases.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-2295948437556269378?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/2295948437556269378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=2295948437556269378' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2295948437556269378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2295948437556269378'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/05/debugging-apex-with-sql-developer.html' title='Debugging APEX with SQL Developer'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-180148648439907357</id><published>2008-04-29T16:52:00.002-04:00</published><updated>2008-04-29T16:57:11.068-04:00</updated><title type='text'>APEX 3.1 Public Training in July 2008 - Now Open for Registration</title><content type='html'>Based on the success of our March/April public training in Ashburn, VA, I'm happy to announce that we're going to do it again this July 21st through 25th.  Like last time, there will be two sessions - a 3-day Intro to APEX 3.1 class and a 2-day Intermediate APEX 3.1 class. &lt;br /&gt;&lt;br /&gt;Both sessions filled up completely last time, so don't wait until the last minute!&lt;br /&gt;&lt;br /&gt;More details about each class and a registration page can be found on the &lt;a href="http://sumnertechnologies.com/pls/htmldb/f?p=10000:300:0"&gt;Sumner Technologies, LLC web site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-180148648439907357?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/180148648439907357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=180148648439907357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/180148648439907357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/180148648439907357'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/apex-31-public-training-in-july-2008.html' title='APEX 3.1 Public Training in July 2008 - Now Open for Registration'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-272282162094930288</id><published>2008-04-26T09:04:00.004-04:00</published><updated>2008-04-26T09:08:30.384-04:00</updated><title type='text'>Cloning your Corporate UI with HTML DB - Part VI (Re-Post)</title><content type='html'>&lt;span style="font-style: italic;"&gt;The following is a re-post of the "Cloning your Corporate UI with HTML DB" series that I blogged about back in 2005 on the now-defunct Orablogs site. Most of the content and advise is still the same today, and has been reposted here exactly as it was on the old site.&lt;/span&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;July 12, 2005&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;What's the best way to ensure that you have more work to do? Use a statement like "That about wraps up this series" in your "final" posting in a series!&lt;/p&gt;     &lt;p&gt;As Earl Lewis &lt;a href="http://web.archive.org/web/20060313081412/http://www.orablogs.com/mt-bin/mt-comments271276.cgi?entry_id=1288" target="_blank"&gt;pointed out&lt;/a&gt;, things are not 100% correct when using MSIE. Now, there's a very simple cut-and-dry solution to this problem: Don't use MSIE. However, for those who have not yet made the switch to &lt;a href="http://web.archive.org/web/20060313081412/http://www.getfirefox.com/" target="_blank"&gt;Firefox&lt;/a&gt; yet (which, according to traffic on HTML DB Studio is still about 80% of you), you will also see this error. Thus, it is critical that you test your site in both - if not more - browsers. This is something which I simply forgot to do.&lt;/p&gt;     &lt;p&gt;It's as simple as this: the same HTML &lt;strong&gt;can&lt;/strong&gt; and &lt;strong&gt;often will &lt;/strong&gt;look different in MSIE &amp;amp; FireFox (and other browsers). It is time very well spent running through each and every page in each browser which you expect your users to use, in order to ensure that all pages render correctly. Nothing infuriates me more than a &lt;a href="http://web.archive.org/web/20060313081412/http://www.donbeyervolvo.com/volvo/volvoShoppers.asp" target="_blank"&gt;site&lt;/a&gt; which only renders correctly on MSIE! &lt;/p&gt;     &lt;p&gt;The core problem here is some abandoned JavaScript calls &amp;amp; references, left over from when I gave up on the Dynamic OTN Menus. I took a few minutes to remove all of them, and MSIE is once again, quite happy. Ironically, I had to the use the JavaScript debugger in FireFox to determine which reference was still hiding in the source, as the messages generated by MSIE are very vague. I encourage you to check out the FireFox JavaScript debugger - it's quite nice for a browser add-in. &lt;/p&gt;     &lt;p&gt;Looking around some more, I noticed that the titles on the Application Detail pages are not rendering correctly in MSIE either:&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_PanxfbnN6iA/SBMo_CN_xpI/AAAAAAAAADc/62LzgxR4czo/s1600-h/bad_msie.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_PanxfbnN6iA/SBMo_CN_xpI/AAAAAAAAADc/62LzgxR4czo/s320/bad_msie.gif" alt="" id="BLOGGER_PHOTO_ID_5193539858680759954" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;Let's take a look at the Report Template to see what HTML is being generated. Here is the relevant snippet:&lt;/p&gt;     &lt;p  class="calendar" style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;table width="100%" class="bodycopy"&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;td colspan="3" class="OTNHeadline"&amp;gt;#NAME#&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt; &lt;/span&gt;         &lt;/p&gt;     &lt;p&gt;Looks like the table has a class called &lt;strong&gt;bodycopy&lt;/strong&gt; associated with it, and the title has a class called &lt;strong&gt;OTNHeadline&lt;/strong&gt; associated with it. The class &lt;strong&gt;bodycopy&lt;/strong&gt; will be applied to all items in the table, as it is defined at the table level. When the &lt;strong&gt;#NAME#&lt;/strong&gt; token is rendered, it will first have the &lt;strong&gt;bodycopy&lt;/strong&gt; class associated with it, but it will override any directive set by &lt;strong&gt;bodycopy&lt;/strong&gt; with those set in &lt;strong&gt;OTNHeadline&lt;/strong&gt;. Those attributes not mentioned in &lt;strong&gt;OTNHeadline&lt;/strong&gt; will retain their values as per their definition in &lt;strong&gt;bodycopy&lt;/strong&gt;. &lt;/p&gt;     &lt;p&gt;Let's take a look at &lt;strong&gt;bodycopy&lt;/strong&gt; first, as that is what gets applied to the text first: &lt;/p&gt;     &lt;p  class="calendar" style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;.bodycopy { color: #000000; font-size: 12px; font-family: Arial, Helvetica, sans-serif; line-height: 14px; text-decoration: none; visited: #000000 } &lt;/span&gt;&lt;/p&gt;     &lt;p class="blogbody"&gt;Looks like quite a few things are set here: color, font size, font, link style &amp;amp; color, and something called &lt;strong&gt;line-height&lt;/strong&gt;. According to &lt;a href="http://web.archive.org/web/20060313081412/http://htmldog.com/reference/cssproperties/line-height/" target="_blank"&gt;htmldog.com&lt;/a&gt;, line-height "Specifies the height of a line of text." So if it is set to 14px as per the above class, and then apply the &lt;strong&gt;OTNHeadline&lt;/strong&gt; class: &lt;/p&gt;     &lt;p  class="calendar" style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt; .OTNHeadline { font-family: Arial Narrow, Arial; font-weight: bold; font-size: 30px; } &lt;/span&gt;&lt;/p&gt;     &lt;p class="blogbody"&gt;Since there is no definition for &lt;strong&gt;line-height&lt;/strong&gt;, the value of 14px set by &lt;strong&gt;bodycopy&lt;/strong&gt; is retained. This causes something to get chopped off at the top &amp;amp; bottom, as we're trying to render a 30px font in a 14px space. Thus, all I have to do to fix this is change the class definition of &lt;strong&gt;OTNHeadline&lt;/strong&gt; to this:&lt;/p&gt;     &lt;p  class="blogbody" style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="calendar"&gt; .OTNHeadline { font-family: Arial Narrow, Arial; font-weight: bold; font-size: 30px; &lt;strong&gt;line-height: 30px;&lt;/strong&gt; } &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;     &lt;p class="blogbody"&gt;Reload in MSIE, and things look much better now: &lt;/p&gt;     &lt;p class="blogbody"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PanxfbnN6iA/SBMpESN_xqI/AAAAAAAAADk/VoJfeNt_kEI/s1600-h/good_msie.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_PanxfbnN6iA/SBMpESN_xqI/AAAAAAAAADk/VoJfeNt_kEI/s320/good_msie.gif" alt="" id="BLOGGER_PHOTO_ID_5193539948875073186" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;     &lt;p class="blogbody"&gt;This is just one of many examples of how different browsers render the same HTML. I can assure you that this is the norm, not an exception.&lt;/p&gt;     &lt;p class="blogbody"&gt;Once again (knocking on wood), that about wraps up this series...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-272282162094930288?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/272282162094930288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=272282162094930288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/272282162094930288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/272282162094930288'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/cloning-your-corporate-ui-with-html-db_26.html' title='Cloning your Corporate UI with HTML DB - Part VI (Re-Post)'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_PanxfbnN6iA/SBMo_CN_xpI/AAAAAAAAADc/62LzgxR4czo/s72-c/bad_msie.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-490699246261476463</id><published>2008-04-24T07:42:00.003-04:00</published><updated>2008-04-24T07:46:18.394-04:00</updated><title type='text'>Cloning your Corporate UI with HTML DB - Part V (Re-Post)</title><content type='html'>&lt;span style="font-style: italic;"&gt;The following is a re-post of the "Cloning your Corporate UI with HTML DB" series that I blogged about back in 2005 on the now-defunct Orablogs site. Most of the content and advise is still the same today, and has been reposted here exactly as it was on the old site.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;July 8, 2005&lt;/span&gt;&lt;br /&gt;Finally!  I just deployed the new look for both &lt;a href="http://web.archive.org/web/20060313081319/http://htmldb.oracle.com/studio" target="_blank"&gt;Oracle HTML DB Studio&lt;/a&gt; &amp;amp; &lt;a href="http://web.archive.org/web/20060313081319/http://htmldb.oracle.com/references" target="_blank"&gt;Oracle HTML DB References&lt;/a&gt;. (I'll get to Best Practices PL/SQL a bit later today - have to do some customer calls first)  &lt;p&gt;I basically gave up on the DHTML menus - it was taking too much time and overall, I think it just didn't add enough value for me to keep pulling my hair out over. The base OTN Menus are there - clicking on them brings you to the appropriate page in OTN - where the menus work just fine...&lt;/p&gt;  &lt;p&gt;I did get a little over ambitious, and decided to give the splash page of both Studio &amp;amp; References a make-over. Check them out:&lt;/p&gt;  &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PanxfbnN6iA/SBBy4SN_xnI/AAAAAAAAADM/XXZ8lDVbZ9k/s1600-h/new_studio.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_PanxfbnN6iA/SBBy4SN_xnI/AAAAAAAAADM/XXZ8lDVbZ9k/s320/new_studio.gif" alt="" id="BLOGGER_PHOTO_ID_5192776681646966386" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PanxfbnN6iA/SBBy-SN_xoI/AAAAAAAAADU/QFZYAQNL3XI/s1600-h/new_references.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_PanxfbnN6iA/SBBy-SN_xoI/AAAAAAAAADU/QFZYAQNL3XI/s320/new_references.gif" alt="" id="BLOGGER_PHOTO_ID_5192776784726181506" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Both of them now "look &amp;amp; feel" like the rest of OTN &amp;amp; oracle.com, making it a more seamless experience for users. And it wasn't all that difficult to pull off, either. Most of the graphics were lifted from either our corporate artwork repository or oracle.com, as was most of the underlying HTML. All you have to do is peek at the HTML source, copy it into your static (or dynamic) region, and then the page, making adjustments when and where they are needed. It was more of an iterative process, not a difficult one.&lt;/p&gt;  &lt;p&gt;The only thing that may not seem obvious is how I got gray backgrounds on all of the corporate logos. This was done using the Color Replacer tool in Paint Shop Pro. The Color Replacer tool does what you would think - replaces color A with color B. It was as simple as setting color A to white (#FFFFFF) and color B to a light gray (#EEEEEE) and painting in a new background color. It helps when you have the right tool for the job!&lt;/p&gt;  &lt;p&gt;That about wraps up this series. I hope that people learned something about what it takes to create a new Theme in HTML DB based on an existing corporate standard. I like to explain it as part art, part science. You not only need to be skilled in HTML, DHTML, CSS, etc., but you need an eye for good design. It helps to be a perfectionist and pay attention to details, but don't let that consume you, as most people won't notice (or even if they do, won't care about) the slight imperfections. Have a good weekend! &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-490699246261476463?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/490699246261476463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=490699246261476463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/490699246261476463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/490699246261476463'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/cloning-your-corporate-ui-with-html-db_24.html' title='Cloning your Corporate UI with HTML DB - Part V (Re-Post)'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PanxfbnN6iA/SBBy4SN_xnI/AAAAAAAAADM/XXZ8lDVbZ9k/s72-c/new_studio.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-2295836317566560049</id><published>2008-04-23T06:43:00.002-04:00</published><updated>2008-04-23T06:47:33.595-04:00</updated><title type='text'>Cloning your Corporate UI with HTML DB - Part IV (Re-Post)</title><content type='html'>&lt;span style="font-style: italic;"&gt;The following is a re-post of the "Cloning your Corporate UI with HTML DB" series that I blogged about back in 2005 on the now-defunct Orablogs site. Most of the content and advise is still the same today, and has been reposted here exactly as it was on the old site.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;June 14, 2005&lt;/span&gt;&lt;br /&gt;In the last installment, the converted site looked pretty good, but the tabs were not quite working. The issue here was overlapping FORMs. If you look at the HTML source of the OTN Home Page, there's an HTML Form which processes the "Search" function. This form was overlapping with HTML DB's Form; thus generating an error when a tab was clicked - which essentially does an HTML POST via a JavaScript function.  &lt;p&gt;In HTML DB Templates, two commonly used tokens are &lt;strong&gt;#FORM_OPEN#&lt;/strong&gt; and &lt;strong&gt;#FORM_CLOSE#&lt;/strong&gt;. These tokens are used where you want to open &amp;amp; close the "functioning" portion of an HTML DB Page. When an HTML DB page is rendered, the #FORM_OPEN# &amp;amp; #FORM_CLOSE# tags are substituted with some dynamic values, as outlined below: &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;#FORM_OPEN#&lt;/strong&gt;  &lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;form action = "wwv_flow.accept" method = "post" name = "wwv_flow" id = "wwvFlowForm"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;input type = "hidden" name = "p_flow_id" value = "20530" id = "pFlowId" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;input type = "hidden" name = "p_flow_step_id" value = "2" id = "pFlowStepId" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;input type = "hidden" name = "p_instance" value = "2734685902684999721" id = "pInstance" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;input type = "hidden" name = "p_page_submission_id" value = "21133974" id = "pPageSubmissionId" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;input type = "hidden" name = "p_request" value = "" id = "pRequest" /&amp;gt; &amp;lt;/ table&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;#FORM_CLOSE#&lt;/strong&gt;&lt;br /&gt;   &lt;span style="font-family: courier new;font-size:85%;" &gt;&lt;span class="calendar"&gt;&amp;lt;input type = "hidden" name = "p_md5_checksum" value = "" /&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;The real beauty of these two tags is that you don't need to know what any of the above HTML really does. It's simply enough to include them in your HTML DB templates, and they will just work. That is, of course, if you don't have overlapping FORM tags...&lt;/p&gt;  &lt;p&gt;Back to our page in question. By moving the #FORM_OPEN# token to after the HTML which closes the FORM for the Search box, the page will now work. This presents a bit of a design challenge now. In the current version of HTML DB Studio, there is a Search field which only searches content in HTML DB Studio, not the rest of OTN. I'll have to think about whether I want to have a) two search boxes b) an OTN Only search box c) an HTML DB Studio Only search box or d) no search boxes. Technically, any of these four options are possible. It's just a matter of design choice.&lt;/p&gt;  &lt;p&gt;That's all for now - sorry that this has been the shortest entry, but I've been taking a class all week, and evenings have been spent catching up on e-mails, etc. Add to the mix that my wife sprained her ankle today and is not supposed to walk on it, and I am all of a sudden quite busy tonight!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-2295836317566560049?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/2295836317566560049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=2295836317566560049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2295836317566560049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2295836317566560049'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/cloning-your-corporate-ui-with-html-db_23.html' title='Cloning your Corporate UI with HTML DB - Part IV (Re-Post)'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4743159028833641394</id><published>2008-04-22T07:27:00.006-04:00</published><updated>2008-04-22T07:38:37.878-04:00</updated><title type='text'>Cloning your Corporate UI with HTML DB - Part III (Re-Post)</title><content type='html'>&lt;span style="font-style: italic;"&gt;The following is a re-post of the "Cloning your Corporate UI with HTML DB" series that I blogged about back in 2005 on the now-defunct Orablogs site. Most of the content and advise is still the same today, and has been reposted here exactly as it was on the old site.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;June 10, 2005&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Before I jump into the Page Header &amp;amp; Footer, I thought that I'd take a minute to detail how moved all of the images from www.oracle.com to htmldb.oracle.com. Using Firefox, I'm able to view a list of all images on a page by right-clicking the page and selecting View Page Info. Under the Media tab is a list of all images referenced on this page. I decided to use http://www.oracle.com/technology/products/database/oracle10g/index.html as a starting point. All in all, there were about 15 images which I saved, and then moved to htmldb.oracle.com.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PanxfbnN6iA/SA3NCyN_xmI/AAAAAAAAADE/dbNUEjGWiLE/s1600-h/page_info.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_PanxfbnN6iA/SA3NCyN_xmI/AAAAAAAAADE/dbNUEjGWiLE/s320/page_info.gif" alt="" id="BLOGGER_PHOTO_ID_5192031393151960674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I FTP'ed all of these images to a new directory on htmldb.oracle.com, in order to keep them all organized in a single place. Next, I have to change the image paths &amp;amp; BASE_HREF in the Page Template. Currently, the BASE_HREF is still set to http://www.oracle.com/technology/index.htm . Changing it to http://htmldb.oracle.com/i/ocom/ dramatically improved the way that most of the page rendered. However, as you can see below, the tabs &amp;amp; DHTML menus are based on a not-yet-copied-over CSS:&lt;!-- DELETE FROM HERE DOWN BEFORE POSTING --&gt;      &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PanxfbnN6iA/SA3MByN_xkI/AAAAAAAAAC0/KvS7pY5Dg7o/s1600-h/new_base_href.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_PanxfbnN6iA/SA3MByN_xkI/AAAAAAAAAC0/KvS7pY5Dg7o/s320/new_base_href.gif" alt="" id="BLOGGER_PHOTO_ID_5192030276460463682" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;     &lt;p&gt;So as you may have guessed, it's time to copy over the CSS files from OTN. Since I have some custom CSS entries, I decided to create a 3rd CSS file - ocom.css - which I will use for my own CSS entries. This way, I can be assured that the OTN-supplied CSS files are always in-tact.&lt;/p&gt;     &lt;p&gt;&lt;strong&gt;BASE_HREF issues&lt;br /&gt;&lt;/strong&gt;I just noticed something bad: all of the HTML DB-generated links (menus, lists, items, etc.) are picking up the BASE_HREF syntax, and appending that to the beginning of the URL, thus rendering them useless! I guess removing the BASE_HREF line altogether is my best bet. Doing so has fixed the link issues, but I'll have to keep an eye out to see if anything else is still broken.&lt;/p&gt;     &lt;p&gt;&lt;strong&gt;Broken Images&lt;/strong&gt;&lt;br /&gt;Next, I took a pass at fixing all of the broken image tags on the page. Fortunately, this task is made easier with the &lt;a href="http://web.archive.org/web/20060313125351/https://addons.mozilla.org/extensions/moreinfo.php?id=60"&gt;Web Developer&lt;/a&gt; extension. Selecting "Find Broken Images" from the Images menu yielded a nice list of what I need to fix. Thus, a simple Search &amp;amp; Replace in Dreamweaver fixed all of my Broken Image woes.&lt;/p&gt;     &lt;p&gt;Not only does it look good, it actually works:&lt;/p&gt;     &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PanxfbnN6iA/SA3MRCN_xlI/AAAAAAAAAC8/O2mvWDVrP4g/s1600-h/working.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_PanxfbnN6iA/SA3MRCN_xlI/AAAAAAAAAC8/O2mvWDVrP4g/s320/working.gif" alt="" id="BLOGGER_PHOTO_ID_5192030538453468754" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;     &lt;p&gt;&lt;strong&gt;Header &amp;amp; Footer&lt;br /&gt;&lt;/strong&gt;Let's start with the Footer, since it's the easier of the two. It looks like the footer did not change at all from one OTN look to the next. Thus, I don't have to do a thing! Woo hoo!!!&lt;/p&gt;     &lt;p&gt;The header is a different story. Let's start with the tabs. Looking at the HTML source of the Page Template in Dreamweaver, it's pretty easy to identify the HTML for the tabs:&lt;/p&gt;     &lt;p&gt; &lt;span class="calendar"&gt;&lt;div id="bannerMid"&gt;&lt;p  style="font-family:courier new;"&gt; &lt;span style="font-size:85%;"&gt;&lt;span class="calendar"&gt;&lt;div id="bannerMid"&gt;&lt;p  style="font-family:courier new;"&gt; &lt;span class="calendar"&gt;&lt;div id="bannerMid"&gt;&lt;p&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;div id="bannerMid"&amp;gt;&amp;lt;a href="/index.html" class="headlink"&amp;gt;ORACLE.COM&amp;lt;/a&amp;gt;  &amp;lt;span class="loclink"&amp;gt;TECHNOLOGY NETWORK&amp;lt;/span&amp;gt;  &amp;lt;a href="/partners/index.html" class="headlink"&amp;gt;PARTNERS&amp;lt;/a&amp;gt;  &amp;lt;a href="http://oraclestore.oracle.com" class="headlink"&amp;gt;STORE&amp;lt;/a&amp;gt;  &amp;lt;a href="http://metalink.oracle.com" class="headlink"&amp;gt;SUPPORT&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;/p&gt;&lt;a href="http://metalink.oracle.com/" class="headlink"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;a href="http://metalink.oracle.com/" class="headlink"&gt;&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/p&gt;     &lt;p&gt;Looks like the OTN folks did a nice job with these, as it's as simple as it can get. For a non-current tab, the HTML is nothing more than an "A HREF" tag with a class. A current or selected tab has a SPAN tag surrounding it. In an HTML DB Page Template, we can use the token &lt;strong&gt;#TAB_CELLS#&lt;/strong&gt; to represent where we want the tabs to be dynamically rendered. A simple edit to the above HTML is all that is needed, so that it now look like this:&lt;/p&gt;     &lt;p style="font-family: courier new;font-family:courier new;" &gt;&lt;span style="font-size:85%;"&gt;&lt;span class="calendar"&gt;&lt;div id="bannerMid"&gt;&amp;lt;div id="bannerMid"&amp;gt;#TAB_CELLS#&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;     &lt;p&gt;When HTML DB sees the &lt;strong&gt;#TAB_CELLS#&lt;/strong&gt; token, it will refer to the Standard Tab Attributes portion of the Page Template. HTML DB will then render a tab - be it current or non-current - for each tab which is defined in the Application. All we have left to do is provide some HTML for Current and Non-Current tabs. Based on a combination of the static HTML used for tabs on OTN and some more HTML DB tokens, we can easily construct the HTML for both types of tabs.&lt;/p&gt;     &lt;p&gt;Current Tab HTML: &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;a href="#TAB_LINK#" class="loclink"&amp;gt;#TAB_LABEL#&amp;lt;/a&amp;gt;  &lt;/span&gt;&lt;span class="calendar"  style="font-family:courier new;"&gt;&lt;a href="http://www2.blogger.com/post-create.g?blogID=8449039#TAB_LINK#" class="loclink"&gt;&lt;/a&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;     &lt;p&gt;Non-Current Tab HTML: &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;a href="#TAB_LINK#" class="headlink"&amp;gt;#TAB_LABEL#&amp;lt;/a&amp;gt; &lt;/span&gt;&lt;span class="calendar"  style="font-family:courier new;"&gt;&lt;a href="http://www2.blogger.com/post-create.g?blogID=8449039#TAB_LINK#" class="headlink"&gt;&lt;/a&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;     &lt;p&gt;I modified the HTML slightly for the current tab to include a link. OTN doesn't use one, but when a user is in HTML DB Studio and wants to jump to the "Technology Center" home page, I'd like that to work. Moving the CLASS inside the A HREF tag ensures that the text of the tab will be rendered the same way that the OTN ones do - in red. &lt;/p&gt;     &lt;p&gt;As a last step, we have to change some of the Tab names in the HTML DB Studio application, as those have changed. We'll also have to make the TECHNOLOGY NETWORK current for all of the pages in HTML DB Studio. With the previous look, both Current and Non-Current tabs looked identical, so there was no reason to make them look different. &lt;/p&gt;     &lt;p&gt;&lt;a href="http://htmldb.oracle.com/pls/otn/f?p=20530:1"&gt;All looks good&lt;/a&gt;, but the tabs - when clicked - are throwing up 404 Errors. &lt;/p&gt;     &lt;p&gt;50 points if you can tell me why! (I'll address it in my next entry...) &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4743159028833641394?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4743159028833641394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4743159028833641394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4743159028833641394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4743159028833641394'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/cloning-your-corporate-ui-with-html-db_22.html' title='Cloning your Corporate UI with HTML DB - Part III (Re-Post)'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_PanxfbnN6iA/SA3NCyN_xmI/AAAAAAAAADE/dbNUEjGWiLE/s72-c/page_info.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-64927879234551070</id><published>2008-04-20T07:39:00.005-04:00</published><updated>2008-04-20T07:48:17.199-04:00</updated><title type='text'>Cloning your Corporate UI with HTML DB - Part II (Re-Post)</title><content type='html'>&lt;span style="font-style: italic;"&gt;The following is a re-post of the "Cloning your Corporate UI with HTML DB" series that I blogged about back in 2005 on the now-defunct Orablogs site. Most of the content and advise is still the same today, and has been reposted here exactly as it was on the old site.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;June 8, 2005&lt;/span&gt;&lt;br /&gt;Things look really good. The page rendered almost perfectly, it all mostly lines up, and there are only a couple of broken images. We're almost done, right?  &lt;p&gt;Wrong.&lt;/p&gt;  &lt;p&gt;There is still a lot of work to be done. Essentially, as it stands now, we have created a static Page Template that doesn't play well with the rest of HTML DB. Also, there are no navigational aids for HTML DB Studio left - they have been replaced by content from OTN. Which leads us to our next step - removing more OTN content.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Removing OTN Content&lt;br /&gt;&lt;/strong&gt;First of all, I don't need the content in the 3rd column at all on my pages (Resources For, Featured Downloads, Discussion Forums). However, I do want to retain that column and define an HTML DB Region Position there, so that I can put HTML DB dynamic content there.&lt;/p&gt;  &lt;p&gt;To start , I copy the Body of my Page Template back into Dreamweaver, so that I can edit it in the WYSIWYG editor. I then remove all of the tables that make up the 3rd column content by simply selecting and deleting them. Finally, in the empty column that remains, I enter &lt;strong&gt;#REGION_POSITION_03#&lt;/strong&gt;. This will allow me to position content in the 3rd column - such as the "Most Popular" and "Recently Added" boxes that I use on the home page of HTML DB Studio. With a little formatting and tweaking, I can right-align this content as well.&lt;/p&gt;  &lt;p&gt;Next, I want to add a Region Position for the Application Menu. Just above the page where &lt;strong&gt;#BOX_BODY#&lt;/strong&gt;   &lt;!-- DELETE FROM HERE DOWN BEFORE POSTING --&gt;appears is a table which has some static content in it. I can easily delete this content and replace it with my region position - &lt;span style="font-weight: bold;" class="style1"&gt;#REGION_POSITION_02#&lt;/span&gt; - which will be the new home for my Menu. &lt;/p&gt;  &lt;p&gt;Finally, I want to remove the content in the 1st column of the page (Product Centers, Technology Centers &amp;amp; Community). In all three sites, I use this region for a List of navigable sections. Just as I did before with the other two columns, I remove all of the content, all the while being careful not to alter the underlying table structure. In place of the content, I simply enter &lt;strong&gt;#REGION_POSITION_01#&lt;/strong&gt;, which is my Region Position token.&lt;/p&gt;  &lt;p&gt;Once all of the Region Positions are defined, we now have the page layout below:&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PanxfbnN6iA/SAssOULsCRI/AAAAAAAAACk/4ycqbQyCTM8/s1600-h/broken_menu.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_PanxfbnN6iA/SAssOULsCRI/AAAAAAAAACk/4ycqbQyCTM8/s320/broken_menu.gif" alt="" id="BLOGGER_PHOTO_ID_5191291619922151698" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Note that the images associated with the Menu and List Itema are broken. This is because the &lt;strong&gt;_base_href &lt;/strong&gt;is set to &lt;strong&gt;http://www.oracle.com&lt;/strong&gt;, and our image lives on &lt;strong&gt;http://htmldb.oracle.com&lt;/strong&gt;. Since we are using a relative reference in the Menu Template, the image path resolves to &lt;strong&gt;http://www.oracle.com/i/orcl/orcl_breadcrumb_icon.gif&lt;/strong&gt; - which is the wrong server.&lt;/p&gt;  &lt;p&gt;If we look at the HTML from our template, we notice this line:&lt;/p&gt;  &lt;p style="font-family: courier new;"&gt;&lt;strong&gt;&amp;lt;base href="http://www.oracle.com/technology/index.html"&amp;gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This line is causing all relative image, CSS &amp;amp; JavaScript references to use &lt;strong&gt;http://www.oracle.com/technology/&lt;/strong&gt; as the starting point, which in turn, is causing some images to not render. Removing this line will fix the HTML DB images, but will break the portion of the site which IS using www.oracle.com as a source for its images. This presents us with a &lt;a href="http://web.archive.org/web/20060313125221/http://en.wikipedia.org/wiki/Catch-22"&gt;Catch-22&lt;/a&gt;: Removing it breaks stuff, and leaving it in breaks stuff. &lt;/p&gt;  &lt;p&gt;Since I do not have any access to make changes to www.oracle.com, and I do have access to make changes to htmldb.oracle.com, the only solution is to move all of the images, CSS files, and JavaScript libraries from www.oracle.com to a place which I can reference on htmldb.oracle.com. Only after transferring all of these files and updating the template will the site finally have no broken images. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Fixing the CSS References&lt;br /&gt;&lt;/strong&gt; Note that the buttons "Submit an Application" and "Application Submission Guide" are not rendering properly either. This is due to the fact the we have not yet referenced the previously used Cascading Style Sheet(s) in this new Page Template. Since all we did was copy HTML from OTN, there was no reference of any CSS used in our original HTML DB Page Templates.&lt;/p&gt;  &lt;p&gt;In order to correct this, let's load the production version of HTML DB Studio, view the source, and search for the term "css". (Hint: Using &lt;a href="http://web.archive.org/web/20060313125221/http://www.mozilla.org/products/firefox/"&gt;Firefox&lt;/a&gt;, you can simply hit the "/" key, start typing, the it will highlight any matches. Hitting F3 will tab to the next match. Pretty cool!) My search yielded three hits:&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;link rel="stylesheet" href="/i/orcl/otn_dyn.css" type="text/css"&amp;gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;link rel="stylesheet" href="/i/orcl/otn_new.css" type="text/css"&amp;gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;link rel="stylesheet" href="/i/css/core.css" type="text/css"&amp;gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;   Upon copying &amp;amp; pasting these three lines into the new template, the buttons (and some other minor things) were back to normal. We're getting there - we now have a solid foundation for most of our Page Body in our Template.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PanxfbnN6iA/SAsshELsCSI/AAAAAAAAACs/TRNb-iVE5zU/s1600-h/no_more_otn_content.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_PanxfbnN6iA/SAsshELsCSI/AAAAAAAAACs/TRNb-iVE5zU/s320/no_more_otn_content.gif" alt="" id="BLOGGER_PHOTO_ID_5191291942044698914" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Next, we'll tackle the Page Header &amp;amp; Footer, including how to make the Tabs work. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-64927879234551070?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/64927879234551070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=64927879234551070' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/64927879234551070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/64927879234551070'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/cloning-your-corporate-ui-with-html-db_20.html' title='Cloning your Corporate UI with HTML DB - Part II (Re-Post)'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PanxfbnN6iA/SAssOULsCRI/AAAAAAAAACk/4ycqbQyCTM8/s72-c/broken_menu.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-993305175282468709</id><published>2008-04-19T09:25:00.005-04:00</published><updated>2008-04-20T07:49:33.590-04:00</updated><title type='text'>Cloning your Corporate UI with HTML DB - Part I (Re-Post)</title><content type='html'>&lt;span style="font-style: italic;"&gt;The following is a re-post of the "Cloning your Corporate UI with HTML DB" series that I blogged about back in 2005 on the now-defunct Orablogs site.  Most of the content and advise is still the same today, and has been reposted here exactly as it was on the old site.  Enjoy!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;June 8, 2005&lt;/span&gt;&lt;br /&gt;I've often been asked how to create custom Themes &amp;amp; Templates with Oracle HTML DB.  The truth is that it’s one half Art, and one half Science.  (Note:  Percentages may vary based on what you consider “Art” and “Science”).  And since the desired look and feel varies from site to site, there’s no easy way to document these steps.&lt;br /&gt;&lt;br /&gt;Thus, I am going to attempt to “blog” my way through it, using a real-world example.&lt;br /&gt;&lt;br /&gt;As you may know, the look &amp;amp; feel of oracle.com was recently updated as part of the re-launch of oracle.com, OTN, etc.  I believe that this is now the 4th UI in 2 years for oracle.com.&lt;br /&gt;&lt;br /&gt;Three sites that I manage - Oracle HTML DB Studio, Oracle HTML DB References, and Best Practices PL/SQL – are running in the previous “livery”, and need to be updated.  I figured that this is as good an example as any to illustrate how to change the look &amp;amp; feel of an HTML DB application without changing the underlying functionality.&lt;br /&gt;&lt;br /&gt;Like any good craftsman, you need good tools in order to do a good job.  (Hint:  never buy the cheapest ANYTHING at Home Depot – it will break, and then you will end up re-buying the more expensive one anyways)  Here’s what I plan on using:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mozilla Firefox w/these extensions:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Web Developer&lt;/li&gt;&lt;li&gt;ColorZilla&lt;/li&gt;&lt;li&gt;ieview&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;DreamWeaver MX &lt;/li&gt;&lt;li&gt;PaintShop Pro&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Getting Started&lt;/span&gt;&lt;br /&gt;Since it gets the most traffic of the three, I am going to use HTML DB Studio as the baseline application.  Truth be told – it really doesn’t matter which one I use, as once I have my theme completed, I can apply it to all three.&lt;br /&gt;&lt;br /&gt;As a first step, I exported HTML DB Studio and then re-imported it as a new application.  This way, the production site won’t reflect any of my changes until I am completely done.  Feel free to pop in on the Work in Progress.&lt;br /&gt;&lt;br /&gt;The next step is to determine which Templates in my Theme will need to be re-worked.  Overall, I have 33 templates in my oracle.com FY06 Theme.  If you navigate to this page:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Workspace HTML DB STUDIO &gt; Builder - Application 20530 &gt; Shared Components &gt; Themes &gt; Templates &gt; Template Utilization&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can see which of your templates are actually being used by a specific application.  In my Theme, there are 13 templates which are not used.  Thus, I need to initially only be concerned with the 20 which are referenced, as the “unused” 13 may be referenced in another application.  Either way, this reduces the amount of work required.&lt;br /&gt;&lt;br /&gt;Now that I have a short list, I’m going to try to make it even shorter.  In some cases – such as my button template – I will not need to make any changes, as the template will look OK in both the new and old UI’s.  I can further reduce my list by one or two more templates here.  Sometimes you’ll be able to do better…&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where to Start&lt;br /&gt;&lt;/span&gt;I’ve found that the best place to start is with the Page Template.  Replicating the structure of your desired UI makes assembling all of the components that much easier.  Unfortunately, this is typically the most time-consuming task, as Page Templates can be rather large.  Depending on how much the target page differs from your current page, you’ll need to decide whether to try to retrofit it or start from scratch.  Since it looks like the new oracle.com look is simpler than the previous one, I am going to start from scratch.&lt;br /&gt;&lt;br /&gt;An Oracle HTML DB Page Template is nothing more than HTML sprinkled with HTML DB-specific tokens, used to substitute sub-templates and/or values.  Thus, you could go to oracle.com, save the HTML Source, paste it into an HTML DB Page Template, and the results should be similar, save the relative image &amp;amp; CSS references which would break.  That’s exactly what I’m going to do!&lt;br /&gt;&lt;br /&gt;Uh-oh:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;Your browser sent a request that this server could not understand.&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;mod_plsql: /pls/otn/wwv_flow.accept HTTP-400 Value param too long. Length is 43467. Upper limit is 32512&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Looks like I need to slim down the code, as I am around 10k over the 32k limit.  I’ll take that same source and paste it into DreamWeaver, and then remove any content.  Remember, we’re just trying to build the structure of the page – we’ll use HTML DB Regions to populate the page with content.&lt;br /&gt;&lt;br /&gt;Cutting out all of the content from the center region of the OTN Home page got us well under the 32k limit.  I also took a couple of minutes and ensured that the token #BOX_BODY# was placed in the newly-empty center region.  #BOX_BODY# will be substituted with the HTML DB Regions for a specific page – reports, forms, HTML, PL/SQL, etc.&lt;br /&gt;&lt;br /&gt;Next, let’s set the Theme to use our new Page Template as the Default Page Template.  From the Themes page, click on the edit icon next to your Theme, and then select your Page Template as the default Page Template and Apply Changes.  If pages in your application are set to use the Default Page Theme, then you should instantly see the new Theme in action – as ugly as it may be.&lt;br /&gt;&lt;br /&gt;I’ll have to say that this was the BEST first draft that I have seen in a while:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_PanxfbnN6iA/SAn03ELsCPI/AAAAAAAAACY/iwWbtdbZreI/s1600-h/1st_draft.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_PanxfbnN6iA/SAn03ELsCPI/AAAAAAAAACY/iwWbtdbZreI/s320/1st_draft.gif" alt="" id="BLOGGER_PHOTO_ID_5190949272373954802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;However, we’re a long way from being done, as things like Authentication, Tabs, Region Templates, CSSs, and Lists still need to be translated over.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spendolini.blogspot.com/2008/04/cloning-your-corporate-ui-with-html-db_20.html"&gt;Continue to Part II&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-993305175282468709?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/993305175282468709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=993305175282468709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/993305175282468709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/993305175282468709'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/cloning-your-corporate-ui-with-html-db.html' title='Cloning your Corporate UI with HTML DB - Part I (Re-Post)'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_PanxfbnN6iA/SAn03ELsCPI/AAAAAAAAACY/iwWbtdbZreI/s72-c/1st_draft.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-2375924910584385221</id><published>2008-04-18T08:33:00.005-04:00</published><updated>2008-04-18T08:53:26.026-04:00</updated><title type='text'>Customizing Validation Error Messages</title><content type='html'>APEX validations allow a server-side validation to occur for a number of different conditions - item not null, item is numeric/alphanumeric, regular expressions, etc.  When a validation fails, you have four options to display the corresponding error message:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;ol&gt;&lt;li&gt;Inline with Field&lt;/li&gt;&lt;li&gt;Notification Message&lt;/li&gt;&lt;li&gt;Both inline with field &amp;amp; Notification Message&lt;/li&gt;&lt;li&gt;Separate Error Page&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;With a simple template modification, you can create a fifth option, which is a variation of option #3 above.  It will still display the message in the notification, but only highlight the label of the item in question.&lt;br /&gt;&lt;br /&gt;This allows for a couple of things:  first, if you have a form with a number of items and a fixed width template, error messages inline with items will wreak havoc on the layout, pushing items off to the right and misalign your entire page.  By only highlighting the label of the item in question, the user is aware of where the issue is, and can simply look in the notification region to understand what needs to be done to correct the issue.&lt;br /&gt;&lt;br /&gt;Here's a screenshot of a page with three items that have NOT NULL validations associated with them.  The label template denotes that each of these fields are NOT NULL with the "*" prefix.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PanxfbnN6iA/SAiWrQz7uHI/AAAAAAAAACA/4h50OxJgKPM/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 488px; height: 61px;" src="http://3.bp.blogspot.com/_PanxfbnN6iA/SAiWrQz7uHI/AAAAAAAAACA/4h50OxJgKPM/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5190564240535828594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And when the page is submitted without any values, here is the result:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_PanxfbnN6iA/SAiW_wz7uII/AAAAAAAAACI/nhPHmh3xnd4/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 475px; height: 87px;" src="http://1.bp.blogspot.com/_PanxfbnN6iA/SAiW_wz7uII/AAAAAAAAACI/nhPHmh3xnd4/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5190564592723146882" border="0" /&gt;&lt;/a&gt;Notice that no error messages are displayed inline; only the labels are highlighted in a pink color, denoting that there is an issue with each one.  Reading the notification will explain what each of the issues are and potentially offer advise on how to correct them.&lt;br /&gt;&lt;br /&gt;This trick is achieved with a simple modification to the Required Label Template that you are using on your page.  The changes are quite simple; all that needs to be modified is the &lt;span style="font-weight: bold;"&gt;Error Display&lt;/span&gt; section, as illustrated below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_PanxfbnN6iA/SAiXiwz7uJI/AAAAAAAAACQ/g10fRRJcQkA/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 476px; height: 144px;" src="http://1.bp.blogspot.com/_PanxfbnN6iA/SAiXiwz7uJI/AAAAAAAAACQ/g10fRRJcQkA/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5190565194018568338" border="0" /&gt;&lt;/a&gt;In this example, I simply added a style tag (&lt;span style="font-weight: bold;"&gt;style="background-color:#ffa0a7;"&lt;/span&gt;)to the &lt;span style="font-weight: bold;"&gt;On Error Before Label&lt;/span&gt; attribute.  This is what changes the background color to pink for a specific label.  You can add any additional attributes here to do whatever you would like to.&lt;br /&gt;&lt;br /&gt;Just as important as what was added is what was removed.  The token for the actual error message - &lt;span style="font-weight: bold;"&gt;#ERROR_MESSAGE#&lt;/span&gt; - was removed from the &lt;span style="font-weight: bold;"&gt;On Error After Label&lt;/span&gt; attribute.  Thus, when APEX renders an item with this Error Template, the only thing that changes is the background color; the Error Message is not added.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-2375924910584385221?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/2375924910584385221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=2375924910584385221' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2375924910584385221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2375924910584385221'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/customizing-validation-error-messages.html' title='Customizing Validation Error Messages'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PanxfbnN6iA/SAiWrQz7uHI/AAAAAAAAACA/4h50OxJgKPM/s72-c/Picture+1.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-6071371721590798852</id><published>2008-04-17T06:33:00.003-04:00</published><updated>2008-04-17T06:40:11.874-04:00</updated><title type='text'>RIP OraBlogs.com</title><content type='html'>It seems as if someone didn't pay the bills, and OraBlogs.com - where my first blog was started - has been taken over by a, well, let's just say a less savory site.   The content of the new site is slightly NSFW; clicking on any of the links we can only assume is definitely NSFW. &lt;br /&gt;&lt;br /&gt;The real shame is that it seems as if all of the content from not only my old blog, but those of several others, is gone and unable to be recovered.  A couple of weeks back, I did manage to save off my posts about Cloning your Corporate UI, and will eventually resurrect them and re-post it here.  However, all of my other content is lost for good, it seems. :(&lt;br /&gt;&lt;br /&gt;In any case, you may want to change your bookmarks &amp;amp; links to not reference orablogs.com anymore.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-6071371721590798852?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/6071371721590798852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=6071371721590798852' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/6071371721590798852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/6071371721590798852'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/rip-orablogscom.html' title='RIP OraBlogs.com'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7584182139363468054</id><published>2008-04-15T21:26:00.002-04:00</published><updated>2008-04-15T21:27:58.642-04:00</updated><title type='text'>Oracle Critical Path Update for APEX</title><content type='html'>More of a false alarm than anything else - it seems as if the two issues are resolved in APEX 3.0.1.  Upgrading to 3.0.1 or the latest release - APEX 3.1 - should fix the two identified issues.&lt;br /&gt;&lt;br /&gt;For those running APEX 3.0, 2.2 or earlier, it looks like it's time to take a look at getting up to date!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7584182139363468054?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7584182139363468054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7584182139363468054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7584182139363468054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7584182139363468054'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/oracle-critical-path-update-for-apex.html' title='Oracle Critical Path Update for APEX'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4442027296228415162</id><published>2008-04-13T08:52:00.002-04:00</published><updated>2008-04-13T08:55:48.738-04:00</updated><title type='text'>Oracle Critial Patch Update Fixes 2 APEX Issues</title><content type='html'>As if April 15th doesn't bring enough joy to those of us in the US (Hint:  it's tax day!), Oracle is scheduling its release of its next &lt;a href="http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuapr2008.html"&gt;Critical Patch Update&lt;/a&gt; on the same day as most of us will be making a frantic late-day trip to the post office.&lt;br /&gt;&lt;br /&gt;From the bulletin on OTN:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;This Critical Patch Update contains &lt;/span&gt;&lt;span style="font-style: italic;" class="draft"&gt;17&lt;/span&gt;&lt;span style="font-style: italic;"&gt; new  security fixes for the Oracle Database including 2 for Oracle Application Express.  &lt;/span&gt;&lt;span style="font-style: italic;" class="draft"&gt;Two&lt;/span&gt;&lt;span style="font-style: italic;"&gt; of  these vulnerabilities may be remotely exploited without authentication,    i.e. may be exploited over a network without the need for a username and    password. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;While somewhat vague, it does seem that there are a couple of APEX-related issues that will be addressed.  We'll just have to wait and see what they are specifically...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4442027296228415162?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4442027296228415162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4442027296228415162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4442027296228415162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4442027296228415162'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/oracle-critial-patch-update-fixes-2.html' title='Oracle Critial Patch Update Fixes 2 APEX Issues'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-9190735848485351411</id><published>2008-04-13T08:48:00.004-04:00</published><updated>2008-04-13T08:51:36.257-04:00</updated><title type='text'>Orace APEX Day in Dublin</title><content type='html'>If you're in Dublin next week, Oracle Ireland is hosting an &lt;a href="http://www.irishdev.com/EventDetails.aspx?id=1054"&gt;APEX Developers Day&lt;/a&gt; at its offices in Clontarf.  It seems as if the event is free of charge, but more information can be gained by e-mailing &lt;span class="arial12"&gt; &lt;a href="mailto: amanda.fay@oracle.com"&gt;amanda.fay@oracle.com&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-9190735848485351411?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/9190735848485351411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=9190735848485351411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/9190735848485351411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/9190735848485351411'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/04/orace-apex-day-in-dublin.html' title='Orace APEX Day in Dublin'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4333128808600082503</id><published>2008-03-19T09:49:00.001-04:00</published><updated>2008-03-19T09:51:23.103-04:00</updated><title type='text'>Oracle APEX 3.1 Press Release</title><content type='html'>Looks like the &lt;a href="http://www.prnewswire.com/cgi-bin/stories.pl?ACCT=104&amp;amp;STORY=/www/story/03-18-2008/0004776354&amp;amp;EDATE="&gt;press release&lt;/a&gt; for APEX 3.1 has hit the wire.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4333128808600082503?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4333128808600082503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4333128808600082503' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4333128808600082503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4333128808600082503'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/03/oracle-apex-31-press-release.html' title='Oracle APEX 3.1 Press Release'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-4915404267600570681</id><published>2008-03-18T22:43:00.003-04:00</published><updated>2008-03-18T22:45:18.613-04:00</updated><title type='text'>New APEX Blog</title><content type='html'>&lt;a href="http://jastraub.blogspot.com"&gt;Jason Straub&lt;/a&gt;, another APEX developer, has recently joined the ranks of the APEX bloggers.  He kicks things off with a not-so-short post about getting APEX &amp;amp; NTLM integrated with PL/SQL.  That would sure make a nice addition to the supported APEX Authentication Schemes...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Scott -&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-4915404267600570681?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/4915404267600570681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=4915404267600570681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4915404267600570681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/4915404267600570681'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/03/new-apex-blog.html' title='New APEX Blog'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-1644706054487935420</id><published>2008-02-29T14:35:00.003-05:00</published><updated>2008-02-29T15:15:55.180-05:00</updated><title type='text'>APEX 3.1 Released</title><content type='html'>Just in time for the weekend, it looks like &lt;a href="http://apex.oracle.com/i/index.html"&gt;APEX 3.1&lt;/a&gt; is available for download.&lt;div&gt;&lt;br /&gt;&lt;div&gt;Unfortunately, I will not have time to install it, as I will be watching my beloved  &lt;a href="http://suathletics.com/"&gt;Orangemen&lt;/a&gt; fight for a slot in the NCAA tournament up in &lt;a href="http://weather.yahoo.com/forecast/USNY1434.html"&gt;Syracuse, NY&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-1644706054487935420?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/1644706054487935420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=1644706054487935420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1644706054487935420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/1644706054487935420'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/02/apex-31-released.html' title='APEX 3.1 Released'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3946817106837247605</id><published>2008-02-13T07:51:00.002-05:00</published><updated>2008-02-13T08:00:22.714-05:00</updated><title type='text'>Region Attributes Feature in APEX 3.1</title><content type='html'>Patrick Wolf &lt;a href="http://www.inside-oracle-apex.com/2008/02/undocumented-new-features-in-oracle.html"&gt;blogged&lt;/a&gt; about a new feature of APEX 3.1 called Region Attributes.  I remember trying to get this in to HTML DB 1.6, back when I was the Product Manager in 2003!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Basically, this feature enables you to specify a parameter at the region level which, in turn, will be placed where the #REGION_ATTRIBUTE# tag is located in the template itself.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This feature will definitely cut down on the number of templates required for an application, as going with Patrick's example, the width of a region template can be defined differently for each instantiation of that template.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I just ran into this issue with a client and had to use a slight workaround.  We have an application with 7 tabs - each of which is a different function.  We wanted to indicate which function a user was performing by placing the corresponding icon in the region itself.  I did not want to have to create 7 almost identical region templates, as that would be too cumbersome to manage.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, I simply created an Application Item called G_ICON, and then referred to that in my region template using the following notation: &lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;&amp;amp;G_ICON.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On each page, I created a Before Header computation that sets the value of G_ICON.  Thus, as the user moves from tab to tab, they will see a different icon, and I only have to manage the contents of a single region template.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This method will be unnecessary once APEX 3.1 is released, but if you do have the need for a very dynamic region or other template, it may come in handy today and in the future.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3946817106837247605?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3946817106837247605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3946817106837247605' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3946817106837247605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3946817106837247605'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/02/region-attributes-feature-in-apex-31.html' title='Region Attributes Feature in APEX 3.1'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8447149969578314451</id><published>2008-02-08T12:59:00.001-05:00</published><updated>2008-02-08T13:01:15.686-05:00</updated><title type='text'>MAOP Brown Bag Lunch - Update</title><content type='html'>The folks at MAOP inform me that there are only a few seats left for this free event.  So, if you're on the fence about attending, act fast and &lt;a href="http://www.prairiesystemsgroup.com/pls/caat/caat_online_registration.add_registration?conference_id=27&amp;amp;registration_type=NORMAL"&gt;register&lt;/a&gt; today!&lt;br /&gt;&lt;br /&gt;Some of the topics that my presentation/demo will address:&lt;br /&gt;&lt;br /&gt;- MS Outlook Integration&lt;br /&gt; - Contacts &amp;amp; Events&lt;br /&gt;- DHTMLX Tree Integration&lt;br /&gt;- FusionCharts&lt;br /&gt;- PL/PDF&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8447149969578314451?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8447149969578314451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8447149969578314451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8447149969578314451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8447149969578314451'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/02/maop-brown-bag-lunch-update.html' title='MAOP Brown Bag Lunch - Update'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-8314790016400140803</id><published>2008-01-16T12:38:00.000-05:00</published><updated>2008-01-16T12:46:36.111-05:00</updated><title type='text'>MAOP Brown Bag Lunch</title><content type='html'>I've been invited to speak at the &lt;a href="http://maop.org"&gt;Mid-Atlantic Oracle Professionals&lt;/a&gt; user group's Brown Bag &lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;Lunch series.  The presentation, &lt;span style="font-weight: bold; font-style: italic;"&gt;You Can't do THAT with a Browser - Part II&lt;/span&gt; - is a continuation of addressing how to incorporate 3rd party tools and other non-traditional technologies with APEX.  The original presentation can be downloaded from ODTUG.com &lt;a href="http://www.odtug.com/pls/htmldb/f?p=500:711:::::P711_CONTENT_ID:2381"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The presentation is set for 28-FEB-2008 at noon at the &lt;a href="http://www.bbn.com/utility/contact/virginia"&gt;offices of BBN Technologies&lt;/a&gt; in Arlington, Virginia - just a stone's throw from where I lived for the better part of 6 years or so.  There is no charge, but you will need to &lt;a href="http://www.prairiesystemsgroup.com/pls/caat/caat_online_registration.add_registration?conference_id=27&amp;amp;registration_type=NORMAL"&gt;register&lt;/a&gt;, and space is limited.&lt;br /&gt;&lt;br /&gt;I hope to see some of you who live in the DC area there!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-8314790016400140803?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/8314790016400140803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=8314790016400140803' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8314790016400140803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/8314790016400140803'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/01/maop-brown-bag-lunch.html' title='MAOP Brown Bag Lunch'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-6129934874488357867</id><published>2008-01-15T09:12:00.000-05:00</published><updated>2008-01-15T10:22:47.965-05:00</updated><title type='text'>Productivity to Take a Hit at 9:00 AM PST Today</title><content type='html'>Yes, it's that time of year, when legions of IT professionals and graphic designers alike skip lunch to sit in front of a browser and rapidly click "refresh" for the better part of an hour and a half.  &lt;a href="http://www.macworldexpo.com/"&gt;MacWorld&lt;/a&gt; is upon us!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apple really does a good job of creating a &lt;a href="http://www.google.com/search?hl=en&amp;amp;q=there%27s+something+in+the+air&amp;amp;btnG=Google+Search"&gt;buzz&lt;/a&gt;.  They are well aware that people will start watching the Moscone Center at least a week before the show for any &lt;a href="http://www.appleinsider.com/articles/08/01/11/apple_hoists_theres_something_in_the_air_macworld_banners.html"&gt;banner&lt;/a&gt;, sign, or shipping container with a Cupertino, CA address on it.  This year, of course, it's the "There's something in the air" banner, which has led to a number of predictions from WiMax-enabled MacBooks to the new ultra-portable that has been unanimously coined the MacBook Air.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll admit, it is fun to join in on the speculation - at least in moderation.  I suppose there's some element of pride to be had if you're right, as that would put your thought process on par with that of Steve Jobs' - if only for a moment.  However, there is one concern with this type of marketing that Apple needs to consider:  corporate customers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The corporate customer - which Apple is aggressively seeking now that Vista has been all but recalled - needs to plan and budget their purchases.  They can't always afford to wait until mid-January (or even earlier this year with the surprise MacPro update) to purchase equipment.  In fact, many of them need to use their funding by the end of the year or risk losing it.  Imagine if you personally bought a MacPro a couple of weeks before they were refreshed.  Now multiply that by 500 or 1000 or even 2,500 and you can start to understand the level of buyer's remorse that a corporation would experience.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apple also needs to consider that a good number of these new corporate customers who are starting to consider Macs are not the "fanboys" that have owned Macs since Hulk Hogan being on TV was something to get excited about.  Their culture is vastly different and much more calculated.  Think John Hodgeman's character in the Get a Mac commercials.  Corporate customers need to plan upgrades, not just go to the Apple Store and buy 2,000 Macs.  They are a more conservative and calculated bunch.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As Apple courts this market more and more, I think that the veil of secrecy of "one more thing" will need to be lifted, at least with the Mac desktop &amp;amp; laptop lines.  This will enable corporate customers to more accurately plan their purchases and feel better about their investment not being refreshed just weeks after it was made.  It will also give corporate customers more confidence that there is nothing coming out in the next few months that will make them wish they did wait.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sure, I think that iPods, iPhones, AppleTV and the more consumer-based products can still be kept secret until the keynote.  Most of us know that when you get anything high-tech, its days are numbered.  Apple even botched this up with the iPhone price drop a few months back.  &lt;/div&gt;&lt;div&gt;What fun would MacWorld be without some rampant yet typically completely inaccurate speculation combined with the excitement of potentially thinking like Steve!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-6129934874488357867?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/6129934874488357867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=6129934874488357867' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/6129934874488357867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/6129934874488357867'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2008/01/productivity-to-take-hit-at-900-am-pst.html' title='Productivity to Take a Hit at 9:00 AM PST Today'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-7002891099549168533</id><published>2007-11-26T17:02:00.000-05:00</published><updated>2007-11-26T17:06:44.781-05:00</updated><title type='text'>A New Addition</title><content type='html'>&lt;div&gt;Introducing Owen Price Spendolini!  Owen made his debut on Tuesday, November 20th at 10:37AM - just in time for Thanksgiving.  Mom was induced around 8:30AM, and Owen wasted no time in getting out!  He weighed in at 8 lbs. 9 oz. and 21 1/2", and already looks like a mini-linebacker!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Isabella has adjusted quite well to him, giving him a hug and kiss before trying to poke out his eye.  Here's a picture of the happy big sister with Owen:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_PanxfbnN6iA/R0tCsK0ljcI/AAAAAAAAAB4/DSb8nAK1A70/s1600-h/Picture+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_PanxfbnN6iA/R0tCsK0ljcI/AAAAAAAAAB4/DSb8nAK1A70/s320/Picture+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5137273126532779458" /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've already realized that changing the diaper of a boy is much more complex than that of a girl! :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-7002891099549168533?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/7002891099549168533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=7002891099549168533' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7002891099549168533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/7002891099549168533'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2007/11/new-addition.html' title='A New Addition'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_PanxfbnN6iA/R0tCsK0ljcI/AAAAAAAAAB4/DSb8nAK1A70/s72-c/Picture+1.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-3002710627858383082</id><published>2007-11-15T12:15:00.001-05:00</published><updated>2007-11-15T12:22:58.220-05:00</updated><title type='text'>Overweight Ajax</title><content type='html'>I came across an interesting article this morning on Ajaxian:  &lt;a href="http://ajaxian.com/archives/ajax-browsers-running-out-of-time"&gt;Ajax, Browsers, Running Out of Time&lt;/a&gt;.  The crux of the article is that the author's PC consistently gets bogged down if he leaves Ajax-heavy applications - such as Google Mail, Zimbra &amp;amp; Yahoo Mail - up for most of the day.   I can understand his pain, as i have noticed similar behavior with the new Yahoo Mail.  Sure, it's much "cooler" and easier to use than the "classic" version, but it comes with a cost.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;This is why I am still very cautious and conservative when using Ajax components in APEX applications.  It's still too easy to create code that just doesn't play nice with browsers.  It's also 100% impossible to discern what else a browser is running when your Ajax component is fired up, which makes it all the more difficult to ensure that your code doesn't step on someone else's.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For better or worse, perception is reality.  If large-scale Ajax applications that the masses use degrade overall confidence in the technology, it will be even harder in the future to convince clients that even the smallest Ajax component in an APEX application is scalable, secure, and a good investment.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-3002710627858383082?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/3002710627858383082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=3002710627858383082' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3002710627858383082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/3002710627858383082'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2007/11/overweight-ajax.html' title='Overweight Ajax'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8449039.post-2073847716501279062</id><published>2007-11-13T08:04:00.001-05:00</published><updated>2007-11-13T08:09:19.148-05:00</updated><title type='text'>Announcing APEX Public Training</title><content type='html'>In the midst of all of the OOW blogs, I hope this one makes it through!  I didn't make it to OOW as we're expecting our second child any day, hour or minute now, and being clear across the country would not have been the best idea that I've come up with...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In any case, I'm pleased to announce that Sumner Technologies, LLC has scheduled its first public training session.  It will be held from January 28th through January 30th, 2008 in Ashburn, Virginia.  The course will be Introduction to APEX 3.0, which is designed to provide an extensive overview of APEX using mostly hands-on exercises.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More details can be found here: &lt;a href="http://sumnertechnologies.com/pls/htmldb/f?p=10000:300"&gt;http://sumnertechnologies.com/pls/htmldb/f?p=10000:300&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8449039-2073847716501279062?l=spendolini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spendolini.blogspot.com/feeds/2073847716501279062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8449039&amp;postID=2073847716501279062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2073847716501279062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8449039/posts/default/2073847716501279062'/><link rel='alternate' type='text/html' href='http://spendolini.blogspot.com/2007/11/announcing-apex-public-training.html' title='Announcing APEX Public Training'/><author><name>Scott</name><uri>http://www.blogger.com/profile/01187435106015051061</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://static.flickr.com/30/45295685_29001411b4.jpg?v=0'/></author><thr:total>0</thr:total></entry></feed>
