Ok, so I know I'm a little behind the curve, but I've finally been
given free reign to use ColdFusion 8 specific tags and functions at
work. Issues with a major application during the first testing caused
the upgrade to be delayed by 10 months. We finally have an upgraded
date so I can start thinking in CF8 instead of CF7. Woot! I was so
excited by the first problem I solved that I thought I'd share it.
Problem: The Free Library of Philadelphia has an ever growing Digital Collections
database of digitized items from their Rare Books and Print and Picture
Departments. Currently I am preparing a new collection of almost 4000
images from the Maps Collection. The images will be zoomable and some
will even be geolocated and fit into a mosaic with current Google map
street overlays. We use a batch conversion tool to create the web
ready images and thumbnails to display in the search results. The
problem is the first few batches were converted with incorrect settings
and some of the images are too wide for the site. Unfortunately I
discovered this after converting the rest of the collection so I needed
a way to find only the ones that need to be redone.
Read more...
Well, I've finally decided to start presenting at my local ColdFusion User Group, and then eventually on the CFMeetup and at conferences in the future. My first presentation is titled Installing multiple versions of ColdFusion together. I will be sharing my experience in setting up my laptop with both CF8 & CF9. It will be a hands-on session so people can follow along. This will be my first presentation so wish me luck!
From Scopes to Structures
As I think about my transition to Object Oriented Programming, I have to reflect on my 'ah-hah' moments when things started to make sense. I thought this next post was going to be about my first experiences with CFCs, but in analyzing what drove me to them I realized that my understanding of structures was an important step in the transition to OO thinking.
I was introduced to structures while consulting for a large corporation in one of their small Competitive Intelligence (CI) divisions. (CI = Think business domain specific library services) At one point in my time with them, we hosted their site on their internal shared ColdFusion host. To host a CF site with them, our site's code had to comply with their best practice guidelines. The one rule that has stuck with me all these years is: Avoid CFQUERY within a loop (CFLOOP or CFOUTPUT with the query attribute)
Note: This is the actual rule from that time period. Notice the capital tag names. I still have old sites with all their tags capitalized. (shutter) That's why I still have HomeSite installed, to use the tag case conversion tool. I'm just saying.
Prior to learning these techniques, I had only used simple variables and had never used structures or arrays. I had also used the session and application scopes extensively. My big 'ah-hah' moment came when I realized that scopes are just persistent structures. The concept of structures is a big stepping point in understanding the caching capabilities in ColdFusion and in CFCs.
Read more...