Entries Tagged as 'ColdFusion'

News and Impressions from CFUnited 2009

ColdFusion , Web development , CFML , Adobe No Comments »

If you've been following my updates on Twitter, you know that I was at the CFUnited conference last week. I didn't post anything during the conference because, quite frankly, I didn't set aside any time to do so, and there was lot going on most of the time.

I'm not going to try and sum up everything that was presented at the conference: I'm not sure any one person can. But there were a number of news items and developments that came about either just before the conference or during the conference that I thought were worth pointing out:

  • ColdFusion 9 in the Cloud: In the opening CFUnited keynote, Ben Forta and the Adobe team announced that ColdFusion 9 would include licensing options for running ColdFusion in cloud environments, and that they would specifically support the use of ColdFusion 9 on Amazon's EC2 cloud environment. Details (sparse though they are) can be found on Ben's blog post on the subject. Though I'm not a fan boy of cloud computing, having this option is important for ColdFusion developers who have an idea for a high-traffic web application but don't have the money to invest in their own server farm.

  • 4CFF: 4CFF is the acronym for the For ColdFusion Foundation, a new non-profit foundations founded by several member of the CF community with the goal of providing assistance and resources to ColdFusion open-source projects and establishing a "professional membership society for the ColdFusion Community at large." I missed their unofficial announcement/presentation, so I can't provide any information about how they plan to move forward with their goals, but I think the idea of having a resource where CF programmers can get help with the non-programming challenges involved in starting and maintaining an open-source project is a good one.

  • Framework updates/changes: The final, production version of Model-Glue 3.0 (Gesture) was released just prior to the conference, while the beta release of ColdBox 3.0 was announced on the first day of the conference. But perhaps the most dramatic framework announcement was that Adam Haskell, previously the lead developer for the Fusebox framework, was going to resign from that role and lead the development of a new and separate version of Fusebox called FuseNG (Fusebox Next Generation), citing irreconcilable difference between himself and TeraTech, the Maryland-based CF development/training shop that currently controls the domain name and source code behind Fusebox. As a developer who uses Fusebox, I'm curious to see how this decision will play out. The current version of Fusebox is a very effective, usable, and mature framework, but Adam's a smart guy and it'll be interesting to see what he and the other developers involved in FuseNG will come up with.

  • The Merlin Manager beta: The final event on Friday at the conference was the Demo Derby, where developers got several minutes to show off a project of theirs. While all of the presentations were noteworthy (and in two instances quite humorous), the one I thought really needed to be brought to the attention of the CF community as a whole was John Mason's Merlin Manager. One of the announcements regarding ColdFusion 9 was that it would provide an AIR-powered desktop application that would let ColdFusion server administrators manage and compare multiple ColdFusion server instances from one dashboard. John's Merlin Manager is also an AIR-powered CF server manager, but it's built to work with ColdFusion 7 and 8 servers. He demonstrated how his app provided real-time status information for a server, how it let you store current server settings as a snapshot prior to making a settings change, and that it could compare the settings between two different servers, highlighting where the settings differed. Even though the project is still in beta, it looked very feature-complete and could be of real benefit to those CF shops that won't be upgrading to CF 9 anytime soon. John is looking for volunteers to participate in evaluating the beta: if you're interested, visit http://www.merlinmanager.com/ to sign up.

As for the conference as a whole, I have to echo everyone who's already commented about it on their blogs and via Twitter: it was an excellent, informative, and fun conference, the best I've ever attended. And that statement is coming from someone who, for various personal and professional reasons, wasn't all that worked up about attending. Everyone involved in the planning and execution of the conferences, especially the folks from Stellr and those presenters who stepped up to fill in for last-minute speaker cancellations (all the presenters deserve credit, but those folks especially) should be proud of the work they did.

For those folks who weren't able to attend, be aware that a number of the presenters will be posting their presentations online, either on their own blogs, SlideSix, or both, so keep an eye out for announcements about those (and note that some of those posting and announcements were made last week during the conference itself).

ColdFusion Builder Extension for Looking Up CFML Tags/Functions in CFQuickDocs

ColdFusion , CFML , Adobe No Comments »

Sometimes when you're working on an idea, the things you learn inspire another idea. It's not something you planned on doing, but it seems like a cool idea and it wouldn't take much time to do, so you jump into it without much thought.

That's pretty much how my CFQuickDocs Lookup Extension for ColdFusion Builder came about. For anyone who doesn't already know about CFQuickDocs (hopefully very few of you), it's a website created by Jake Munson that lets you quickly look up the documentation for any ColdFusion tag or function.  I knew from previous experience that it was possible to pull up the CFQuickDocs page about a particular tag or function by adding the tag/function name as an anchor parameter to the CFQuickDocs URL, so when I realized that I could design a ColdFusion Builder extension that pulls in content from an external web page, creating a simple extension to do a CFQuickDocs lookup seemed like a no-brainer.

But in my enthusiasm to follow through with the idea, it didn't occur to me to look more closely at ColdFusion Builder to see what kind of documentation might actually be incorporated into the IDE itself:  that thought didn't occur to me until after I'd finished the extension and submitted it to RIAForge. Turns out that all of the tags and functions for ColdFusion 9 can be found in the general Help menu under ColdFusion:  it's not front and center, but it's not hard to find either.  And the style and functionality of the documentation is fairly similar to how CFQuickDocs looks and works. That fact, plus the fact that you can have the Help window open and still interact with the IDE (something you cannot do with the dialog windows used in Builder extensions, which is one of the biggest limitations of extensions IMHO), diminishes the usefulness of my extension (comparatively).

Still, my extension can serve as a simple example of how to pull an external web page into an extension dialog box. And folks who are still using ColdFusion 7 and 8 in production (such as myself) may prefer to rely on the CFQuickDocs documentation rather than the CF9-centric docs in the IDE.

 

The ColdFusion OOP Debate, Now Available in Audio Form

ColdFusion , CFML , Podcasts No Comments »

In case you missed hearing about it, Hal Helms, Brian Kotek, and Ben Nadel got together recently to do a podcast about the ongoing debate with doing object-oriented programming (OOP) in ColdFusion. Hal took the position that ColdFusion is not suited to doing OOP and that OOP is overkill for most ColdFusion applications, while Brian defended the use of OOP when used appropriately and judiciously, and Ben took on the role of the undecided developer.

I listened to the podcast this afternoon, and I thought it was a frank, rational, and realistic discussion about the issue (as I pretty much expected from these gentlemen). I encourage anyone who's got an interest in this topic to check out the podcast: you can download it from the following link:

http://epicenter-public.s3.amazonaws.com/ColdFusion-and-OOP--Match-Made-in-Heaven-or-Long-Road-to-Hell.mp3

Comments and further discussion about the podcast are being done using Google Groups, so if you have something to say on the topic, follow this link:

http://groups.google.com/group/coldfusionoo

Strange Error When Using <cfsavecontent> Within <cfthread> On a Shared Server

ColdFusion , CFML 1 Comment »

In my previous blog post, I mentioned running into a "weird issue" involving the comment subscription functions in MangoBlog. That functionality worked perfectly fine on my development machine, but when I uploaded everything to my site on a HostMySite shared server, I discovered that the database records for subscribers weren't being created.

After a lot of digging and experimenting, I tracked down the error. There are several places during the subscription process where variables are created using the <cfsavecontent> tag (the SQL for the record insert, the text of the email templates, etc.). When that code tried to run, I'd get the following error:

access denied (java.io .FilePermission C:\ColdFusion8\wwwroot\WEB-INF\cftags\savecontent.cfm execute)

Normally, that's the kind of error you get when access to a certain CF tag is disabled by your hosting provider. But I was able to write a simple .cfm page that used <cfsavecontent> and run it without any problems.

So I did some searching on Google and came across this Atlanta CFUG discussion thread:

http://www.mail-archive.com/discussion@acfug.org/msg05438.html

Apparently, there is some scenario (possibly involving sandbox security) in which <cfsavecontent> will not run inside of a <cfthread> tag. Since it's very likely that HostMySite has my site within a sandbox, I looked in the MangoBlog code for instances of <cfthread>, and indeed it turns out that the code events triggered during the subscription process were being processed through <cfthread>.

Rather than taking the time to figure out which events needed to be prevented from running inside <cfthread>, I simply added code to avoid that usage of <cfthread> entirely. (Please note that I'm not by any means an expert on MangoBlog, so don't take this as a recommended fix. And MangoBlog is designed to run on CF 7: the use of <cfthread> is optional, but from what I gather the blogging engine will use it if it's available).

When Adobe released the public bug tracker for ColdFusion today, I did take a brief look through it to see if this type of scenario was documented, but didn't see anything. There's no point in reporting the bug until I know what the exact conditions are that cause it to occur: maybe if I have some time, I'll set up sandbox security on my CF 8 developer box and tinker with it.

Anyone else (besides me and the Atlanta CFUG folks) ever run into this particular problem?

Relaunching My Blog With MangoBlog

ColdFusion , Miscellaneous 1 Comment »

I decided, mostly on a whim, that my blog needed a new look. It hadn't changed much since I first launched it back in October of '07, and it looked pretty stark compared to many of the current blogs out there now.

I was aware that a number of fellow ColdFusion bloggers were using a ColdFusion-powered blog engine called MangoBlog, but I didn't know much about it until I downloaded it and started poking around. Installing it on my local development machine was a breeze, and I was impressed by the skinning and plugin features, so I decided to give it a shot.

Installing it on my actual website proved to be more of a challenge due to my hosting environment (a shared server on HostMySite). For one thing, the 50-second execution time limit imposed on the server prevented the MangoBlog installation code that copies data over from BlogCFC from completing, but I was able to hack the code in order to break up the import process into several steps. I also ran into a weird issue that prevented the comment subscription functions from working (more on that in a separate blog post), but I got around that as well.

The "skin" I'm using is a personally-modified version of one of the skins that comes packaged with MangoBlog, called "Glossy Blue." I added a picture of Yosemite Valley my wife took in the summer of '06 as the page background, used some CSS hackery to widen the content area and give the side column a different background color, and expanded the size of the calendar icons so I could include the year as well as the month and day. I may make a few additional tweaks, but overall I'm pretty happy with it.

There's a lot going on in the ColdFusion community now that ColdFusion 9 and the new ColdFusion Builder IDE are now in public beta. I'm eager to delve into both products (but especially Builder because that will hopefully benefit me immediately), so I expect I'll have a few blog posts about those.

The whole reason I started blogging in the first place was so I could share some of the things I've come up with coding-wise, techniques and thoughts that might be of value to others, so I hope to continue blogging in that vein.