[Looking for Charlie's main web site?]

Get FusionDebug for free (through November), with purchase of FusionReactor Enterprise

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 news that will interest those who may have become interested in interactive step debugging in CFML, since CF8 includes it. If you're not ready to move to CF8, you can get CFML debugging for free with CF7 (or 6 or 8), with FusionDebug, the commercial tool from Intergral which was the first to give us step debugging in CFMX.

It's just through November, but if you buy their sister product, FusionReactor (the Enterprise edition), you'll get a free copy of FusionDebug. For more, see:

http://www.fusion-reactor.com/fr/offer.cfm

You can learn more about FusionDebug from several blog entries I've done in the past (see the "related entries" area at the bottom of this entry), including one on why I don't think CF8 is a death knell for either FusionDebug or FusionReactor.

(So no, I don't think anyone should read this as a move of desperation on Intergral's part. Rather, it's natural that the release of CF8 will cause some to say, "well, I could wait for CF8", but then for many shops moving up to a new release isn't trivial. That's why I said above: this may be most compelling for those whose interest in CFML step debugging has been piqued, but they can't for some reason move to CF8, whether Enterprise, Standard, or Developer. And of course, there are times when even a developer edition doesn't help if you need to debug a central development or test server. See my past blog entries on pros and cons of debugging a shared server. There are also some differences between the two that may even keep some using FD on CF8. More on that in a future entry, perhaps.)

Myth-busting: HomeSite is not dead, HomeSite NEQ HomeSite+, and Adobe does support Eclipse

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.
OK, time to do a little myth-busting/truth-talking. I want to respond to what I feel is a misstatement in a comment on a blog entry today by Ben Forta. Not a statement by Ben, mind you, but a commenter (and friend of the community, John Farrar). Ben made a casual statement about a single IDE for CF developers (not the focus of the entry, though), and John followed up explaining his take of the history of IDE development in CF. He said as one point, "Somebody (no names please) sued Macromedia over HomeSite or CFStudio and it died."

I have to call that statement into question. Also, John shares some observations about CFEclipse, but he makes no mention of the Adobe Extensions for CF. I wanted to address both of those but felt it was too long for a comment in Ben's blog, so here you go.

HomeSite is not dead, and CF Studio became HomeSite+, not HomeSite

First, you want to be clear to distinguish HomeSite from HomeSite+. The former is still sold by Adobe (http://www.adobe.com/products/homesite/).

As for CF Studio, it did morph into HomeSite+, and the CF Studio name was dropped, but my understanding was that this was simply because the MX Studio line came out as a package of things (including Dreamweaver and Flash among many), so they couldn't have 2 things named Studio.

HomeSite continued/continues to exist as its own product, and CF Studio became HomeSite+, which you couldn't purchase but that came on the Studio MX or Dreamweaver CD (and still does). Only as of DW 8 was it finally listed on the installer screen, otherwise you had to look for it on the CD using the file system. HomeSite+ also evolved over where CF Studio had ended (at a 5.0 version), so that on DW2004 is was HS+ 5.1, and on DW8 it was 5.5, if I recall correctly. There were some new features and bug fixes, but nothing radical. Still, it was better than sticking at Studio 4.5 for those who never updated from that while Studio was alive. I've written on this and will share resources in a moment.

About that lawsuit John mentions

Now, at that same time as that transition from CF Studio to HS+ , there were some features of the HomeSite interface over which there was a lawsuit, and when HS+ came out some features (draggable windows, if I recall) were missing. Some complained that it wasn't REALLY the same as CF Studio. I never understood the kvetching. It was otherwise every it CF Studio and more (given the updates).

So HomeSite != HomeSite+

So, that's just to say that you don't want to say HomeSite is dead (it does still live and is sold). And HomeSite+ lives as the reincarnation of CF Studio, though it's not sold but is available only on the DW CD. I know some say it's as good as dead, since there's been no major feature development. That's a separate point, but I'll say I've been a fan all along and I've not missed much from the few features lost due to the lawsuit.

I do use DW sometimes for things it adds for CFML development (CFC and web service browsing, some code generation features, etc.) I think many would be surprised to learn what it has that they never noticed.

Indeed, some will know I've been spreading this news about the transition from CF Studio to HomeSite+ (as well as hints about DW) for some time in blogs and articles. Here they are for those interested in more:

As long as I'm listing resources, I'll also point out that I've done several presentations where I made the case for making sure people knew of the tool and its features:

Now, I know some will read this as an apologetic for HomeSite+. It's not. I'm offering it more for historical purposes, as well as for those who for whatever reason are still using (or wish they could use) the older editor.

Eclipse, and Adobe's support of Eclipse for CFers

Again, there's no denying the move by many in the community to CFEClipse. I'm not saying people shouldn't. In fact, I've done many entries of my own to promote CFEclipse:

So as I state in the last entry, I am making the move to CFE myself. I still find some challenges, along with others who report the same, but clearly it's the tool of choice for many.

Eclipse, and Adobe's support of Eclipse for CFers

But I noted at the top that John's comment had not mentioned Adobe's support for Eclipse. I'm not speaking of support for CFEclipse (another subject for another blog entry by other folks), but I do want to make sure people know that Adobe does indeed support Eclipse directly, because they've created the Adobe Eclipse Extensions for ColdFusion.

This isn't in competition with CFEclipse but rather a set of tools that supplement it (whether one uses CFE or not, when using Eclipse to work with CF sites). The tools include the RDS Dataview and Fileview tools (replicating what we had in CF Studio/HomeSite+), the services browser (replicating what's in DW), as well as tools to build CFCs from a database table, flex and ajax code building wizards, a log viewer (some things neither tool had), and still more.

You can learn about these in the CF8 docs as well as a CF8 features page on the subject. The eclipse extensions came out for 7.02 and have been updated for 8.

I'll be writing and presenting more about the Eclipse extensions soon.

Adobe has also offered help files for Eclipse for CF8, at that same link for the extensions above.

That leads to a common question: what's the difference between CFEclipse and the Adobe CF extensions for Eclipse? Andy Jarrett has done a nice blog entry on that very subject.

Conclusion

So I'm not denying the claims by John, the folks in Italy (which Ben was writing about), and others that a new dedicated CFML IDE might be useful. And I'm not trying to keep people still using HomeSite+. Not at all. To each his own.

I just wanted to set the record straight about these assertions regarding HomeSite, as well as add the points about Adobe's Eclipse CF extensions. Hope that was helpful.

Selected to speak at cf.Objective()

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.
I just got Jared's blog entry announcing that the tentative speaker list for the 2008 cf.Objective() conference has been announced.

Turns out I've been invited back. I had offered a couple of prospective topics when they put out a call to past speakers, and I've not yet heard which they picked. (I don't know what the situation is for those who might want to speak but didn't speak last year.)

I certainly enjoyed speaking (and attending) last year. Looking forward to seeing folks there.

Thanks to Jared and Steven, and all involved in this great conference.

New "ColdFusion 8 developer security guidelines" at Adobe DevCenter

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.
I haven't seen much mention of this elsewhere, but I happened upon a new 47-page whitepaper called "ColdFusion 8 developer security guidelines", by Erick Lee, Ian Melven, and Sarge Sargent. It's listed in the Adobe Security DevCenter, which shows it having been posted as of today.

Like other whitepapers that have been put together by Adobe, Macromedia, Allaire, and others, this one offers overviews of key concerns along with proposed best practices.

Is it complete? Does it really need to be?

As with any such document, there will be debate among some readers about whether the practices are always really the "best". It's inevitable. But let's give credit that the authors do try to give a rather brief round up of the features, their options, and the impact of choices.

Just as Ben's famous CF "Certification Study Guide" is a quick summary of key things in CFML (and no substitute for the complete ColdFusion documentation or the WACK books), so too would I argue that this guide is a quick summary of important points to consider. Readers would do well to understand the issues completely, both in terms of the generic concerns they raise and the specifics of CFML features and options. For that, the docs and other books would be great resources.

Still, many readers won't have time for that, so despite the fact that some may pick it apart, it will serve a large percent of the community who might otherwise have no knowledge of the concerns and configuration features. For that, we should thank the authors.

Its sections

The document is divided into the following sections: Authentication, Authorization, CFCs, Session Management, Data validation and interpreter injection, Ajax, PDF integration, .NET integration, HTTP, FTP, Error handling and logging, File System, Cryptography, Configuration, Maintance and References.

Earlier editions, and what's updated in the CF8 guide?

While the guide does focus on CF8, there is another version of the document for those running CF7, the "ColdFusion 7 developer security guidelines". It, too, is by 2 of the 3 authors of the other whitepaper, Erick Lee and Sarge Sargent. It's only 33 pages, and it too is listed at the Adobe DevNet Security Developer Center, where it show it having been updated as of Oct 2007.

You might think that the CF8 guide is updated only to refer to things new in CF8, but in fact I find some things in the CF8 guide that are not in the CF7 guide, but are not new for CF7. Perhaps they decided to expand the CF8 guide in ways that they didn't push back down into the CF7 guide (understandable if time was limited). That means that CF7 developers may want to read the later guide, though they'd have to ignore features that are indeed new to CF8.

For instance, I found a discussion of the trusted cache feature only in the CF8 guide (more on that below). I didn't do a careful comparison of what's different.

BTW, I'll add that I found references in searches both on the Adobe site and Google to a version of the security guidelines at a URL that no longer works. Since I couldn't access it, I was unable to determine how this CF7 version was updated (or if it was simply renamed, to distinguish it from the new CF8 version. Perhaps the authors can comment here if they read this entry.)

Where to offer feedback?

That last comment brings up a concern I have with the whitepapers offered on the Adobe site (and the articles offered on the Developer Center, as well, of which I've been an author recently.) There's no place for folks to leave feedback. It would be nice for there to be a place to have discussions about the things written in such whitepapers or articles. (The Devnet articles do offer a feedback link, but it's one way, not an open discussion.)

I'm sure some will want to comment on or trade best practices regarding the topics in this paper. Also, I'd like to share at least one error I found: in the discussion of the trusted cache feature, it's described as, "Enable Trusted cache in production environments. When enabled, ColdFusion will only server requested templates held in its memory cache. This provides performance gains but also prevents ColdFusion from running hacked or invalid templates."

Yikes. I wonder who wrote that (and who missed it during any review).That's not the purpose of trusted cache at all. It's about whether the server should look to disk to see if a template, once compiled and loaded into memory, has changed on disk. The server always only serves (not the typo, too, "will only server") pages held in its memory cache. Using trusted cache is certainly a performance gain, but I really have no idea what the reference is to "hacked or invalid templates". That makes me think the person writing this has a very wrong idea about the feature. But I'm not meaning to rip the guidelines. As I said earlier, I'm sure that many will find them very useful, and since folks rarely read the docs, it's a nice way to condense into 40+ pages some key points. I'll let others comment here about any other concerns they have. At least it will serve as one place to have such discussion. If there's a better place, I'll welcome people pointing to that.

Who owns who in the book publishing world: can't tell the players without a program!

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.
Ever wondered who owns who in the book publishing world? It becomes important for those who run user groups, as most publishers have great programs to provide free review and giveaway copies of books for our groups. But how do you know whose program to go to to get a particular book? It's not as simple as it seems, since many imprints are actually subsidiaries of a larger publisher.

It's like they say in baseball: "you can't tell the players without a program!" :-)

So with that, I'd like to present my observation of who's who, using primarily the list of publishers listed in the Adobe UG program. It generally just lists the parent publishers, so this will help you know who to go to for particular books. (Authorized UG managers can see the list in the "third party program resources" page.)

Who's owned by who?

Again, as mine is a blog focused on ColdFusion, this list is also focused only on the publishers (and their imprints) that would be of interest to CFers. The publishers below sometimes have (many) more subsidiary imprints than those I list. Beyond that, though, these lists may still be incomplete for publishers we may be interested in, and I welcome feedback and corrections.

I've tried to get the information from the actual publishers sites themselves, and have offered a link where available. Another useful resource for this is a blog entry by Tim O'Reilly on the state of the computer book publishing industry. It had a little more detail in some areas, yet also didn't list all the publishers mentioned below.

  • Apress: Friends of Ed

  • Manning: none

  • McGraw Hill: Osborne and many others, but none in this space it seemed (from http://pubeasy.mcgraw-hill.com/pls/pubeasy/bepublist.publist_page)

  • O'Reilly: Pogue Press (O'Reilly source-- as it states, others listed there are distribution partners, not subsidiaries)

  • Packt: none

  • Pearson: Addison-Wesley , Adobe Press, Exam Cram, IBM Press, Macromedia Press, MySQL Press, New Riders, Novell Press, Peachpit Press, Prentice Hall, Que, Sams, Sun Microsystems Press (Pearson source), additional info from O'Reilly blog)

  • Wiley: Dummies, John Wiley, Sybex, Teach Yourself Visually, Wrox (Wiley source)

Hope that helps someone. And while it's accurate today (as far as I know), it could certainly become dated over time as transition in the industry continues, if you find this entry some months or years from now!

It's AttributeCollection, not AttributesCollection, ArgumentCollection, nor ArgumentsCollection!

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.
By now I think most have heard of the new AttributeCollection option available for most tags in ColdFusion 8. It's a cool way to dynamically add attributes to a tag.

One problem, though, is that people seem to confuse its name. I've seen it referred to by different names both in current discussions and in older blog entries. Some of the confusion is understandable.

For the record, it's AttributeCollection, not any of the following:

  • ArgumentCollection: this is indeed a legitimate attribute for CFINVOKE, when calling a CFC method or UDF instance, or when used similarly calling an instance created by CFOBJECT or createObject.
  • ArgumentsCollection: well, this actually was the name of the attribute as of the Beta of CF 8. Ben wrote about it back then, so some confusion could stem simply from people seeing such older entries.
  • Arguments: Again, you may well see some blog entry or email list discussion mentioning this, because this what what the attribute was called in the Scorpio Alpha. There was a lot of discussion on blogs pleading that the attribute be named AttributeCollection instead. In fact, Damon Cooper wrote that there were "69 Beta forum message threads about the proper naming of attributeCollection" in his note on Engineering stats for CF8.
  • AttributesCollection: and ultimately, it was named AttributeCollection, but since it was for a while called ArgumentsCollection (with the s) it's understandable that some may made the final attribute name plural.

In case anyone's wondering, they may recognize AttributeCollection as not being new as of CF8. In fact, it's not. It was (us) used on the CFMODULE tag to pass in attributes to a custom tag (and also when calling a custom tag as CF_tagname).

For more on using the new attribute, as well as examples of its use, see the CF docs or blog entries by Ben Nadel and Brian Rinaldi. Those also explain where the tag cannot be used (just a small fraction of tags where it really wouldn't make sense, like CFIF, CFSET, and some others) and also how when you use it, you can't use any other attributes.

Hope that clarification above helps someone.

CF8 WACK Volume 2 Ship Date Announced at Amazon

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.
I announced a few weeks ago that Volume 1 of Ben's CF8 Web App Construction Kit, which Ray and I co-authored, had finally arrived in physical form. Still, many kept asking, "so when's Volume 2 going to be available?" That day is now clear.

I got notice from Amazon today that it will be available November 21. Find out more about the book's contents, the several co-authors, or pre-order it, at:

CF8 WACK Volume 2

Free Tool Friday: Several free enterprise-class tools from Adventnet / ManageEngine

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.
Back in August I provided news of several free Enterprise-class tools that CFers could use.

AdventNet ManageEngine and other tools

Today I'd like to offer still more, from yet another vendor: AdventNet, who have a line of tools led by their ManageEngine line, including tools for:

  • Network Monitoring
  • Application Monitoring
  • Password Management
  • Help Desk Management
  • Storage Management Software
  • Network Configuration Management
  • EventLog Analyzer
  • Wifi Manager
  • and much more

Some of these are useful on just a single computer, like the EventLog Analyzer, Wifi Manager, and Bandwidth Monitoring. Also, their application monitoring tools can be a great solution for those not yet doing any monitoring of their CF and other servers (yes, of course, there are many others out there that do that).

Their password management tool is to help multiple folks share passwords to central systems, a common need for groups of folks managing CF and other servers, and naturally their help desk and service center tools, among others, can also benefit a group of CF developers/admins.

SQL tools, for multiple database engines

Beyond the ManageEngine line there are several useful looking database tools in their SwisSQL line, including tools for:

  • Compare and Synchronize SQL Server
  • SQLOne Database Search Engine
  • Table and Data Migration
  • Oracle Migration
  • SQL Server Migration
  • and more

They have tools for SQL Server, Oracle, DB2, and Sybase, and some of their tools, like the multidatabase search engine and migration tools also support MySQL, Informix, and others.

Testing Tools

They also offer software testing tools, including load testing tools, and still more that I won't elaborate here.

Finding the Free Versions

Best of all, and the point of this entry, is that they offer free versions of nearly all these (and other) tools. And just as with the Quest tools I mentioned in the previous entry, these are not trials (though they offer them) but are really freeware editions. Yes, they may be limited in some way, but usually not in ways that will affect nearly all who would try to use them for evaluation or small-scale use.

You can find a list of all the freeware editions of their products here: http://www.adventnet.com/free-softwares-download.html . (And even though the ManageEngine and SwisQL tools have branded URLs, they all lead to the same adventnet.com site, and many of them are offered as freeware on this page.)

When you take a link for any of the products (using any of the links above), look for a link on each product page at the top right labeled "free edition/trial edition", where the link to the free edition will explain its limitations.

Certainly for CF developers who work alone or on small teams, you may find that all the free versions serve your needs just fine. Yes, there may well be open source solutions to each of the problems above, and I'm not discouraging their use.

It's just nice to see yet another company who makes enterprise-class software offering small-scale freeware versions for the kind of audience that seems typical of CF developers.

Certainly, as your needs grow, or for those in larger shops, the commercial versions of these tools then scale up to serve those larger needs. That's what they hope, of course. :-)

If anyone has used any of these tools, please share your experiences. So far I've used the Eventlog Analyzer and Wifi Manager and they were easy to install and use and were quite helpful. I look forward to exploring more of their tools.

"Free Tool Friday"?

Oh, and as for why I labeled this entry "Free Tool Friday", I hope to make this a regular kind of entry. In fact, I'd like to start talking about some of the individual tools that I mention above and in the previous entry, as well as others I have used or may find. It's always tough to set up a periodic contribution like that, meeting expectations, but let's see how I do. :-) If you want to tell me about other tools of this sort that you think others would appreciate, feel free.

CF8 Hidden Gem: New option to save java source for web service proxy--with createobject only

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.
Have you ever wanted to see the Java source code for the proxy/stub that's created when you invoke a web service from Coldfusion? Well, here's a hidden gem in CF8 (one of dozens I discuss in my "hidden gems in cf8" talk) that does just this.

Curiously, it's only available when you invoke a web service using createObject(), not CFOBJECT or CFINVOKE.

It's enabled using the new ArgStruct argument that I discussed last month.

<cfscript>
wsargs = structnew();
wsargs.savejava="yes";

convert=createobject("webservice","http://www.webservicex.net/CurrencyConvertor.asmx?wsdl",wsargs);

writeoutput(convert.ConversionRate(FromCurrency='USD',ToCurrency='EUR'));
</cfscript>

You may wonder why you have to put it in this argStruct when it's the only key being put in the structure. That's just the way it is. Of course, I could have created the structure using the new implicit array creation syntax, as in:

wsargs = {savejava="yes"};

which replaces 2 lines with 1.

For those who don't care for CFSCRIPT

Of course, you don't need to use CFSCRIPT to use createObject, for those not comfortable with it. I could just as well have done it all in tags, as:

<cfset wsargs = structnew()>
<cfset wsargs.savejava="yes">

<cfset convert=createobject("webservice","http://www.webservicex.net/CurrencyConvertor.asmx?wsdl",wsargs)>

<cfoutput>var="#convert.ConversionRate(FromCurrency='USD',ToCurrency='EUR')#</cfoutput>

Where the Java source is placed

So where is the Java placed? In the same directory where the java proxy stubs have been placed since CF6: [coldfusion]/stubs/. In the case of the standalone version of CF8, that might be c:\coldfusion8\stubs.

Each invocation of a web service in CF (whether you use the saveJava option or not) will create a directory there, typically in a form like WS729914123 (one for each separate web service invoked by any CFML requests), and within the subdirectories of that directory you'll find class files reflecting the name of the called web service.

If you don't use the saveJava option, you'll see only class files. If you'll see corresponding .java source files for each.

Finally, note that the Java source files will be removed automatically if the web service is refreshed (manually or in the CF Admin) and you call it without the SaveJava option (which also means if you invoke it using CFOBJECT or CFINVOKE).

(*Update*: In the original entry, I said the source would be removed if you called the web service without the SaveJava option, but I should clarify that it's if you do that and you cause the web service to be refreshed, not just any call, since that would use the compiled result of the earlier call unless you told it to do otherwise.)

Still, for those who have long wished to better understand these Java proxy stubs, it's nice that we have the option to see the source if we want to.

Still more to come

There's still more power in CF8 for those that like to tinker with the java proxy/stub generation. More on that in a later entry.

My latest Adobe Devnet article on CF8 monitoring: Part 2, "Using the Server Monitor in production"

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.
Some may be interested to learn that I've had another article published on the Adobe Devnet site yesterday: "ColdFusion 8 server monitoring - part 2: Using the Server Monitor in production".

This follows up the part 1, which focused on uses of the monitor in development. There will be 4 parts ultimately, all listed in the Developer Center, with the 3rd part discussing the alerts and snapshots features, and part 4 discussing the Multiserver Monitor, Admin API monitoring features, and various miscellaneous observations.

The CF8 monitor offers a lot more than many would think, and insight into certain inner workings of CF that we've just never had before. I try to highlight things that you may have missed if you've only glanced at it or attended brief overviews at conferences or user groups. I will likely to my own presentation on it in the future..

No one should read from this that I'm any less supportive of 3rd party tools like FusionReactor and SeeFusion. As I've stated before, there's clearly a place for those tools for shops not yet on CF8, and even once on CF8 I believe there are differences among all the tools that could warrant having more than one at once.

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