Skip to main content

Posts

Another New Addition

No, not anohter baby - one is more than enough! A few weeks ago, Sumner Technologies welcomed Josh Millinger as employee #2. Josh also comes from Oracle, where he was for over 10 years prior to leaving. During his tenure there, Josh was responsible for managing the Oracle Partner Technology Center (now called the Oracle Enterprise Technology Center) in Reston, VA. I have known Josh personally since the 1st day I moved to the Washington, DC area, and am thrilled that he has decided to jump the ship and take the plunge into the world of small business with me.

Banner Generator

I was writing an installation script today, and wanted to have a large banner displaying the product name as part of it. I fondly remember the UNIX banner command, where you could type " banner sumner " and get something like this: ###### ## ## ## ## ## ## ######## ######## ## ## ## ## ### ### ### ## ## ## ## ## ## ## #### #### #### ## ## ## ## ###### ## ## ## ### ## ## ## ## ###### ######## ## ## ## ## ## ## #### ## ## ## ## ## ## ## ## ## ## ### ## ## ## ###### ####### ## ## ## ## ######## ## ## So I SSH'ed into a Linux machine to try to get the same result quickly & easily. No dice! Not to be deterred, I hit up Google and got this link: http://www.network-science.de/ascii/ Not only can I generate a banner as I did above, but you can get all kinds of fancy, like this: ___ _ _ _ __ ___ _ __ ___ _ __ / __| | | | '_ ` _ \| '_ \ / _ \ ...

Ajax Memory Tree Article on OTN

My article, " Building an Ajax Memory Tree " has finally been published on OTN. It was also picked up by Ajaxian today, and got decent reviews there! In this article, I discuss how you can use ApEx & Ajax to create a new type of Tree. This Ajax-based tree is more lightweight than the built-in ApEx tree. You can also search for a node in my version, and have the Tree automatically expand to that node - something which the built-in ApEx Tree cannot do. To give credit where credit is due, the basis for the Tree which I create in the article is based on Carl Backstrom's Ajax-based tree .

ApEx 2.2 Evaluation

Looks like the ApEx folks have an Evaluation Version of ApEx 2.2. Just got my credentials and was able to sign on. At first glance, you will notice that the Application Builder pages have been given a face-lift: There are also some new icons next to the "Run" icon for Comments, Page Locks, Export the Page, and Search. Three new Themes have made it into Release 2.2: Blue Gray, Dark Blue, & Modern. I'm a fan of Blue Gray, but could take of leave the other two. One of my favorite new features has to be the way report columns are re-ordered. Prior to Release 2.2, each time you wanted to move a column up or down, you had to submit the page. Now, thanks to some DHTML, you can easily and quickly move columns up and down. This alone will save me time on my use of the tool. On that same page, each section has been moved to a DHTML "hide & show" region - no more scrolling to the lower depths of the page to set up CSV export! This approach was also impleme...

A New Addition

On Wednesday, April 27th, we welcomed Isabella Lillian Spendolini into the world. She was 7 lbs 7 oz and 20". Both mom and little Izzy are doing well. All three of us have been trying to get some rest this week. Fortunately, Grandma is in town and has taken over pretty much all day to day tasks.

ApEx Open Source Applications

There is now an ApEx project on SourceForge.net. There is also a Project Home Page, hosted on apex.oracle.com here . According to the site, the goal of the project is to "facilitate development of Oracle Application Express (APEX) applications until they gain enough momentum of their own to become their own separate projects." Some of the initial projects include a Forum, Wiki, Blog, and AskSomeone, which if you can't tell, is based on AskTom.oracle.com. This move represents another step in the maturity of ApEx as a development environment. As this project grows, more "cookie cutter" applications will be available for common tasks, making it even easier and quicker to deploy ApEx applications.

Custom Export to CSV

It's been a while since I've updated my blog. I've been quite busy lately, and just have not had the time that I used to. We're expecting our 1st child in just a few short weeks now, so most of my free time has been spent learning Lamaze breathing, making the weekly run to Babies R Us, and relocating my office from the larger room upstairs to the smaller one downstairs - which I do happen to like MUCH more than I had anticipated. I have everything I need within a short walk - a bathroom, beer fridge, and 52" HD TV. I only need to go upstairs to eat and sleep now, but alas, this will all change soon... Recently, I was asked if you could change the way Export to CSV in ApEx works. The short answer is, of course, no. But it's not too difficult to "roll your own" CSV export procedure. Why would you want to do this? Well, the customer's requirement was to manipulate some data when the Export link was clicked, and then export it to CSV in a forma...

Page 0 Branches

What? There's no way to put a Branch on Page 0 of an ApEx application! Or is there... Technically, no - page 0 does not support branches. But how many times do you wish it did? This scenario recently came up: I wanted to put a "Search" box on every page in my application, so no matter where a user is, they can search the site. Currently, it has 10 or so pages, but this will grow to closer to 50 by production. So, thought #1 was to put an text item on Page 0, call it search, and then ensure that each and every page had some sort of Branch to run the search. Not so fun, as this was a tedious task, even for just 10 pages. And each time a new page was added to the application - by myself or anyone else - the search branch would have to be added to the page. Clearly not a scalable solution. With a little bit of help from Raj from the ApEx team, I came up with this solution: Create Page 0, if you haven't already On page 0, create an item of type "Text Field (...

Yahoo Releases Free UI Library

As noted on Boing Boing , Yahoo! just released its UI Library , an open-source set of AJAX user interface components that developers can use in their sites for free! From Trees to Sliders, some of these components look quite slick! The real challenge here is not getting them to work with Oracle ApEx, but rather finding practical applications for them. So often I see sites where AJAX is used for the sake of using AJAX, and the result is just a mess. What intriques me are the reasons behind this. As I've been told many times, there is no such thing as a free anyyhing - it's just a question of when and how you pay. Perhaps Yahoo is trying to steer developers to its services (Maps, Calendar, Mail, etc.) in a pre-emptive strike against Google? Should be interesting to see how it all plays out.

Learning DIVs

Recently, I’ve been experimenting with using DIVs instead of TABLEs for creating Region Templates in Oracle Application Express. DIVs seem to have a lot less “moving parts” – or places where the code can become corrupted. Troubleshooting a missing <TD> tag is never a fun exercise, and by using DIVs, you can largely avoid that. However, DIVs tend to have issues with cross-browser development. What looks great on Firefox doesn’t even render on MSIE. That alone can be a challenge to troubleshoot, Having said all of this, I was able to take this Region Template: <table width="100%" cellpadding="0" cellspacing="0" id="#REGION_ID#"> <tr> <td> <table border="0" cellpadding="1" cellspacing="0" width="100%"> <tr> <td bgcolor="#666666"> <table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor=...

A new name for Oracle HTML DB

That's right - Oracle HTML DB has officially been renamed to Oracle Application Express . You still don't need Oracle Application Server, and it has nothing to do with Oracle Express or Express Objects, but it does coincide with the name of Oracle Express Edition Database. This renaming campaign came up once every few months or so when I was at Oracle, as we could never quite come to a consensus on what it should be renamed to. Looks like somoene finally made the call! My only fear with this new name is that people will associate Application with Oracle Application Server, as in it's a required component (as I said before, it still isn't) and Express with "small and insignificant", which is clearly not the limitations of HTML DB - umm, Application Express. It's going to take some getting used to...

Username and Password on Every Page

Well, not really, as that would be bad. However, I’ve often wondered how to include a field for the username and password on every public page, making the sign on process one less click. Well, there’s nothing like learning how to do something like having a customer requirement! A current client wants a largely public site – that is, you do not need to authenticate to see most of it. Simple enough – just set the Page Attributes Security to Page is Public . However, the client also wanted the username and password field to appear on each and every public page. From a developer point of view, I didn’t want to have to put any items on any page aside from Page Zero. Thus, every time that I add a page to the application, the login region would simply show up. This required a bit more thought. Here’s what I came up with: I created a region on Page Zero which holds my username and password fields, as well as a Login button. The button is not an item button, but rather a true button whi...

QuickBooks

Starting your own business makes you learn how to play many roles: project manager, consultant, marketing department, technical support, “executive”, and – worst of all – accountant. I say that because I really, really, really hate accounting. Maybe I just had a bad experience in college, and could never really appreciate it. Perhaps I’m even a bit ignorant about it. In any case, there’s software out there to help someone like me. Right? I bought QuickBooks based on several recommendations from co-workers. The folks at Intuit have done a tremendous job! That is, if their job was to create the most un-user friendly, non-intuitive, archaic piece of software. I don’t even know where to start. They tried way too hard to over-engineer the UI. Everything is “cute”, with arrows, icons, and more reminders than I care to mention. In an attempt to account for every possible “use case”, they have created something that is far less usable than intended. All I need to do is send out invo...

I Always Feel Like Somebody's Watching Me...

It's not just a one-hit-wonder from the 80s; its true! Sure, we've all seen where we and others live via Google Maps . But this time, Microsoft has stepped it up a notch with its new "Windows Live Local" site. Now, as this is a Microsoft product, it doesn't always quite do what it says. For insatnce, it's not "Live", as my house is still occupied by the former owner as evidenced by their cars in the driveway, the salmon-colored siding (which was replaced in 2003), and the new construction at the end of the street had not started yet. However, the fact that WE can see this level of detail makes you wonder what "THEY" can see, and how "live" it really is... The level of detail is stunning, even though the pictures are a couple years old. You can even rotate the image to view it from all 4 directions! For example: My old office My Least Favorite Airport (Notice the sign on the Parking Garage) As much of the White House as they ...

One More Present to un-Rap...

OK, bad pun, but it's almost midnight here, and I'm tired... Project Raptor made its OTN debut tonight, and a preview release is available for download. I, for one, am definitely excited about this, mostly becuase the price is right: FREE!

function HappyHolidays

Simply pass your religion & nationality to this function to get the politically correct greeting from me. :) create or replace function HappyHolidays (p_religion in varchar2, p_nationality in varchar2) return varchar2 is l_result varchar2(255); begin if p_religion like '%christianity%' then l_result := 'Merry Christmas'; elsif p_religion like '%jewish%' then l_result := 'Happy Hanukkah'; elsif p_religion like '%pagan%' then l_result := 'Happy Winter Solstice'; else l_result := 'Seasons Greetings'; end if; if p_nationality != 'Chinese' then l_result := l_result || ' and Happy New Year'; end if; return l_result; end HappyHolidays; /

Oracle MetaLink runs Oracle HTML DB

As John Scott pointed out , Oracle MetaLink is now running Oracle HTML DB. This is a major step for Oracle HTML DB's credibility, as Oracle itself made the conscious decision to re-write one of its most mission critical customer-facing systems in Oracle HTML DB over any and all other technologies.

New Oracle HTML DB Wiki

A new HTML DB-specific Wiki has been launched at http://wiki.shellprompt.net/bin/view/Apex/WebHome . John Scott from Shellprompt.net was kind enough to lend the server, and John, Colin Sheppard and Carl Backstrom from Oracle have gotten the ball rolling by creating the first pass of content. As soon as I have a spare moment, I'll also be adding & editing content. It's great to see that any and all members of the HTML DB community can easily contribute and share their tips, tricks and insight on Oracle HTML DB. I, for one, am anxious to see what others will add, as I'm sure that there will be some excellent tips that I can learn from.