An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

Entries for month: February 2005

Why Use ColdFusion Enterprise?

February 25, 2005 ·

Can't convince your boss to spring for the extra budget to buy the Enterprise Edition over the Standard Edition? John Beynon has just been through that process and has posted a cleaned up version of the justification document he used to persuade his company to go for Enterprise. Should be useful information for anyone else in the same boat.

Tags: coldfusion

Sourceless / J2EE Deployment

February 24, 2005 ·

There seems to be a lot of confusion around these two features in ColdFusion MX 7 - yes, they are two separate features! I'll try to clarify them here... Sourceless deployment: The ability to deploy a ColdFusion application to another ColdFusion server without source code. J2EE deployment: The ability to create a WAR/EAR containing a ColdFusion application and the CF runtime which can then be deployed on any supported J2EE server. They can be combined: a J2EE deployment can contain source or not, your choice. It can also contain a CF Admin or not, your choice. Without a CF Admin, your deployed application can still use the new CF Admin API to modify settings. Sourceless deployment can be done from any edition to any edition - because the target deployment server already has a CF license. Sourceless deployment simply means compiling the CFML to Java bytecode and deployed the compiled files (the compile script compiles foobar.cfm to foobar.cfm in another directory - the target foobar.cfm file is really a .class file). J2EE deployment can be done from any edition to any J2EE server and the licensing of the deployed app is either Developer Edition (no serial number) or Enterprie Edition (buy a license, use that serial number in the creation of the archive or via the deployed CF Admin or via custom code in the deployed app that uses the CF Admin API to set the serial number). The Standard Edition does not support J2EE deployment because, well, it's Standard Edition (Enterprise Edition is effectively equivalent to the old J2EE Edition). There is an OEM program which lets you negotiate an appropriate license structure for application deployment.

Tags: coldfusion

What is a View?

February 24, 2005 ·

Jared mulls over the question of what a view really means - and contrasts page-centric and model-centric development. His thoughts and how they evolved make interesting reading.

Tags: coldfusion

MXDU - Voice Of The People

February 24, 2005 ·

Want to hear what attendees really thought about MXDU? Check out the Voice of the People application on the MXDU website, built with Flash and Flash Video! The videos aren't labeled with names so see how many of them you can identify...

Tags: coldfusion · webdu

CFUNITED Early Bird Ends Friday!

February 23, 2005 ·

You have only two more days to get your early bird price - $449 - for CFUNITED! After Friday it goes up to $549.

Tags: coldfusion

BACFUG Tonight and Tomorrow!

February 23, 2005 ·

This week sees two BACFUG meetings! Tonight's meeting is somewhat informal, held at the Mars Cafe on 7th St just behind Macromedia. I'll be there to field questions about CFMX 7. Spike Milligan and Rob Rohan of CFEclipse will also be there. And, most importantly, you can come along and vote to move the BACFUG meeting from its old Thursday slot to a new Wednesday slot (which will make it easier to get speakers). Thursday's meeting is in the usual venue with Paul Kenney presenting on CFMX 7. And, again, you can vote on the meeting date!

Tags: coldfusion · bacfug

Nimer on CFMX 7's Rich Forms

February 23, 2005 ·

Mike Nimer was the lead engineer on the new rich forms feature in ColdFusion MX 7. In this Developer Center article, he talks about the motivations and background to the new feature as well as explaining some of the mechanics.

Tags: coldfusion

DNH?

February 23, 2005 ·

As some of those who've had private conversations with me know, I maintain a DNH list. DNH stands for "Do Not Hire". This is a list of people who I would not hire and, if asked, would actively recommend other people do not hire. What might surprise you is that it's actually a pretty short list - you have to be fairly persistent to get on it. What gets you on this illustrious list? It's hard to define exactly, but two top factors are: continual insistence that a demonstrable falsehood is true and exhibiting a level of misinformation that shows you have consistently failed to learn from your peers' mistakes (or you just simply don't accept that they might know more than you). It's not often that someone gets labeled DNH based solely on their public postings to mailing lists. Even so, they can often redeem themselves by posting something illuminating or by engaging in a private conversation that shows more depth of knowledge than implied by their public posts. Sometimes even the strangest viewpoints have rational and well thought out explanations. Mostly you get on the list by carrying over some public incoherence into private email and bombarding me with irrational (and sometimes offensive) nonsense. Don't get me wrong - I really enjoy having long, technical discussions about things and I love getting questions and ideas from folks out there in the community. Sending me several emails a day telling me I'm wrong, that I "don't deserve to see such advanced techniques" or that I'm a "short sighted, tag based imbecile" will get you labeled DNH pretty quickly. Over the last four days, I have received fifteen emails from the latest DNH candidate which include some of the following gems:
  • "My hope was that since many developers are now realizing CF tags are basically a wrapper, MM would document the service factory so that we may write OO constructors that avoid tags entirely."
  • "What I am saying is, Tags are a wrapper that are more expensive than scripting." - yet the test cases he sent me showed that his tag-based code and his script-based code had near identical execution times (on ColdFusion MX 7)
  • "They need to unlock the service factory so we may bypass the part of the wrapper via CFCs else lose more market share than CF already has."
  • When told that CFMX 7 provides a full Admin API as an alternative to the undocumented service factory: "Now, I have written most of my tags into CFC based functions and catch them in an object construct method tree. I would like to unwrap these tags cfcs and talk directly to the methods responsible for query(), location(), cffile, etc."
  • Apropos of nothing in particular: "Forte needs to stick to Java. His ColdFusion books are horrible and his examples are clunky / do not work half the time."
  • "I am basically your boss." (this was part of one of three emails I received in a single hour!).
  • "I am glad you do not formerly work for MM." - in response to my comment that I'm not actually part of the product team
  • "Switching from tagged to scripted methodologies causes even more overhead."
  • "That is why when you have to use a tag, you wrap them in a CFC constructor and cache them in method trees. These types of methodologies are standard OO."
  • "You're a loon and a two bit hack."
Do you have a DNH list? What does it take to get on your list?

Tags: coldfusion

CFMX 7 - result=

February 23, 2005 ·

Ben Forta notes another one of those small but important enhancements in ColdFusion MX 7: the ability to specify result= on <cfquery> so you can get access to the actual SQL, amongst other things. Note Ray's comment for another cool tip. Check the tags updated section of the CFML Reference for more tags that accept the new result= attribute (<cffile>, <cfftp>, <cfhttp>, <cfstoredproc>).

Tags: coldfusion

Got (CFMX 7) Docs?

February 23, 2005 ·

The docs team spent a lot of time and effort on the new ColdFusion MX 7 documentation but I see a lot of questions about the new features that are answered - often in great detail - in the new documentation. Do yourself a favor and read the Developer's Guide (not just the Reference). It has several chapters on the event gateways and it has a great chapter on the new Application.cfc feature, including a whole section on how to migrate Application.cfm / <cfapplication> to Application.cfc which everyone should find very helpful.

Tags: coldfusion