Forums and Support for ColdFusion 8 Public Beta

ColdFusion 8 on Adobe LabsThe ColdFusion 8 flood gates have opened wide in the blogosphere, and ColdFusion developers everywhere have begun to consider and experiment with the wide range of great new features. As you know, Adobe Labs is hosting the ColdFusion 8 Public Beta, so if you haven't downloaded and installed it yet, now's the time.

Surely you'll have some questions about features and functionality as you play with the Server Monitor, Flex / LiveCycle DataServices Integration, Ajax integration, PDF documents and forms, Image processing, database driver enhancements, performance improvements, and all the other new features. Be certain to read the Installation Instructions and the Release Notes for known issues. Adobe Labs has set up a ColdFusion 8 Forum where you can begin discussion of your development ideas and experiences.

Questions are welcome, and remember that, for now, this is a public beta, so your input is wanted to help shape the final release. If you feel confident that you've uncovered a bug or have an urgent enhancement request then you can enter a report here. All reports are read and evaluated on technical merit and distribution of impact (i.e. how many developers or sites may experience the reported problem).

I'm thrilled that I've been able to contribute to the development and quality assurance testing for this upcoming final release of ColdFusion 8, and I'm completely certain you will be too.

But work is not done yet, so get ColdFusion 8 Public Beta and provide your feedback.


My first talk - ColdFusion MX 7 Server Administration

Introduction slide for lecture 14 of Developing Web-based Database Applications In December 2006 I was honored to provide my first public presentation ever as guest speaker for Harvard University's course Developing Web-based Database Applications (CSCI E-253). This course is part of the Extension School curriculum for the Master of Liberal Arts in Information Technology and the Certificate in Applied Science concentration in Information Systems and Electronic Commerce, and it focuses on the use of Oracle and ColdFusion MX as the vehicle of learning database design for the Web.

The instructor requested that I provide 2 hours of material for the full lecture on the topic of administering a ColdFusion server. This resulted in a very comprehensive crash course presentation on ColdFusion MX 7 Server Administration from page request flow, to understanding directory structure and critical config files, to managing the web server connector stub, to walking through the ColdFusion Administrator, and including ColdFusion and JVM tuning. As a conservative estimate, I spent nearly 30 hours of my own time to build the presentation.

The course was part of Harvard's Distance Education program, which provides live, streaming video from the classroom to remote students around the country and around the world, in addition to the local students in the classroom. My presentation was conducted in state of the art video production classroom equipped with a control booth, several remote controlled cameras, and two slide screens. The control booth technician made me feel like I was on a Hollywood stage, providing hand signals to me as he counted down to begin live broadcast.

Surprisingly, I did a decent job without any major hitches. You can imagine how stressing this scenario was for a first-time presenter. Based on this experience, I intend to review my presentation to expand or contract some topics as necessary. Then if there's a need, I may offer the presentation to other groups when time permits. Since having joined the ranks of ColdFusion QA this year I've been much busier than I was in Technical Support, and even more now that my wife and I immersed in house hunting and negotiating, but things should slow down by the Spring and allow me to get back to this.

For now, here's a few screen shots from the preso, and I may generate blog entries for each of these topics in the near future, but hopefully there's some value in just having these cartoon diagrams. You may also want to check out last year's post on How ColdFusion Receives and Processes Requests.


Saving costs in Linux environments while still using a stable server platform for ColdFusion

I began this as a comment to Matt Woodward's blog entry on ColdFusion start scripts on Ubuntu Linux. I just wanted to add some links, but it became lengthy and is better suited as a blog post of my own.

I'm not a Ubuntu user, but strictly Red Hat, Fedora, or Red Hat clones. I just wanted to post some related links for Red Hat users.

On the topic of running ColdFusion on "unsupported" Linux distributions, I recommend using Red Hat clones such as CentOS, rather than bleeding edge distributions if you absolutely cannot run a distro supported for use with ColdFusion by Adobe.

Fedora Core Linux, for example, is a bleeding edge distribution and is not appropriate as a production server even though it is sponsored by Red Hat. For a server you want stability with a well tested suite of packages rather than a distro that has all the bells and whistles but hasn't been put through its paces or tightened up as much the stable commercial release.

CentOS is built from the same source as Red Hat Enterprise Linux. Effectively CentOS is RHEL, except that CentOS is free and supported by the community. This is possible because under the GPL, Red Hat must make its source available, and CentOS takes advantage of that. I'm not bashing Ubuntu or other distros here, but CentOS is a recommended stable OS that is appropriate as a production server, and I've had some Red Hat instructors tell me so off the record.

Since ColdFusion is QA'd on RHEL you can feel confident that a Red Hat clone will be as reliable as RHEL itself, even if that OS doesn't show up on the ColdFusion System Requirements. Still, however, should anyone using a clone need to seek ColdFusion Support from Adobe, you may be asked to first reproduce the problem on RHEL itself.

A good use of Red Hat clones for a small shop would be to use the clones for development and staging/QA of ColdFusion web applications, then host the final application on a paid RHEL server. This way you can save costs on non-production environments.

The same argument applies to clones of SuSe Linux Enterprise Server as well, although since I'm not a SuSe fan I can't name any of their clones.

A shortcut to getting started with PostgreSQL database on Linux

Recently I've needed to install the PostgreSQL 8.14 database server on a couple Linux machines for testing. Here is some information and scripts to make it easier for you start and stop the database, since installing from source instead of RPM leaves you without the convenient /etc/init.d boot scripts for Postgres and requires you to start Postgres database with the postmaster command when su'd as the postgres user. A bit of a headache... so I wrote the script shown further below as a convenience when managing Postgres and it may be helpful for those who don't want to read all the docs right away.

After having downloaded and uncompressed (tar -xvzf postgresql-8.1.4.tar.gz), the installation instructions begin with the a short version, to be run from inside the uncompressed source directory. I've modified the short version such that when creating the system postgres user account, no shell is given for the postgres user, then later a shell can be specified when using the su command to run the postmaster (The postmaster command can not be run by root directly).


Understanding HotSpot in Plain English

Not having a degree in Computer Science means that my view of web technology begins at a granular level and necessarily seeps from the top down into the foundations of how software works. For ColdFusion this course traverses the basics of HTTP and CSS, expands into the full range of CFML tags, functions, and architecture, then arcs into databases and SQL, and continues well into the depths of Java and J2EE technology and all that's contained therein. One low level topic that has often piqued my interest has been the question of what exactly is the Sun HotSpot technology for Java Virtual Machines? Sure many ColdFusion pundits share recommendations for JVM tuning parameters, but if you're like me you find it rather superficial and want to know more about this HotSpot black box.


IT Conversations Podcast: Interview with Jeremy Allaire on Video Distribution

As a fan of the high quality podcasts from IT Conversations, I was browsing for other podcasts not in the channels to which I already subscribe. I discovered a December 2005 podcast interview with Jeremy Allaire, the founder of Brightcove, although perhaps better known as the founder of Allaire Corporation and the flagship application server Cold Fusion (Yes, with a space in the name until the late 90's).

While checking my facts while preparing to blog this, I discovered two related podcasts from IT Conversations including another panel interview in 2005 on reinventing media, as well as a 2004 interview with David Orfao of General Catalyst, formerly CEO of Allaire Corportation. (Anecdotally, my introduction to David occurred when he surprised me at my desk one morning. By coincidence, I had dropped my badge at a convenience store near my residence, and David just happened to find it shortly after).

Now, about those podcasts:


Annotations for ColdFusion Podcast Episode 21: Performance Tuning

I enjoy keeping up with the ColdFusion Podcast whenever I can, but I usually lag behind by a couple weeks until I find the time to listen to a few of them during some downtime. This morning I began listening to the most recent podcast at home, and then continued during my drive to work. The podcast was so interesting that I found that I had to share my right hand between the manual shifter and a notepad where I was jotting down some thoughts regarding Episode 21, Performance Tuning ColdFusion MX Applications.

Here I'd just like to take a moment to annotate some of the bullet points from the discussion while also extending with additional information.


The ColdFusion Engineering Team is Looking For a Few Good Interns

The Adobe website recently posted the following job listing for college internships in the Boston area: (Job ID: RP020605)


Duplicate Message-ID values generated for CFMAIL messages

When using ColdFusion MX 6.x/7.x Enterprise Edition, the Mail Settings page of the ColdFusion Administrator has a configurable setting for Mail Delivery Threads which defaults to 10 threads. When sending mail at high volumes via the CFMAIL tag, its possible that two mail threads could generate identical Message-ID numbers for distinct mail messages when sending mail to the SMTP server, and the probability of this is more likely on fast processors.

The Message-ID header is shown as an optional parameter in RFC 822 (Standard for the Format of ARPA Internet Text Messages). RFC 2822 (which obsoletes 822) states:

Though optional, every message SHOULD have a "Message-ID:" field...
The "Message-ID:" field contains a single unique message identifier.

It has been reported that the Microsoft Exchange mail server will not deliver messages having a Message-ID value the same as the Message-ID value from another email message, although Sendmail and Postfix will deliver all messages regardless of redundant Message ID values.


ColdFusion MX 7.01 installation on RHEL4 - Warning: C++ compatibility pack

With support for Red Hat Enterprise Linux 4 introduced by ColdFusion MX 7.01, a C++ compatibility pack warning may be erroneously presented during ColdFusion installation. The ColdFusion MX installation script uses the command rpm --query compat-libstdc++ to ascertain if the C++ compatibility pack is installed on the system. The actual RPM package name is not compat-libstdc++ so the rpm command does not return a successful result and the CFMX installation script produces warning.

To more accurately determine the status of a C++ compatibility pack on the system, the ColdFusion MX installation script should either query all packages and use the grep command as a filter or query the exact package name. For example, the command rpm -qa | grep compat-libstdc++ queries all packages and filters or greps on the string compat-libstdc++. On my RHEL4 system, this command produced two results, compat-libstdc++-33-3.2.3-47.3 and compat-libstdc++-296-2.96-132.7.2.


Previous Entries / More Entries