APPENDIX

happylandcannedSoftware and s/w Development

Jul 2, 2012 (5 years and 3 months ago)

362 views

APPENDIX
A
1
ApDev /Optimizing ColdFusion 5 / Cortes / 9304-2 /
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:56 PM
Color profile: Generic CMYK printer profile
Composite Default screen
Y
ou are reading an online chapter for Optimizing ColdFusion 5 by Chris
Cortes (Osborne/McGraw-Hill, 2001). This online chapter is intended to
supplement the printed text and provide valuable additional material to its
readers. Optimizing ColdFusion 5 was designed to give ColdFusion architects and
developers the tools necessary for improving many core aspects of their ColdFusion
applications. For more information about this ColdFusion text and others visit
www.optimizingcoldfusion.com or www.osborne.com.
Using ColdFusion Studio’s Online Documentation
Both ColdFusion Application Server and ColdFusion Studio ship with a great deal
of useful information and online documentation. Although the ColdFusion online
reference material is a little dry and sometimes difficult to read, for those who
dislike reading from a computer screen, these online documents cover many of the
issues that developers stumble upon in their day-to-day development.
ColdFusion Application Server Reference Material
ColdFusion Application Server’s documentation,as seen in Figure A-1,can be found
at 127.0.0.1/cfdocs/dochome.htm on any machine with ColdFusion Application
Server installed on it.
The ColdFusion server documentation can also be reached from the Product
Documentation link on the main page of the ColdFusion Administrator.
2
O p t i m i z i n g C o l d F u s i o n 5
ApDev /Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
Security, Online Documentation, and Sample Applications
Remember that Macromedia recommends the removal of all documentation
and sample applications from production servers because security has been
breeched through these tools in the past. The House of Fusion, which is a very
good ColdFusion web site, contains an interesting article about this security
issue. The article can be found at www.houseoffusion.com/hof/security/
diary.htm.
This article gives a detailed account of how hackers abused the ColdFusion
sample applications, which enabled them to penetrate ColdFusion Application
Server and deface a ColdFusion web site. You can find information about
ColdFusion security at www.allaire.com/developer/securityzone/.
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:56 PM
Color profile: Generic CMYK printer profile
Composite Default screen
ColdFusion Application Server Documentation
The following are the online books that are included with the ColdFusion server
documentation:
þ
Installing and Configuring ColdFusion Server This book, of course, contains
information regarding installing and configuring your ColdFusion Application
Server on multiple platforms.
þ
Advanced ColdFusion Administration This advanced administration book
includes information on data source management, security, Verity, and
ColdFusion Server clustering.
A p p e n d i x A
3
AppDev/ Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
Figure A-1 ColdFusion Application Server’s online reference material
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:56 PM
Color profile: Generic CMYK printer profile
Composite Default screen
þ
Developing ColdFusion Applications This book is a general reference
book containing many different application development topics.
þ
CFML Reference The CFML reference contains syntax, usage, and
information about creating and using CFML tags and functions.
ColdFusion Administrator Help
A newly improved feature of the ColdFusion Administrator is the addition of a very
intuitive help wizard,which can be launched from a link at the top-right corner
of ColdFusion Administrator’s pages,as seen in Figure A-2.Too bad the help
wizard isn’t a little lightning bolt that pops up and smiles or winks at us,right?
I am just kidding, but the new help reference is a great addition to the ColdFusion
Administrator.
4
O p t i m i z i n g C o l d F u s i o n 5
ApDev /Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
Figure A-2 Launching the ColdFusion Administrator help wizard
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:57 PM
Color profile: Generic CMYK printer profile
Composite Default screen
Similar in functionality to other help systems such as MS Office’s help, the
ColdFusion administrator help wizard automatically opens with relevant help
information to the page where the help wizard was activated, as seen in
Figure A-3.
In Figure A-3, you can see that the help window shows information regarding
ColdFusion Administrator’s Server settings because “Server Settings” is the section
where help was requested.
ColdFusion Studio Reference Material
ColdFusion Studio has some excellent reference tools that enable developers to
quickly look up technical and programmatic information about ColdFusion Studio,
ColdFusion server, CFML, and many other relevant web application development
topics. These tools are searchable reference materials and tag keyword help.
The help references that are available within ColdFusion Studio will vary slightly,
depending on the extra features that you may have installed on your system. For
A p p e n d i x A
5
AppDev/ Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
Figure A-3 The ColdFusion Administrator help window that is associated with
ColdFusion server settings
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:57 PM
Color profile: Generic CMYK printer profile
Composite Default screen
6
O p t i m i z i n g C o l d F u s i o n 5
ApDev /Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
example, if you have installed Macromedia Spectra or the WDDX Software
Development Kit (SDK) on your system, then chances are that you will also have
reference material relevant to those topics available in your ColdFusion Studio help,
whereas users with only a standard ColdFusion Studio installation will not.
Tag and function keyword help is triggered by pressing
F1
while the cursor is
positioned over a tag or function in the ColdFusion Studio editor. This feature helps
developers to quickly find information on CFML syntax and usage.
ColdFusion Studio Online Documentation
Typically, ColdFusion Studio will have the same documentation that ColdFusion
Administrator has but with the addition of some ColdFusion Studio specific topics
such as
þ
Using ColdFusion Studio
þ
Customizing the Development Environment
þ
Scripting the Visual Tools Object Model
þ
HTML Reference
þ
Wireless Development Reference
NOTE
Because this book was written during the first beta release of ColdFusion Studio 5, I cannot be sure
that all of the preceding topics will be part of the final ColdFusion Studio 5 documentation list.
Getting Tag and Function Help in ColdFusion Studio
As I mentioned at the beginning of this section, ColdFusion Studio is very efficient
at returning comprehensive tag and function help. Figure A-4 shows what you get
for the CFOUTPUT tag by pressing
F1
while your editor’s cursor is positioned over
a tag or function.
Also,pressing
F2
while your editor’s cursor is positioned over a tag or function will
provide basic tag or function syntax,as seen in Figure A-5 for the CFOUTPUT tag.
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:57 PM
Color profile: Generic CMYK printer profile
Composite Default screen
AppDev/ Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
Purchasing Hard Copies of ColdFusion Documentation
As well as providing soft copies of ColdFusion documentation with ColdFusion
software,Macromedia also prints hard copies of the ColdFusion Studio and ColdFusion
Application Server documents.I always purchase an extra set of documents so that I can
keep one set in my office and one set at work.Documentation for ColdFusion products
and other Macromedia products can be purchase at www.macromedia.com/store.
At the time this book was written,the price for ColdFusion Studio and ColdFusion
Application Server documents were $50 USD each.
A p p e n d i x A:
7
AppDev/ Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
Figure A-4 Using the
F1
key to get comprehensive information about a tag or function
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:58 PM
Color profile: Generic CMYK printer profile
Composite Default screen
8
O p t i m i z i n g C o l d F u s i o n 5
ApDev /Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
What Do You Do if Your Online Documentation Becomes
Unsearchable?
Occasionally, I come across a ColdFusion Studio developer who is unable to
access the search features that are incorporated into the ColdFusion Studio
documentation. The reason that this problem occurs is that ColdFusion Studio
maintains its own Verity collection that it uses to run searches against the
documentation, and sometimes those collections become damaged. If the
ColdFusion Studio’s Verity collection becomes corrupted or damaged, then
the search features in ColdFusion Studio will no longer function properly.
To correct the problem of a malfunctioning ColdFusion Studio Verity
collection,you must either repair or delete that Verity collection. When given
the opportunity, I always choose deleting and recreating Verity collections over
repairing or optimizing them.I figure that a collection will never be more optimized
than after it has been recently created. The default location of the ColdFusion
Studio Verity collection can be found at
c:\program files\Allaire\ColdFusion Studio 4x\Verity\collections
or
c:\program files\Macromedia\ColdFusion Studio 5x\Verity\collections
Before attempting to modify your Verity collections, as demonstrated in the
following procedure,make sure that you close any running instances of ColdFusion
Studio, as you may not be able to accomplish the prescribed task if ColdFusion
Studio is running.
After browsing to the location appropriate for your ColdFusion Studio
version, you should see a directory named Searchable Help; rename that
directory. By renaming that directory, ColdFusion Studio will no longer be
capable of finding that Verity collection, will assume that it doesn’t exist,
and will regenerate the collection the next time you attempt to search the
ColdFusion Studio documentation. You should now be able to search your
ColdFusion documentation again.
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:58 PM
Color profile: Generic CMYK printer profile
Composite Default screen
A p p e n d i x A
9
AppDev/ Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
Figure A-5 Using the
F2
key to return basic tag or function syntax in a pop-up box
Bonus
When I purchased my last set of ColdFusion documents, I got something that
was called Quick Reference Guide to CFML.This concise 30+ page booklet is
packed with reference material such as
þ
The CFML tag set
þ
The CFML functions set
þ
The ColdFusion variable scopes and their persistent variables
þ
ColdFusion tag specific variables such as CFCATCH and others
þ
A listing of standard CGI variables
þ
ColdFusion Studio keyboard short cuts
The Quick Reference Guide to CFML is a great tool that will help optimize
your time spent looking for tag syntax and attributes. I would pay $50 for the
set of documents alone, without this handy reference, but with this quick
pocket-sized guide, I think the package is a relative bargain.
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:58 PM
Color profile: Generic CMYK printer profile
Composite Default screen
1 0
O p t i m i z i n g C o l d F u s i o n 5
ApDev /Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
The ColdFusion Internet Community
One of the reasons that ColdFusion is so successful is because the ColdFusion
community, in general, is very cooperative. Not only does Macromedia devote its
own resources toward driving community unity, but some very active organizations
and companies also support the ColdFusion community.
The following five sections cover the ColdFusion web sites that I find the most
helpful in producing effective results and helping developers maximize their ability
to produce top-quality web applications.
House of Fusion
The House of Fusion is located at www.houseoffusion.com and is one of the leading
sites in the ColdFusion community. Run by Michael Dinowitz, famous ColdFusion
developer and coauthor of the Advanced ColdFusion 4 Application Development
Kit (QUE 1999),the House of Fusion is responsible for bringing thousands of
ColdFusion developers together every day in an effort to help developers worldwide.
If you are not familiar with the House of Fusion, I suggest that you visit it right
now and begin participating in what are termed “The Lists.” House of Fusion hosts
several e-mail lists devoted to supporting developers who use Macromedia tools in
their daily tasks. Each list will generate between a dozen and a few hundred
messages per day, depending on the topic. Developers post questions and responses
relevant to multiple topics twenty-four hours a day, seven days a week. The e-mail
lists that are hosted at House of Fusion and the subjects that are covered are listed in
Table A-1.
List Name List Subject Matter
CF-Talk General discussion about CFML and developing ColdFusion
applications. This is the most popular of the lists, and sometimes
hundreds of messages are posted per day. Macromedia and many
ColdFusion experts frequently contribute to this list and observe
community sentiment and concerns.
CF-Server This list contains general discussion about ColdFusion
Application Server.
Table A-1 Mailing lists hosted at houseoffusion.com
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:58 PM
Color profile: Generic CMYK printer profile
Composite Default screen
A p p e n d i x A
1 1
AppDev/ Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
List Name List Subject Matter
CF-Community This list is for general ColdFusion discussions not covered
specifically by other ColdFusion based lists.
CF-Partners This list is specifically designed for Macromedia partners
to collaborate and discuss issues that effect and impact the
Macromedia partner community.
CFX This is a list to discuss general CFX topics.
Spectra-Talk This list is specially targeted at Macromedia Spectra developers.
Macromedia and Spectra experts frequently contribute to this
list and observe community sentiment and concerns.
Homesite/Studio This list is for general discussion that covers Homesite and
ColdFusion Studio products.
SQL This list is for general discussion on topics covering SQL.
JRUN-Talk This list is specifically targeted at JRUN developers. Macromedia
and JRUN experts frequently contribute to this list and observe
community sentiment and concerns.
JSP-Talk This is a list specifically targeted at JSP developers.
Fusebox This list generally encompasses Fusebox development methodology
and is intended to support developers who build sites using Fusebox.
Fusebox-Community This list is for general discussions by the Fusebox community that
are not directly related to application development.
CF-Jobs This list is for employers posting job announcements and developers
posting availability announcements.
CF-Linux This list is for ColdFusion developers to discuss topics directly
related to building ColdFusion applications on the Linux platform.
WDDX-Talk This list is for developers who use the WDDX language to extend
their web applications.
CF-WAP This list is for ColdFusion developers to discuss WAP topics and
their relationship with developing WAP-enabled ColdFusion
applications.
CF-Stock This list is for the discussion of the price of Macromedia stock.
NYCFUG This list is for the discussion of topics directly related to the New
York ColdFusion Users Group (NYCFUG).
Table A-2 Mailing lists hosted at houseoffusion.com(continued)
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:59 PM
Color profile: Generic CMYK printer profile
Composite Default screen
1 2
O p t i m i z i n g C o l d F u s i o n 5
ApDev /Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
I recently spoke with Michael Dinowitz about The Lists, and he had some very
interesting remarks regarding the ColdFusion community and the reason for the
apparent success that House of Fusion has had in supporting it. I asked Michael,
“Why do you think that The Lists have been so successful, and how do you think
that they have impacted the ColdFusion community?” This is howMichael responded:
The HoF lists are as powerful as they are because it’s for the community and
by the community. The people who post are, in most cases, asking questions
that we all have asked or haven’t even thought of asking yet. The people
who respond are those who are in the trenches and using the product every
day. We realize that, in the end, all we have is each other, and we strive
to help out. It is this spirit of community that has helped push ColdFusion
into the position it is in today. I’ve seen many products that were similar
to ColdFusion die by the wayside because they lacked the community that
ColdFusion has.
I definitely agree with Michael,and I place the House of Fusion at the top of my list
for web sites that enable active ColdFusion developers to overcome daily obstacles.
NOTE
Although Macromedia takes an active interest in list discussions, The HoF Lists are officially
supported, managed, and monitored solely by the House of Fusion.
Allaire Tag Gallery
The Allaire tag gallery is located at devex.allaire.com/developer/gallery/.
Macromedia, of course, maintains the tag gallery, which is also known as “the
developers exchange.” The Allaire tag gallery is devoted to providing developers
who use Macromedia products with a place to share their creations, and it contains
the single largest collection of ColdFusion custom tags. There are literally thousands
of useful custom tags available for developers to download, most of which are
free of charge.
The Allaire tag gallery supports the spirit of optimization by providing a super
resource that is all about code reuse and community cooperation.
Allaire Knowledge Base
The Allaire knowledge base is located at www.Allaire.com/knowledgebase.
If you are accustomed to building ColdFusion applications in diverse
environments, as consultants are, then the Allaire knowledge base is an excellent
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:59 PM
Color profile: Generic CMYK printer profile
Composite Default screen
tool for quickly getting masses of information on a wide variety of topics. In the
Allaire knowledge base, you can find a wealth of information that Allaire has
organized into a searchable index. The knowledge base is the first place I go to
when I am unable to get answers from the CF-Talk list. Not only is the information
in the knowledge base well categorized, but it is also well written. The knowledge
base articles are usually in a format similar to short white papers, but they are
sometimes written as well-produced, highly detailed articles.
Allaire Columns and Articles
The Allaire columns and articles are located at
allaire.com/developer/technologyreference/columnsarticlesarchive.cfm.
Allaire makes it a practice to regularly publish articles covering new ideas and
topics of interest to the ColdFusion community. Developers and engineers working
for Macromedia write many of these articles, but some of the articles published on
the Allaire site are submitted by developers working independently of Macromedia.
Topics in the columns and articles section of the Allaire site range from XML to
WAP to advanced ColdFusion concepts. When I feel like being challenged, this is
one of the first sites that I visit. Overall, this is one of the best web sites that
ColdFusion developers can go to.
Fusebox.org
Fusebox.org is of course located at www.fusebox.org.
Fusebox is perhaps the most widely accepted methodology that ColdFusion
developers use today; moreover, the fusebox.org web site offers an impressive
collection of Fusebox and ColdFusion techniques that are invaluable to ColdFusion
developers. Even if you are a developer who does not use the Fusebox methodology
to create your applications, visiting fusebox.org and reading through the content
available there can help you develop stronger,more efficient applications.
Fusebox.org has done a tremendous job in furthering ColdFusion architecture
and optimizing the stability of ColdFusion applications that use Fusebox.
Recommended Reading
It is always my pleasure to hear other developers and consultants talk about the
reading material that has influenced their programming habits and abilities. I have
dozens of books and periodicals that I would like to share with you and talk about,
A p p e n d i x A
1 3
AppDev/ Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:59 PM
Color profile: Generic CMYK printer profile
Composite Default screen
ApDev /Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
but instead of sharing all of them with you, I will share the ones that have most
influenced my ColdFusion and application development experiences.
ColdFusion Developer’s Journal
ColdFusion Developer’s Journalis available from Sys-Con Media at
www.sys-con.com/coldfusion/.
ColdFusion Developer’s Journalis the major ColdFusion periodical.It is supported
by top names in the ColdFusion industry,such as Ben Forta,who has a regular article
in the journal. This magazine consistently prints interesting and valuable articles
specifically geared for the ColdFusion community, and it contains a wide range of
content for the expert to the novice.
ColdFusion Books by Osborne
At the time that this book was written, three other very exciting texts that are all
about ColdFusion and are published by Osborne/McGraw-Hill were hitting the
shelves. It is encouraging to see all of the effort that a single publishing company is
putting behind the ColdFusion product line. Until recently, there have been a scant
handful of ColdFusion texts produced by all publishers combined, and most of them
have been complete references. Finally, because of Osborne/McGraw-Hill, there are
a wide variety of texts for the ColdFusion community to choose from.
The ColdFusion Developer’s Reference
The ColdFusion 5 Developer’s Guide,by Michael Buffington (Osborne/McGraw-Hill,
2001), is a complete desk reference that covers the entire ColdFusion language from
the simplest tags to the most complex functions; a must have for all ColdFusion
developers.
Instant ColdFusion
Instant ColdFusion 5,by Jeffry Houser (Osborne/McGraw-Hill, 2001), has a classic
cookbook approach to ColdFusion and is designed specially for developers who like
to learn by example and get their hands dirty while learning. This text comes with
a CD-ROM containing all of the examples used to develop the applications in the
book. Visit instantcoldfusion.com for more information.
1 4
O p t i m i z i n g C o l d F u s i o n 5
ApDev /Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:13:59 PM
Color profile: Generic CMYK printer profile
Composite Default screen
ColdFusion for Beginners
ColdFusion 5:A Beginner’s Guide,by Jeffry Houser (Osborne/McGraw-Hill,2001),
provides a great introduction to ColdFusion, and enables developers, new to
ColdFusion, to deploy dynamic web sites.
Books on SQL
One of the largest potential bottlenecks of any data-driven application is the
database. In order to minimize the risk of a database that can’t keep up with your
application server, you need to become a well rounded web developer who knows
more about SQL than select, insert, update, and delete. The following texts are all
great books in which the content can be easily adapted or related to common tasks
that web developers must address on a regular basis.
SQL for Smarties
SQL for Smarties, by Joe Celko (Morgan Kaufman Publishers, 1999), is arguably
one of the best texts written about the SQL language. This book is a must for
programmers who work with databases, as the text opens up a vast majority of
the SQL language not typically taught to developers. I credit the advanced SQL
knowledge that I have to Joe Celko and SQL for Smarties.
The Guru’s Guide to Transact-SQL
The Guru’s Guide to Transact-SQL, by Ken Henderson (Addison-Wesley, 2000),
is an excellent text that covers the advanced topics that are sometimes needed by
ColdFusion developers working with Microsoft SQL Server. If you need to write
complex Transact SQL (T-SQL) store procedures for SQL Server, then this may be
the book for you.
SQL Queries for Mere Mortals
SQL Queries for Mere Mortals, by Michael J. Hernandez and John L. Viescas
(Addison-Wesley, 2000), is another great source for advanced SQL theory. I find
the topics that are covered in this book practical and easy to adapt to the types of
processes that we must handle in web development. This book comes with a CD
containing the databases that were used to write the SQL contained in the book,
which makes the quizzes at the end of each chapter fun to try.
A p p e n d i x A
1 5
AppDev/ Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:14:00 PM
Color profile: Generic CMYK printer profile
Composite Default screen
Application Architecture
I think that part of optimizing your web applications means that you must be able
to look at a project from the outside in and quickly assess problems. Part of leading
successful engagements means that you can build an application conceptually before
you ever write a line of code,define a plan of action,or spot a rolling snowball before
it becomes a giant boulder of ice. The following books address these issues and
more, and will help you optimize the planning and management of your ColdFusion
applications.
UML Distilled
UML Distilled, by Martin Fowler with Kendall Scott (Addison-Wesley, 1999),
is a very interesting book that covers the Unified Modeling Language (UML) in
detail and in plain English. I first became interested in object design when I began
developing Spectra applications, and I was advised by Ben Elmore to read this book.
Although this is a relatively short text,after reading UML Distilled,my grasp of UML
and developing good object and logical models greatly matured.
Software Requirements
Software Requirements,by Karl E. Wiegers (Microsoft Press, 1999), despite some of
the mild criticisms seen on Amazon.com, I find the procedures laid out in this book
to be more than adequate for web development. This text helped me understand the
differences between gathering requirements for a development team and gathering
requirements for myself. A must read for web architects and ColdFusion developers
doubly tasked with playing architect.
Debugging the Development Process
Debugging the Development Process, by Steve Maguire (Microsoft Press, 1999),
is a book that I originally read quite some time ago, but always find myself running
back to. This is a great book that discusses the application development process.
For me, this book read like a novel, but that is because I am a nerd; the information
that Maguire shares with the reader jumped off the page and spoke to me. This
author has been through it all, and he shares his experience on building successful
applications in a way that I found adaptable to web development.
1 6
O p t i m i z i n g C o l d F u s i o n 5
ApDev /Optimizing ColdFusion 5 / Cortes / 9304-2 / Appendix A
P:\010Comp\ApDev\304-2\appaweb.vp
Thursday, August 30, 2001 12:14:00 PM
Color profile: Generic CMYK printer profile
Composite Default screen