[Looking for Charlie's main web site?]

My two articles in the latest FAQU

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
I'm keeping my streak alive of having written in each of the first 5 editions of the FusionAuthority Quarterly Update. In the latest "CF 8 Special Edition"", where I have two articles:

  • The ColdFusion 8 Debugger Explained: Interactive Step Debugging for ColdFusion 8
  • Tipical Charlie: Hidden Gems in ColdFusion 8

The first is a 10-page overview of getting started with the CF 8 Debugger. It follows on to the earlier article I'd done in the Fall 2006 edition on FusionDebug. As both articles show, I'm a fan of both tools, and I just want to help people become aware of both.

The second article continues my tips column that's at the end of each issue, and this is a quick one-page summary of some of the best of the hidden gems I've identified in my past user group talks of the same name.

Note that the articles are not available online so you must get the print edition to read them (though I've been in talks with Judith and Michael for some time to get at least just the tips columns online, perhaps only some time after publication. We shall see.)

Upcoming classes I'll teach on FusionReactor and FusionDebug

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
As I've discussed previously, one of the many things I do as an independent consultant is help the folks at Intergral by teaching some classes I created on using their FusionReactor and FusionDebug products. These are great solutions for monitoring and debugging on CF 6, 7, and 8.

Here is the upcoming schedule of classes for the next few weeks. You can find out more details (cost, description, topics, timezone converter, signup) at the links provided:

Fast Track to FusionReactor I - Introduction

Tues Feb 19, 1pm EST (GMT-5) Tues Mar 18, 9am EST (GMT-5)

FusionReactor FastTrack II - Advanced Techniques

Tues Mar 25, 9am EST (GMT-5)

FusionDebug Awareness Seminar (free)

Tues Feb 26, 1pm EST (GMT-5)

My latest Adobe Devnet article on CF8 monitoring: Part 3 and 4 now posted

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Parts 3 and 4 of my 4-part series on the CF8 Server Monitor are now posted on the Adobe DevNet site. Part 3 was posted several weeks ago, but with the holidays, etc. I just failed to get word out. Part 4 was posted yesterday.

If you've not taken a look at these, you may be missing out. There are some misconceptions about the monitor, and also I think most don't realize that it can do much more than they may suspect. There's precious little documentation (and discussion) about it, so you may find things here you won't find anywhere else.

The third and fourth parts, specifically, have the following sections:

Part 3

  • Automated monitoring and request management with Alerts
  • Substantial diagnostic details with Snapshots

Part 4

  • An enterprise dashboard with the Multiserver Monitor
  • Programmatic Monitoring with the Admin API
  • Tweaking the Monitor in the Settings section
  • Miscellaneous aspects of the Monitor

Sure, I've just written about FusionReactor yesterday, and will write still more about the new release. I don't see it incompatible to help people make the most of whatever tool they may use. I've written previously also about SeeFusion. Indeed, I've written previously that that each has their place, even in the face of CF8's server monitor.

I'd like to hear from readers

The DevCenter articles offer a feedback link, but so far I've not gotten any (and they say they will forward any they get). I'd really appreciate hearing from anyone who has read the articles. I really feel that they go way beyond what's available in the docs and help, to bring together information and concepts you might otherwise miss. Has it helped you at all?

Finally, do you ever wonder why some call this area of the Adobe site "DevNet", "DevCenter", and/or some the "Developer Connection"? Well, the URL has devnet in it, but the breadcrumb bar at the top of my articles shows "Home > Developer Connection > ColdFusion Developer Center". Go figure. :-)

FusionReactor 3 released

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
The fine folks at Intergral, makers of the FusionReactor monitor for CF and other servers, have quietly released a new FusionReactor 3 today.

The key new features are:

  • An improved Enterprise Dashboard, built on Flex, with additional new info and even an Air-based version (the latter still in beta)
  • Substantially improved request metrics (system overview) page, with new graphs and data (since the Dashboard is only in the FR Enterprise edition, this is a real plus for FR standard users) and also slow query tracking
  • dramatic new zoom feature in graphs, to zoom in a range of time intervals
  • improved logging, especially useful for post-mortem analysis
  • ability to fire a script/batch file when a server monitored in the Enterprise dashboard stops/starts (has long been able to send you email and/or log those events)
  • support for multiple user logins with optional varying access levels, including new "manager" and "observer" roles in addition to the normal "admin" role
  • abiliity to track cpu available in the system against CPU used by a monitored instance
  • ability to view/delete requests queued by FR crash protection queuing

You can learn more about what's new, and upgrade pricing.

I'll blog more about many other little things that have changed--the good ol' "hidden gems" I like to do.

How can I process Excel files in CFML? Let me count the ways

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Most of us have seen over the years many requests and many ways to process (read or create) Excel (.xls) and other spreadsheet files. In fact, there have been so many different ways (some simple, some powerful; some new and some quite old) that I fear some may do a quick Google search and try the first thing they find. Sadly, what works for some may not work for all.

One place to list all the approaches

I don't recall ever seeing any single listing of all the possible ways to do CFML to Excel integration, so I decided to create one. I've created a new section in my Tools to Consider for CFML developers on the topic of "Excel File Processing Tools".

You'll see I've gathered a range of articles and tools from over the years showing how to do CF-Excel integration (both directions) any of several of the following ways (the links go to the section within my tools list on this topic):

  • You can easily create them using HTML tables and CSV generation (as well as read them using CSV)
  • You can create them with the more powerful XML-based approach
  • You can create and read them using Java-based APIs like POI, JExcel, and jXLS
  • You can create and read them using COM and now in CF8, .NET
  • You can read them using ODBC and JDBC drivers
  • Let's not forget also that you can create them using the Report Builder in CF7 and 8, which can output as Excel
  • And finally there's the old Excel Web Query feature for populating a spreadsheet from a CFML request

In the listing, I offer dozens of links to articles, blog entries, downloadable tools, any relevant CF docs, and more, all broken down by the approaches listed above.

Different Strokes for Different Folks

So you see, there are not only different solutions but different needs (create a spreadsheet CFML, read one into CFML, or populate one within Excel from a CFML request). It seems helpful to gather a single resource to organize them all and help people decide.

I need your feedback

So let me know what you think of all this. Did I leave out any other important approaches? I'm not claiming to "know it all". This is just a result of some research I did this morning (and/or recollection from past experiences). I'm sure I could have missed something. Certainly I know I'm not listing *all* possible references on each of the subjects. I just wanted to give folks something to start with, but I'm certainly open to adding any useful references or tools that I left out. Please leave a comment below.

Update: Indeed, already, in response to a comment, I've tried to make more clear the fact that I'm not just talking here about creating spreadsheets from CFML but was referring to reading them as well. That's why I chose "processing" in the title, and I referred several times to "reading them", but to make it stand out, I've bolded all the references to reading them.

More important, because it seems he had missed the 2 links to the lists where I offer more details, I've also changed the words in the list above to link into the discussion of the topic in the tools list. Hope that helps avoid people missing the real point of the listing. I was torn about just offering the listing itself as a blog entry and went with this approach instead of a summary that points to the details. I know some don't like really long blog entries. Also, listing them in the bigger tools list seemed helpful, but I may split it out into its own file. We'll see.

Not just about Excel or even Office

BTW, one may argue that I could have a generic section on processing all sorts of file types (or even just all kinds of MS Office) file types, but there are so many requests for Excel file processing specifically, and so many approaches/tools to suit those needs, that I just figured I'd start out with this and consider other filetypes later (and may rename the section then). It's also certainly true that most of the techniques/tools shown here can be used with any spreadsheet tool that reads xls files or processes CSV/HTML table files in a similar way (like OpenOffice).

Update

Again, note that since creating this blog entry, I may have updated the section on this in my CF411 tools list, "Excel File Processing Tools". Be sure to check that out to see if there are still more new options.

Is Dreamweaver crashing when you try to use Help? Here's a solution

Note: This blog post is from 2007. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
For months now, I've found that when I tried to use the help feature in Dreamweaver (8 or MX 2004), it would crash, with an "unhandled Win32 exception". If this has happened to you, there is a quick and easy solution.

The problem turns out to be IE7. That explains why, for me, it was such a mystery. I don't use DW help much at all and have had both DW 8 and 2004 installed for over a year, so when trying to use help suddenly failed in recent months, I couldn't for the life of me connect the dots to resolve the problem. I searched the web and the Adobe site in particular, all to no avail.

Solution in an Adobe Technote

Finally, I posted the question on a DW forum and David Alcala of Adobe DW Quality Engineering responded pointing out this technote. (Thanks again, David!)

Update: As is often the case in a blog entry written years ago, the link above no longer works. In the vein of "teaching a man to fish", please note that when that happens, you ought to go to archive.org, and on the front page enter the URL in question. Often it will find old copies of the page. In the case of the URL above, a version of the technote from 2009 can be found here.

It explains an incompatibility between a certain DW DLL and IE 7. As it explains, the latter came out after the former, so it's forgivable. It goes on to say that affects more those using Windows 2003 Server and 64-bit XP, but I was having the problem on 32-bit XP. And while it refers just to Dreamweaver 8, I tested the fix on Dreamweaver MX 2004 and it works for that as well. Good news!

But I have Firefox as my primary browser

And if anyone's wondering, it doesn't seem to matter if you have Firefox set as your primary browser, either in Windows or even in the Preview in Browser feature of DW. In both cases, I have FF set as primary and yet I suffered this problem. If anyone knows another way to control DW using IE for help, perhaps that would explain why only some get this problem.

Anyway, hope that helps someone else.

PS I happen to have MS Visual Studio 2005 installed, which intercepts the error and offers to run the JIT debugger. So it's possible that the error I get ("unhandled Win32 exception") is different from what one gets if they DON'T have it installed. But as the Adobe technote says, it does cause DW to crash, and that's what matters most. Since the technote doesn't offer the specific error message I was getting (or any other), I hope this blog entry may be found by others searching as I did. And I'm removing Visual Studio to see what error one gets when it's not installed. If the message is different, I'll come back and update this blog entry.

Update: ok, if the JIT debugger is not setup to handle errors, then instead one gets the "good ol'" windows prompt to "send error report". The top line of the window (in case someone searches to find this) is "Dreamweaver MX 2004 has encountered a problem and needs to close. We are sorry for the inconvenience." If you use the "click here" to see details, the error is in appname:dreamweaver.exe modname:hhctrl.ocx

New Connect Beta (Brio) On Adobe Labs--and a mini preview

Note: This blog post is from 2007. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Folks, just want to let you know that the next generation of Acrobat Connect is up on the Adobe Labs site.

It's a hosted service, not something you download, and it allows you to have up to 3 meeting participants.

Be sure to see the "Product Details" tab of the labs page, which offers more info about the new release, including some modest release notes. Most significant is the question most likely to be asked by those using Connect now:

"How is Brio different from Adobe Acrobat Connect?"

  • Richer expression in the Chat Pod with sizes, colors, and emoticons.
  • Text layout controls in the Note Pod including bullets, size, and color.
  • Save as .doc file option for meeting Chat and Notes.
  • Upload files to distribute to your meeting participants.
  • Voice over IP option as an alternative to teleconferencing.
  • Right click menus.
  • Access to key meeting features while screen sharing with new palette.
  • Whiteboard Pod with option to save your work as a .png file.
  • Annotate over screen sharing using whiteboarding tools with option to save as your work as a .png file.
  • Personalized display images in the meeting attendee list.
  • Additional options (accept all and automatic room entry) for accepting attendees to a meeting.
  • New Role names (host, participant and audience) for attendees and more capabilities for participants making it easy to collaborate during meetings. Participants can now share their screen, enter notes, whiteboard automatically without being promoted to a presenter.

Note as well there that free audioconferencing by phone (in addition to the traditional embedded mic and camera feature) is available in the beta. No need to make a reservation. Just click on the phone icon upper right corner of your meeting room and select Adobe Conference Number. You'll see a text box with the call-in numbers as well as the meeting ID number. There's no charge for the service, however, long distance phone charges may apply.

This preview of Brio is currently only available in English.

Finally, to find out more, check out the lab forums for Brio.

I'll have more to say after I review it myself.

CF8 Hidden Gem: CFMAIL auto-generated message-id uses specified mail server name

Note: This blog post is from 2007. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Here's a neat hidden gem for CF8 that will delight some: CFMAIL now uses the mail server name you specify in CFMAIL SERVER attribute or the CF Admin mail setup page, in creating the message-id header that's generated when your mail is sent.

Some have lamented that in CFMX 6 and 7, it instead used the name of your server where CF is installed, which might be something like "server1" or "bingo", as in:

Message-ID: <23070863.1197039960343.JavaMail.SYSTEM@Server1>

This might cause a recipient mail server to flag the mail as spam, if the mail server was a different domain name (like "yourcompany.com"). The bummer was that many found no way to fix this. Sure, in CF5 you could set it in a CFMAILPARAM to set a mail header, but CF 6 and above ignores that.

So the good news is that CF8 now does use that CF Admin or CFMAIL SERVER value to create the message-id. If I use CFMAIL SERVER="mail.carehart.org"..., for instance, I might get something like:

Message-ID: <[email protected]>

What about CF 6 or 7?

But what if you're on 6 or 7? Well, there's a solution for you, too, by way of a tweak in the CF startup script (jvm.config) or (less preferably) in code. Since the change for CF 6 or 7 deserves some explanation to do it justice, I'll take that up in a part 2 message next. I'll also lay out the whole problem with the auto-generated message-id and why it's a concern for some.

For now, I just wanted to get this word out to those who understand the problem already that CF8 solves it. Woo hoo.

I'm offering FusionReactor and Fusiondebug training, online

Note: This blog post is from 2007. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Interested in learning more about FusionReactor and FusionDebug? I'm teaching inexpensive half-day classes (of my own design) every few weeks for Intergral, the makers of the tools. They organize the dates, take the registration and payment, and provide the GotoMeeting account that we use to present the training (over the web and phone). You can learn more about the training at their site.

Many know I'm also a big fan of the CF8 monitoring and debugging tools, but I've been talking about FD and FR for over a year. I've also written previously (since the release of CF8) on why there's still a place for all these kinds of tools. Perhaps the biggest point is that not everyone is ready to move right away to CF8, as good as it is. More important for some is that to monitor your production servers in CF8, you need CF8 Enterprise.

FD and FR work on all editions of ColdFusion 6, 7, and 8, and even offer some features not found in the built-in tools (though the reverse is true as well).

Here are the courses, which are 3 hours each for the full classes, and 1 hour for the free webinar.

FusionReactor FastTrack I - Introduction

The "FusionReactor FastTrack I - Introduction" class is more than just an introduction to the tool. It shares lots of tips and techniques for using the monitor to help solve real problems. More important, it shows many features that you might otherwise easily miss. Even experienced FusionReactor users would likely learn a lot.

FusionReactor FastTrack II - Advanced Techniques

The "FusionReactor FastTrack II - Advanced Techniques" class moves beyond learning how the tool works to how to use it to solve common ColdFusion performance and reliability challenges, including how to configure and leverage FusionReactor features to increase your server's performance, reliability and availability. It also covers how to access FusionReactor and its logs during and after critical periods, as well as common troubleshooting analysis approaches.

FusionDebug FastTrack I - Introduction

The "FusionDebug FastTrack I - Introduction" class introduces the tool, shows how easy it is to use, and demonstrates its advantages over traditional debugging techniques as well as tips and traps in using the tool. It includes debugging CFML code called from client-side applications like Flex and Ajax. In fact, someone interested in learning about the CF8 debugger could get a lot from the class (since they're so similar), though it's just focused on FusionDebug.

Free FusionDebug Webinar

The Free FusionDebug Webinar in an online seminar where you can learn about how to debug CFML with FusionDebug.

Getting Started with the Apache Derby Open Source Database in CF8

Note: This blog post is from 2007. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Had you noticed that one of the many hidden gems in CF8 is the Apache Derby open-source, cross-platform database engine embedded in CF8. You're free to use it for production. Why would you? How does it differ from other free databases like MySQL?

To answer those questions and more, I've created a new resource called, "Getting Started with the Apache Derby Open Source Database in CF8". It's a resource compendium for those interested in using the DB with CF, pointing you to general resources to learn more, linking to many CF-specific articles and blog entries on it (from both before and after the final CF8 release), and lots more to help you get started--as well as respond to some common misconceptions.

It will continue to evolve, but for now, the sections are:

  • General Resources for Learning More about Derby
  • Is it a pure development only DB?
  • Is this the same database engine that's embedded in Adobe Air?
  • I've heard that Derby is a single-user DBMS
  • How can we use it/enable it in ColdFusion?
  • Are there any IDE or query tools for talking to Derby?
  • Why use Derby database verses using something like MySQL?
  • Where can I find a reference for supported SQL, etc.?
  • Is there a way to automate creation of a new Derby Database in CF?
  • Where else can I learn more from other CFers using Derby?

I'll also point out that those interested in Derby, especially in discussing it with others, will want to know that a couple of weeks ago I started a Derby "community" on the coldfusioncommunity.org site. Anyone may join in. I'll note that I rolled all my answers to questions there, prior to December, into the getting started page above.

Let me know what you think of it, and certainly any additions or corrections you'd suggest.

More Entries

Copyright ©2024 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting