Book Image

ColdFusion 9 Developer Tutorial

By : John Farrar
Book Image

ColdFusion 9 Developer Tutorial

By: John Farrar

Overview of this book

Adobe ColdFusion is an application server, renowned for rapid development of dynamic websites, with a straightforward language (CFML), powerful methods for packaging and reusing your code, and AJAX support that will get developers deep into powerful web applications quickly. However, developing rich and robust web applications can be a real challenge as it involves multiple processes.With this practical guide, you will learn how to build professional ColdFusion applications. Packed with example code, and written in a friendly, easy-to-read style, this book is just what you need if you are serious about ColdFusion.This book will give you clear, concise, and practical guidance to take you from the basics of ColdFusion 9 to the skills that will make you a ColdFusion developer to be reckoned with. It also covers the new features of ColdFusion 9 like ORM Database Interaction and CF Builder.ColdFusion expert John Farrar will teach you the basics of ColdFusion programming, application architecture, and object reuse, before showing you a range of topics including AJAX library integration, RESTful Web Services, PDF creation and manipulation, and dynamically generated presentation files that will make you the toast of your ColdFusion developer town.This book digs deep with the basics, with real-world examples of the how and whys, to get more done faster with ColdFusion 9.
Table of Contents (22 chapters)
ColdFusion 9 Developer Tutorial
Credits
About the Author
About the Reviewers
Preface
Index

Areas of interest


Web development can have as many unique aspects as the human body. There are teams that can be very similar in skills, yet their makeup gives them a very different function. This is like the difference between the hand and the foot. Not everything is a mathematical function. Building a social team is a skill to be admired. Yet, there are fundamental things that are needed or benefit each team. The goal of this section will be new to some and a review to others.

Perspectives

There are several perspectives people have that are involved in creating websites, but we are going to concentrate on these three:

  • Business

  • Developer

  • Designer

There is also the aspect of personality. Do a web search on DISC personality profiles and you will get an idea of what I am talking about. There are professional perspectives as well as other perspectives. Culture, gender, social circles, and personality outlooks like the DISC concepts all come into play. I suggest using Google to research this topic.

I suggest everyone look at life in a holistic view. Certainly, this book is not the forum for moving people in that direction, but it's a good thing to encourage. Granted we are going to come to different views on these issues. If we are happy outside work, then that makes it easier to concentrate on work when we are at work. Then, we don't tend to take work home. These don't need to be completely separate, but the wrong spillover tends to turn into a negative cycle that chips away work and personal life.

Now let's bring it back around to work. Understanding personalities doesn't mean we need to be someone different. Some people are not big talkers while others seem to have a double gift. (Some of us gifted ones try to channel our gift by blogging, writing books, and that type of activity.) Each of us benefits by growing to understand the differences between ourself and others, and by respecting personality and different responsibilities. The next section of this appendix concentrates some thoughts in that direction.

Business perspective

There is an old American cliché about walking a mile in another man's shoes. Often developers struggle to understand business on a level to communicate to the guys on the business side of the team. While it can be said the same thing happens from the business side, there is only one side of the equation we can truly control. With that reality, it would do us good to at least consider the business perspective to either assist those who are "developer friendly" or to achieve the goals of those who are not.

The business view is that all aspects of business are about a number of key concepts. There is marketing and public relations, investment resources, predictable results, risk analysis, mission-critical business functions, growth potential, and other concepts like these. The IT (information technology) side of business is only part of things in most cases. Every side of business sees itself as the most important aspect at times. If we recognize this and move into projects giving the perception that we understand this responsibility and motivation, we will find that business team members will be much more receptive. This does not mean to meddle in things that are not our responsibility.

Persona reviews

What can we do to achieve this? We can do persona reviews of projects whenever possible. This means we sit down with users of our projects and see what they do for work. We see how they use current systems and what new needs and benefits can be offered to enhance what they are doing. We learn how they interact and how they think, so we can design a system for the user that minimizes training and reflects the personality of the users.

One of the most powerful ways to do this is with a prototype. The prototype lets us review the user response by evaluation. When we build things out all the way before they are user-tested, changes are much more difficult and tend to be much more costly.

A related aspect of persona is usability. There are many great books and resources on this topic, but it's an acquired skill. The biggest key to usability is to get the end user in there to actually make sure the product does what is expected. This may assist in creating the proper training or things that have to change.

Milestones

This is perhaps one of the most important areas in approaching project management. Getting the big picture and goals is essential. For a bigger project, there will be a greater need to feel like we are making progress. This need applies to all sides of the team. This will help to evaluate if goals are being met and give a path to deal with the most predictable part of any project—change.

Design/marketing perspective

I have said, many times, these are the guys who make us look good and the ones who find people to see how good we look. The developer can give the designer something special. He can give the designer something to decorate. Some artists are good on a canvas while others are more organic. The more organic artist in this concept likes to move off the canvas and paint life in action. Websites are becoming more and more an action platform and less static.

What goes into a designers mind? There is the culture of the users. Not all sites can have the same state of the art design and appeal to the target audience. Some sites will appeal to more than one audience personality. A designer seeks to find a way to appeal in a mutual but compelling fashion. A good design attracts the user to the site, but doesn't distract the user from the function. (Facebook seems to have missed the point here; they change the site so often it has become part of their personality in our minds. Who knows, maybe they will change how often they change things someday.)

Marketing and public relations (PR) is about making all the works happen. It could be said this concept is akin to the key for a car. Imagine having a car with no key! Without visitors and users, we don't have a reason for all our work. If they don't have features to decorate and market, they can't shine. We want to listen to them and figure out how and where to achieve and simplify their work. The easier they find it to do their work, the more they can concentrate on getting our work into the light of day.

Developer perspective

This will seem a strange one to cover at first to some. New developers don't realize that there is practically just as much difference of personality inside the developer community as there seems to be outside it. The differences are smaller but also closer to individual passions. This means we tend to be more sensitive about these issues.

Some developers are all about production. Others are about preparation. Here we see those personalities I spoke of earlier coming into play. If we can look at these concepts, it will help. Over the years, I have seen several team projects miss the schedule and feature goals. This is typically because production becomes so centered a goal that we lose sight of sustainability and features. Yet, without production there is not a sufficient return on investment. This is a healthy mix and should be welcomed on teams. Keep the teams productive but also keep them fresh, growing, and creative. Allow different members of different teams to learn more about their personality. Those who are more creative can be given a measure of opportunity to seek and share. Mostly, keep the environment positive by embracing the differences and value of each outlook.

Regardless of which perspective, we all need to grow and be productive. Consider online learning, and conferences online and in person. One of the best ways to grow is to find a way to invest back into the community. Our projects of COOP, SOS, CFish, and others have greatly expanded my thinking. Granted others are not going to be creative on quite as compulsive of a bend as that. Yet, we can contribute by testing, passing code fixes, suggestions, and even contributing resources towards community projects. It's good to give back and invest in others. Open source projects are in abundance and we have a few created by SOSensible; you are welcome to contribute to them.