How I (Isaac) got started in ColdFusion

When I started coding ColdFusion it was not even on my radar, nor was web development.

I needed an internship badly the summer of my junior - senior year at college and had exhausted most my resources with no luck. I received no call backs from intern applications to random tech companies and had no leads in what exactly I wanted to do after school.

That's when a friend in one of my senior project classes said that the place he worked "Web Services @ Hamilton College" was looking for interns. I applied for the position and was called back immediately for an interview. My friend had mentioned that the position was for a "ColdFusion developer" so the night before the interview I took some online lessons and read up on ColdFusion just so I was not going into the interview blind.

The interview was going great when I eventually was asked..."so have you ever used ColdFusion?"...I replied..."Sure, just a little...I am cfsetting and cfdumping and stuff." That response which got everyone within earshot laughing would eventually go down as legend. Needless to say I got the position as a junior developer and the rest is history.

I spent my days as an intern learning CF and working on small web applications and scripts. The work experience I gained at Hamilton College programming web applications and maintaining CF code landed me the position I am in now at Ravenglass Technologies a year and a half later.

ColdFusion has shown me that programming web applications and systems can be fun and rewarding and that it is what I want to do for the rest of my life, and best of all ColdFusion has lead me to a great career at a great company.

Thank you ColdFusion!

-Isaac

CFBuilder Beta 2 and Coldfusion 9 now available.

Adobe has announced the release of Coldfusion's next implementation Coldfusion 9 along with a CFBuilder Public Beta 2 available from Adobe Labs today. I am excited that Coldfusion as a web technology is growing and continuing to evolve even if our CF shop may not immediately upgrade to the new version. I am especially interested in the new ORM that is built into CF9.

I am not sure on how long CFBuilder Public Beta 2 will be available as a free to use application, so if your interested make sure to download it and give it a try before its disabled. One thing I notice right away is SQL syntax parsing and the changing of coloring of comments and cf syntax in cfscript.

To install it all I did was uninstall the previous version and install the new version, all of my plugins and setup projects were already setup and ready to go from my previous install.

Happy Coding...

A case for CFBuilder.

With the cut off date for the Coldfusion Builder Beta quickly aproaching, Adobe.com says it will stop working in October 2009, the big question is why switch from CFEclipse. I could go on to rehash all of CFBuilder's features and compare them against CFEclipse's, but googling that brings up many sources to get that information. Instead I would like to list some features and perks of CFBuilder that I use as a regular everyday Cold Fusion developer.

The first thing I really like about CFBuilder is its packaging (I don't mean physical packaging). You download it and install it and it just works as a CF, HTML, JS development environment. Since its a build of Eclipse, any previous projects or any plugins you currently use in Eclipse work in CFBuilder. For me the big one was our CF shops code source management plugin which if it didn't work would be an immediate reason not to use CFBuilder, luckily it did. Getting CFEclipe setup can be a pain, the last time I had to do this after a fresh install of Windows... I first installed the wrong version of Eclipse, then tried the latest version of Aptana which also didn't work, ect. So when I installed CFBuilder right out of the box and had it set up an running on all three of my machines with little hassle, this was a huge plus.

Another plus is that it can handle large CFM files well (6K+ lines of code)..Dreamweaver and CFEclipse in my experience can not. I have a application that I built some time ago that was split over a couple files that were all very large, eventually the code editor became so laggy when editing the code inline that I had to resort to coding on a seperate blank page and paste in my changes. I am sure there are some configurations I could attempt to fix this, however CFBuilder has no issues whatsoever editing these files.

One other feature I like that was present right out of the box was start and end tag highlighting, especialy with messy code and dozens of CFIF tags spread across the page. This feature comes in useful when editing someone else's legacy code. I know you can "Jump to matching tag" in CFEcipse, but I appreciate the visual indicator of CFBuilder.

Lastly I want to highlight the RDS support that ships with CFBuilder. RDS lets you browse the server and database right in CFBuilder which has become an indispensable tool to me at the moment for looking up column names and data. At the moment I can not locate a way to do this in CFEclipse, many people mention it but it looks like you now need to buy flex builder to get this plugin for eclipse, all the links they posted led me to a page saying that it was no longer available. It makes sense for Adobe to not let this feature out if they want to include it in CFBuilder.

So what will be the price of CFBuilder when its released? How will I convince my fellow CF shop developers to switch? And more importantly how will I convince my boss to purchase it for us? Only time will tell...

Beware passing STRUCTS to a CFC

While this may be common knowledge to some CF developers, keep in mind that when you pass a complex data type like a structure or a query as an argument to a CFC function it passes it by reference and not by value.

Article about this on CF livedocs @ Adobe.com

Recently I ran into this situation in a project I was working on. I needed to pass a bunch of FORM values to a CFC call to process the values separately from the normal form processing. To save time I ended up passing in the whole FORM structure instead of 20 separate arguments. The advantage to this is that you can add form values without having to add another argument to your function.

Later the project requirements changed, and I had to change some values of the FORM in the CFC function where they did not need to change in the regular form processing. I mistakingly made the assumption that the FORM structure passed to the arguments was a duplicate STRUCTURE and not a reference to the original STRUCTURE. This created a problem later on that took a little while to figure out.

[More]

Mixing CFForm and custom javascript validation.

Before CFFORM and CFINPUT validation made it easy to validate form inputs with such CFINPUT attributes as required="true" and message="email is required" developers wrote thier own custom javascript validation and believe it or not most web developers still do. The reson for this is because Coldfusions CFFORM validation still cant do everything you need it to, however there are some powerful CFINPUT validations I find extremely useful in form development.

One I find extremely useful is the CFINPUT attribute "validate", which can be used to validate many types of user input such as an email, credit card number, date, ect.

So what do you do when you have a HTML form that validates user input with custom javascript called from an onSubmit call in the form tag but want to use Coldfusions CFINPUT validation. Chances are you tried changing the FORM to CFFORM and found your custom javascript stopped working and hastily decided CFFORM broke your javascript.

[More]

Hello World

Welcome to Ravenglass's new developer blog. My fellow team members here at Ravenglass and myself will be posting about fun topics of interest to us such as Coldfusion, Javascript, XML, and SQL development. Sometimes it might just be a random thoughts.

[More]