Query of query issue with where clause/joins
A user reported this to me earlier in the week. I was sure he was wrong until I confirmed it myself. Imagine you have 2 queries you want to join using a query of query. Here is a quick sample.
Quick example of Java via ColdFusion - Reading FLV Metadata
Earlier this week a reader asked if there was a way to read FLV Metadata via ColdFusion. There isn't anything built in (that I know of!) so I did a quick search for a Java solution. I think people forget how easy it is to use Java via ColdFusion. Even if you have no intent, or care, to read FLV Metadata, please read on as the general technique is something I've done many times in ColdFusion, and could be helpful to anyone looking to do something not directly supported via CFML.
Are you aware of the MIME/File Upload Security Issue?
I had heard a few rumblings of this recently but had not really paid it much attention. Mike emailed me today and described how he was hacked pretty badly by it. I'll share his email and then add some notes to the end.
Ask a Jedi: CFAJAXPROXY and Managing Callbacks
Yaron asks:
I'd like to know what your preference is for using cfajaxproxy. In JavaScript, do you create one global proxy object and reuse it throughout your script? Or do you create a new proxy object within every function that generates a proxy call?
The reason I'm asking is I had multiple concurrent proxy calls that had their callback functions mixed up. Meaning, one functions makes 2 async calls with two separately defined callback functions. Unfortunately, one callback function received the input from another. Weird.
Ah, asynchronous network calls. Life would be a heck of a lot easier if everything was synchronous. Let's dig a bit into what Yaron found in case it doesn't make sense.
MAX 2009 ColdFusion Unconference - Call for Speakers/Comments
MAX is still a few months away (and I've yet to finish my presentations for CFUNITED), but it's time to begin early planning for the ColdFusion Unconference. Last year I think things went well, but there are some changes I'd like to make.
First - I booked every single possible hour (except for 2-3) with sessions. While I think this was good, it didn't leave much time for ad hoc sessions or just general bull sessions. What I'd like to do this year is leave something like 30% of the time open. This will be for any possible topic, and could be a good way to hash out ColdFusion 9 stuff that I assume will be fresh on people's minds. I'm also a big fan of show and tell. I'd like to offer some opportunities for folks to just plug in a laptop and show what they have been working on. Again, if ColdFusion 9 is out by then, or in public beta, this could be a great way to show the new shiny stuff off. Thoughts on this? Should I leave even more time open? Less?
Second - last year I was mistaken about lunch. I had thought lunch would be served at the Unconferences. This year there is no question about it - it won't be happening. So the lunch slot will always be open. Personally I plan on just bringing some food over and hanging out with the CF peeps, since we are, of course, the coolest kids on the block.
Speaking of food - some of the other Unconferences offered their own coffee and snacks. I'd like to open the Unconference to corporate sponsorship. I'm not 100% sold on this, but if a company would like to buy coffee and donuts, and maybe pizzas, I'd definitely be willing to let you speak for a few minutes at the start of each day (and to put up a small sign, whatever, something tasteful ;). I don't think the presence, or lack thereof, of food and drink will be a huge thing, but I thought it might be nice to have.
Third (or fourth? Lost count) - last year I included topics that were not 100% ColdFusion. I think this was a good idea as I think we need exposure to other technologies/subjects/etc. Any opinions on that?
So... thoughts? Comments? If you would like to speak, please go ahead and post a comment with a) your topic idea and b) your 'bad' times. Bad times being times when you are presenting at MAX or want to attend a session. I'll just pick a time outside of that to slot you in and we can hash it out later.
p.s. Also note this year I'll have not one but two helpers. Scott Stroz has offered to give me a hand again, and Charlie Griefer is my official Grunt Brute (my term, not his). CJ has offered to do anything and everything I demand of him, so I fully expect to take advantage of that and make him regret the day he met me. Just kidding. (Mostly. ;)
ColdFusion Portal Update
Just a quick note to let folks know that I've updated the ColdFusion Resource Portal. I don't think folks visit this site very often. I created it mainly because I had trouble finding things on the Adobe site. I noticed how well Flex.org organized important links for Flex dev so I created a similar set of links for the CF portal.
In this update I switched over the Spry tabs to jQuery UI tabs. I didn't remove Spry completely though - it is still being used to load the RSS feeds in the right hand column. I also removed a lot of content that can be found elsewhere. So for example, I no longer list blogs, but rather tell people about ColdFusionBloggers. Ditto fur User Groups - most groups are now listed at Adobe Groups, so I simply let folks know where to go.
I hope people still find this little site useful!
LighthousePro 2.6
I pushed up LighthousePro to RIAForge. This isn't a major update in functionality (although it has a few updates and some jQuery-lovin' added) but it is now a Model-Glue 3 sample application. It will ship with Model-Glue 3 and hopefully serve as a good example of what can be done with the framework.
Of course, even if you don't give two hoots about Model-Glue 3, this is still a good update for you and will help improve the product overall.
Please post any bug reports to the LHP issues page. Thanks!
Interesting ColdFusion POST to PHP Issue
I shared a few emails with a reader last week that concerned an interesting issue with ColdFusion POSTs (form submissions) to PHP code. I thought I'd share what we found and see if anyone else has seen this behavior as well. PHP developers are welcome to post their comments as well, although I know it's hard times for them with their language dieing and all that. Anyhoo....
The reader, Anthony, created a simple ColdFusion page to perform a POST and return the result:
Calling a function... did you really call it?
Just ran across an interesting bug in some code I'm reviewing. I've done this myself a few times so I certainly don't blame the original developer. Read this real quick and tell me what the output is:
Ask a Jedi: onMissingTemplate in ColdFusion 7?
Craig asks:
Do you know how to handle MissingTemplate errors on the application level in CF7. I know CF8 has a new application function onMissingTemplate() that handles this but am having difficulties with this in CF7.
So Craig is right - this support is something that was added to ColdFusion 8, not 7. You can certainly add it to your Application.cfc but it won't fire automatically. (Folks, don't forget that Application.cfc can include additional methods!)
In ColdFusion 7, the only option you have similar is the Missing Template handler in the ColdFusion Administrator:

This is server wide, and unlike onMissingTemplate, you can't do processing before the file itself is loaded. So for example, if you want to say that any missing template with "store" in the URL should point to store.foo.com, you would need to put that logic within your CFM.
You do have access to the requested template information - but not via an explicit passed in arguments but rather the CGI scope instead.

So - it isn't quite as nice as onMissingTemplate, but it's something. I'm convinced that simply ignoring 404 requests is one of the biggest mistakes you can make on a web site (and I admit to this as well!).
