Saturday, May 10, 2008    
Home My Books Blog ColdFusion About Me Back    

Calendar
<< May 2008 >>
S M T W T F S
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
             

Search

Categories
 • Adobe (61) [RSS]
 • AdobeMAX06 (45) [RSS]
 • AdobeMAX07 (59) [RSS]
 • AdobeMAX08 (6) [RSS]
 • AIR (95) [RSS]
 • Appearances (103) [RSS]
 • Books (65) [RSS]
 • CFEclipse (14) [RSS]
 • ColdFusion (1078) [RSS]
 • Flash (88) [RSS]
 • Flex (316) [RSS]
 • Jobs (81) [RSS]
 • JRun (12) [RSS]
 • Labs (26) [RSS]
 • LiveCycle (11) [RSS]
 • MAX (141) [RSS]
 • Regular Expressions (12) [RSS]
 • SQL (36) [RSS]
 • Stuff (492) [RSS]
 • Tips (CF Studio) (80) [RSS]
 • Tips (CF) (795) [RSS]
 • Tips (Dreamweaver) (91) [RSS]
 • Tips (Flex Builder) (2) [RSS]
 • Using CF (131) [RSS]
 • Wireless (96) [RSS]

Other BLOGs
 • Ray Camden
 • Tim Buntel
 • Sean Corfield
 • John Dowdell
 • Steven Erat
 • Brandon Purcell
 • Charlie Arehart
 • Full As A Goog

RSS Feeds
 • Feed
 • Subscribe

Join my mailing list and find out about new books and other topics of interest.

Thoughts, ideas, tips, musings, and pontifications (not necessarily in that order) by Ben Forta ...
NOTE: This is my personal blog, and the opinions and statements voiced here are my own.

Viewing By Category : ColdFusion / Main
May 8, 2008

ColdFusion ISP List Update And Maintenance

I've been doing some maintenance and code cleanup on my ColdFusion ISP List, and noticed that some entries have not been updated in years. If you know of any companies that are no longer in business, or who no longer offer ColdFusion hosting, or anything else I should be aware of, please let me know. Thanks.

May 7, 2008

Check Out ColdBricks, A ColdFusion Based Open Source CMS

ColdBricks is a ColdFusion based CMS and site generator, and it's free and open-source. There's a very impressive live demo online, too. This one via fellow evangelist Serge Jespers.


Preserving ColdFusion Structure Member Case In Flex

ColdFusion is case-insensitive, and Flex MXML and ActionScript are very case-sensitive. For consistency's sake, when ColdFusion variables are sent from ColdFusion to the Flash Player via Flash Remoting, names are converted to uppercase (that's the default behavior, and it can be changed if needed). So, a structure member named FirstName will be named FIRSTNAME when it arrives on the Flash Player (and referring to it as FirstName in MXML or ActionScript won't work).

But, you actually can force case to be maintained in structures, depending on how structure members are defined. Look at these two examples. The first won't preserve case:

<cfset user=StructNew()>
<cfset user.FirstName="Ben">
<cfset user.LastName="Forta">

In this example, if the structure were returned to the Flash Player, the members would be named FIRSTNAME and LASTNAME.

Here's another example, one that will indeed preserve case:

<cfset user=StructNew()>
<cfset user["FirstName"]="Ben">
<cfset user["LastName"]="Forta">

This example accomplishes the exact same result as the previous example, in that it creates a structure and defines two members. But in this example, structure member names will be preserved, and they would indeed be named FirstName and LastName when they arrive in the Flash Player.

May 6, 2008

TIOBE Responds

Paul Jansen is TIOBE's Management Director, and he responded to my post yesterday about the ColdFusion being taken off the TIOBE Programming Index. Here is his message:

Hi Ben,

Thanks for your reply on our TIOBE index. I have added an extra question called "Who is Richard Bremner?" to the FAQ of the TIOBE index (see the end of the page). I hope that this answers your question.

Regards,

Paul

Paul, thank you for responding. I still believe that you made a mistake, both in removing ColdFusion from the index, and trusting the input of a single individual and not making the effort to check the facts for yourself. However, I do appreciate you responding to the reactions and feedback of the ColdFusion community.

May 5, 2008

TIOBE, From Hype To Fiction

I've never taken the TIOBE Programming Community Index overly seriously. It's not really a gauge of anything overly meaningful. As TIOBE itself explains:

The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, and YouTube are used to calculate the ratings.

In other words, the index is more of a hypeometer than anything else, and the results posted each month are more of an item of curiosity than anything substantive.

And this seems to be validated by the following statements which appeared in TIOBE's May Newsflash:

Richard Bremner pointed out that ColdFusion is not a programming language. It is a framework comparable to JSP and ASP. As a consequence, ColdFusion has been removed from the TIOBE list. All its history has been deleted, which means that the history of the index has changed a bit as well.

I have no idea of who Richard Bremner is, or who made him the authority on the subject, but ... he's either mistaken, ignorant, or some combination thereof. Let's analyze this brilliance:

The Wikipedia definition of programming language is: an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages are defined by syntactic and semantic rules which describe their structure and meaning respectively. Many programming languages have some form of written specification of their syntax and semantics; some are defined only by an official implementation. ColdFusion is indeed used to control the behavior of a machine, it does have syntactic and semantic rules, and it does have a written form.

So, as per Wikipedia, ColdFusion is most definitely a language. But is ColdFusion a framework? Again, let's use Wikipedia which defines software framework as: a code library that is designed to help software development. The idea is that all of the tedious, low-level details of creating an application are already in a reusable package. For a developer, this means you can spend your time worrying about specific problems related to your application, and not the actual building of the code behind it. For example, a developer can quickly and easily access a database using a framework, rather than having to write all of the code required to accomplish this simple task. Well, ColdFusion does indeed include a massive library of pre-written reusable code, and it does indeed attempt to prevent having to mess with tedious low-level details allowing developers to worry about what's important for their application.

So, is ColdFusion a framework? I'd have to say not really. For starters, while ColdFusion may include a software framework, that is not a part of the core CFML (ColdFusion Markup Language). Yes, it is possible to use the provided functionality to simplify talking to databases, but that is not required. The libraries and packages included with ColdFusion are much like the standard libraries that come with all languages, from C to Java and more - they are pre-written libraries that are meant to help developers so that not everyone has to reinvent the wheel, but they are not part of the language itself.

Here's another way to look at it. Imagine you had the ability to write code in plain text files and save them to disk. Then you could run a compiler which would process those files and generate Java bytecode which could be executed inside the Java runtime. Now consider the code you wrote, code that had to adhere to a defined syntax and structure, and which indeed used provided libraries where appropriate, and could then be executed to perform some action. Would you say that you used a language? I'd think so. And that language is called Java. Or, that language may be called CFML, which, just like Java, compiles to Java bytecode for execution. So, to be consistent, TIOBE must include CFML as a language just like Java, or it should remove Java from its index too, just like it did ColdFusion.

The bottom line is that CFML is a language, but ColdFusion is the combination of CFML language plus runtime libraries (what may be called the ColdFusion framework). In other words, if TIOBE truly wanted to improve the quality of their index, they could have simply used "CFML" (or ColdFusion Markup Language) instead of "ColdFusion" as the language name. But writing ColdFusion off as a language altogether demonstrates a remarkable lack of understanding as to what the product and technology actually is.

April 28, 2008

Mark Mandel Announces Transfer 1.0

3 years after starting the Transfer project, Mark Mandel has announced the release of Transfer 1.0. Congrats to Mark and all those involved on this momentous accomplishment!

And if you've not bumped into Transfer yet ...

Transfer is a ColdFusion Object Relational Mapping Library. Transfer ORM's main focus is to automate the repetitive tasks of creating the SQL and custom CFCs that are often required when developing a ColdFusion application. Through a central configuration file Transfer knows how to generate objects, and how to manage them and their relationships back to the database. (From the Transfer homepage).

April 24, 2008

Response To A Question From A Returning ColdFusion Developer

Yesterday I received an interesting question from an individual who used ColdFusion extensively in the CF3-CF5 era, but has no experience with ColdFusion MX or later. He is now getting back into ColdFusion development, and wanted to know what it is he needs to know about ColdFusion today. It's an intriguing question, and I decided to blog my response because A) others might be interested in the same thing, and B) others may have different answers, and I'd like to see them myself. So, comment away, and here is my response ...

Hi,

You've asked an important question. ColdFusion went through a significant metamorphosis going from CF5 to CFMX, and while you can still write code exactly as you used to, I strongly believe that you should not be doing so. Despite being able to run the same old CFML, ColdFusion (as of CFMX) is a radically different product from what it was previously, and being able to fully take advantage of it does require learning some new skills. So, here is where I'd like you to concentrate (in no particular order):

  • ColdFusion MX and later (all the way to ColdFusion 8.x today) is all Java internally. While there is actually no need to know Java to be able to successfully use ColdFusion, understanding the ColdFusion Java relationship is very useful. Just knowing what ColdFusion's Java underpinnings make possible ensures that you'll know what your options are in the future, whatever that future may be.
  • ColdFusion Components are the most important change to the CFML language since, well, since we created CFML. While it is entirely possible to build reusable, organized, structured, manageable, and scalable code without CFCs, I'd not advise doing so. ColdFusion Components are clean, simple, and sophisticated, and form the basis of just about any structured ColdFusion development. (They also are they key to working with Web Services, Flash and Flex integration, using gateways, Ajax integration, and more). While CFML is not an object oriented language, ColdFusion Components provide CFML developers with some of the core benefits of objects, without much of the complexity typically associated with OOP development. Simply stated, ColdFusion Components encourage (and even reward) better development practices. And not using CFCs nowadays raises a major red flag for me.
  • Understand frameworks, methodologies, and more. And no, I am not going to get into a Mach-II vs. Fusebox vs. Model-Glue debate, nor am I going to enumerate all of the invaluable community projects and initiatives in this space. The fact of the matter is that I don't care what framework or methodology or data abstraction layer or standards or best practices you use. I just care that you use something. If one of the established projects works for you, great, use it. If not, then roll your own. You may truly need the discipline encouraged by MVC implementations, or you may just need a document that clearly lays out your rules for variable naming and code organization and more, or you may need something in between, or some combination of options. There is no one size fits all, and what works for one project won't necessarily be right for your next project. What you use is far less important then understanding why structure and organization is necessary in the first place. The just-start-writing-code-and-then-figure-it-out-as-you-go mentality of the 90's is thankfully long gone. And nowadays developers understand that the planning and structure that was the norm pre the instant-gratification .com era is still as important and relevant as ever. That's a good thing indeed.
  • Way back in the late 90's I wrote a column entitled "When Not To Use ColdFusion" that argued that the best ColdFusion apps are not pure ColdFusion apps. Rather, they know when to take advantage of other systems and options, be in SQL stored procedures, Java code, and more. And nowadays this is more true than ever. ColdFusion provides an amazing array of integration options, from Java object invocation to web services support to JMS connectivity to all sorts of gateways to new .NET integration and more. ColdFusion is great at lots of things, but is not ever going to be the best at everything. As an example, just about every DBMS can sort, process, group, summarize, and manipulate data far more efficiently than ColdFusion ever will. In addition, lots of what you may need in your apps may already exist elsewhere, and you should be able to leverage the best-of-breed whenever appropriate. This kind of goes back to my first point, it pays to understand what options are available, so that you'll be ready to use them when needed. The best ColdFusion developers I know are skilled in more than just ColdFusion. They may indeed create and deploy projects that are all ColdFusion, and that is often completely appropriate. But they also know when and how to pull all sorts of pieces together to craft the best possible solution to any problem.

The bottom line is that ColdFusion is richer, more powerful, and far more mature than it was back in the 90's. You can do exactly what you did before, and you'll probably be successful. But, that would be kind of like buying the latest top of the line gaming system and using it to play Pong. Ok, maybe not that extreme, but you get the idea.

Welcome back, there has never been a better time to be a ColdFusion developer!

--- Ben

April 23, 2008

ColdFusion On Wheels .7 Beta Released

ColdFusion On Wheels is the open source ColdFusion community response to Ruby on Rails, and the beta of version 0.7 was released today.

April 17, 2008

flexcf.com Launched

flexcf.com is a new site dedicated to the development of ColdFusion powered Flex applications. Seven tutorials have been posted already, and more are on the way.

April 16, 2008

Japanese ColdFusion 8.0.1 Now Available

The Japanese version of ColdFusion 8.0.1 is now available for download.

April 10, 2008

LiveCycle Data Services 2.6 Now On Labs

LiveCycle Data Services 2.6 is now in public beta. The update includes better support for Flex 3, support for AIR offline storage and data management, improved performance, and more. And yes, it can be used with ColdFusion. You can get LCDS 2.6 beta from Labs.

April 9, 2008

Adobe TV Launched

Adobe TV has launched. We'll be posting new content regularly (I actually recorded 3 videos yesterday which will be going live in a month or so).

April 8, 2008

Tom Jordahl Explains Arrays In ColdFusion Web Services

A user e-mailed me to ask about how to create or use web services that use arrays of objects in ColdFusion. I forwarded the question to Mr. ColdFusion Web Services himself, Tom Jordahl. He responded to the user, and also posted the response on his blog for future reference. Thanks, Tom!


Great Overview Of 64bit ColdFusion On Dev Center

ColdFusion team member Manjukiran Pacchhipulusu has posted a really great overview of 64bit computing and how it relates to ColdFusion 8, including performance stats comparing 32bit and 64bit ColdFusion.

April 6, 2008

Heading To Cleveland For Flex Camp

I am on the way to Cleveland for Flex Camp tomorrow (posting this on my cell phone from a rest stop on the Ohio Turnpike). I had originally planned to present an opening session and take part in a closing Q&A panel, but I'll have to miss the Q&A as I have to be in San Francisco next. I understand that attendance for Flex Camp Cleveland is up around 150, which is great, and I am looking forward to meeting everyone in the morning.

April 4, 2008

ColdFusion 8.0.1 Now Available

ColdFusion 8.0.1 (aka ColdFusion 8 Update 1) has been released. Among the changes are support for 64bit OSs, as well as support for Mac OSX Leopard and Windows Server 2008. The update also fixes some bugs, including the virtual folder problem that prevented many CF8 Ajax CFC calls from working.

April 3, 2008

Wrapped My Session At RIA Architect Summit

I just finished my session at the RIA Architect Summit here in Bangalore, India. I presented an introduction to Flex, AIR, and Data Services (BlazeDS and LiveCycle DS) - all in about 1 hour. Fortunately, I speak quickly, and everyone here understands and speaks English, so I was able to get through the content without problems. Oh, and I did a PowerPoint-free session, that saved time, too. Lots and lots of questions, so many that we had to cut them short - we'll have a Meet The Team session later today and will be able to take more questions then. James Ward is on stage now demoing Flex connectivity and plumbing, picking up where I left off. Other speakers today will cover Flex best practices, AIR development, and more.

April 2, 2008

Getting Ready For RIA Architect Summit

I arrived in India early Wednesday morning (very early, just before 1:00am) and finally got to my hotel after 2:00am. And with the massive time zone difference and having just flown for close to 20 hours, I barely slept at all. And then we spent a full day with the local Adobe team, customers, and partners talking about Flex, AIR, ColdFusion, and more.

It's now early Thursday morning here, and we just arrived at The Chancery Pavilion, the venue for today's RIA Architect Summit here in Bangalore. The staging is pretty cool, there is seating for about 500, and (as usual) James Ward and I are sitting on the side working on the content that we're due to present shortly. And we're running out of time, I had better get back to it ...

March 30, 2008

On AIR European Tour Starts Tomorrow

Just a reminder, the 11 city On AIR European Train Tour starts tomorrow in Madrid. The team is already there setting up (although, unfortunately, I am not joining them this time around). So if you are in (or near) Madrid, Paris, Amsterdam, Brussels, London, Stockholm, Berlin, Warsaw, Prague, Munich, or Milan, be sure to drop by!

March 27, 2008

ColdFusion 8 Nominated For Great Indian Developer Summit Award

Hot on the heels of a Jolt Award win and a CODIE nomination, ColdFusion 8 has been nominated for a Great Indian Developer Summit Award (the only nominated Adobe product).


Tchau, Brazil

I am in the Rio de Janeiro airport, waiting for my flight back to the U.S. (I'm home for the weekend and then head to India next week). This morning I presented Flex 3 and AIR and a launch event here. And like the events in São Paulo and Brasilia earlier this week, this one was a winner. A standing room only crowd of close to 200 packed the auditorium for a lively and highly interactive event (bringing the total attendance for the launch events here to over 700!). Brazilians are a lively and passionate bunch, and are most definitely not shy. The questions and comments came hard and fast, and good questions and comments at that. 3 hours flew by, and once again I had to omit about half of my content. The rest of the day was spent meeting with customers and partners, right up until I had to head to the airport.

So, 4 days (with no more than 5 hours sleep each night), 3 launch events, 2 press interviews, 5 partner meetings, 8 customer meetings, 1 video shoot ... all fueled by more cans of Guaraná Antarctica than I can count.

Tchau, Brazil. And muito obrigado!

March 24, 2008

Hello From São Paulo

I am in Brazil, my 5th visit here. I arrived in São Paulo a few hours ago for a full week of events here in São Paulo, and also in Brasilia and Rio de Janeiro. For the next 4 days it'll be non-stop customer meetings, partner visits, press interviews, and three public Flex 3 / AIR presentations. It's great to be back here!

March 23, 2008

Developer Week Starts Tomorrow

Adobe Developer Week 2008 is a week long online event with 20 sessions covering AIR, Flex, Flash, Mobile, ColdFusion and Dreamweaver. And it all starts tomorrow, March 24, 20008.

March 18, 2008

What Would You Want From ColdFusion Microsoft SharePoint Integration?

Back in late 2005 I asked What Would You Want From ColdFusion Microsoft Exchange Integration?. That post generated over 100 comments, and the ideas and suggestions and use cases in that thread were in a large part responsible for the powerful and sophisticated Exchange integration tags in ColdFusion 8.

So, I'd like your input again. We've been hearing some rumblings about Microsoft SharePoint and integration with ColdFusion, and I'd like you to weigh in on this idea. Are you a SharePoint user, or is it used anywhere in your organization? If yes, what is it being used for? And do you see any value in ColdFusion SharePoint integration? What type of integration would you like, and how would you use it? As before, I am less interested in simple "yes please" or "no, but you should support x instead" comments. I need specifics, and the more detail the better.

And no, I am not promising features. This is a brainstorming exercise for now. ;-)

Thanks!

March 16, 2008

Two ColdFusion Security Fixes Posted

Late last week we released two ColdFusion security fixes for ColdFusion MX 7 and ColdFusion 8:
  • APSB08-06 Update available for potential ColdFusion MX 7 and ColdFusion 8 Cross Site Scripting security issue (Windows deployments only)
  • APSB08-08 Update available for ColdFusion MX 7 and ColdFusion 8 logs invalid admin interface log-in attempts

More Entries

  © Copyright 1997-2008 Ben Forta, All Rights Reserved