<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
			<channel>
			<title>Charlie Arehart&apos;s Blog</title>
			<link>http://www.carehart.org/blog/client/index.cfm</link>
			<atom:link href="http://www.carehart.org/blog/client/rss.cfm" rel="self" type="application/rss+xml" />
			<description>Charlie Arehart&apos;s Blog</description>
			<language>en-us</language>
			<lastBuildDate>Tue, 15 May 2012 17:16:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>blogmaster@carehart.org (Charlie Arehart)</managingEditor>
			<webMaster>blogmaster@carehart.org (Charlie Arehart)</webMaster>
			
			<item>
				<title>What&apos;s new in #ColdFusion 10 that&apos;s only in Enterprise? or restricted in Standard?</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/5/15/cf10_enterprise_or_standard_restrictions</link>
				<description>
				
				CF10 was &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2012/5/15/CF10_released&quot;&gt;released today&lt;/a&gt;, and in my blog entry announcing that, I noted that there&apos;s been some surprise/concern by many over what aspects of new features in CF10 are held back as Enterprise-only, or restricted in Standard (meaning, has some limitation).

I want to highlight a few of those things, to save folks having to dig around.

You can see for yourself the comparisons in at least a couple of places:

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.adobe.com/products/coldfusion-standard/buying-guide.displayTab3.html&quot;&gt;Product Comparison&lt;/a&gt; (Standard vs Enterprise, in HTML format)
&lt;li&gt;&lt;a href=http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/products/coldfusion/pdfs/cf10/coldfusion-comparison.pdf&quot;&gt;ColdFusion 10 Feature improvement history&lt;/a&gt; (CF 8, 9, and 10, in PDF format)
&lt;/ul&gt;

&lt;h2&gt;What&apos;s new in CF10 but only in Enterprise?&lt;/h2&gt;
Among the surprises some are finding are that these are held as Enterprise only (or the free Developer edition) and are not available in Standard are:
&lt;ul&gt;
&lt;li&gt;Some (though not all) of the CF10 scheduling improvements (such as listeners, chaining, app-specific tasks, clustering, and exception handling)
&lt;li&gt;HTML 5 charting
&lt;li&gt;ORM search
&lt;li&gt;&lt;strike&gt;Dynamic custom fields in Solr&lt;/strike&gt; my bad, I just read the column wrong. This is not restricted.
&lt;li&gt;the data import handler for Solr
&lt;/ul&gt;

I obtained this list by looking at the first page above, noting what was listed as &quot;new&quot; or &quot;enhanced&quot; in the CF10 Enterprise column that was listed as &quot;not available&quot; in the CF10 Standard column. This may NOT be the complete list. We can for now only go on what&apos;s shown. There may be more, there may be less.

&lt;h2&gt;What&apos;s new in CF10 but &quot;restricted&quot; in Standard?&lt;/h2&gt;

Similarly, some of the things that are &quot;new&quot; (or &quot;enhanced&quot;) for CF10 may be available in Standard, but are &quot;restricted&quot; in some way. Typically, this means that the feature is throttled by the &quot;Enterprise Feature Router&quot; or EFR that was introduced in CF8. This change then meant that now such features were no longer limited to CF10 (as those above) but are available in Standard but throttled, so that only one concurrent request at a time can use such a restricted feature. There can be another kind of limit, too. See below.

Again, going by the list on the page above, we see these new or enhanced features are &quot;restricted&quot;:

&lt;ul&gt;
&lt;li&gt;MS Office 2010 PowerPoint file generation (new)
&lt;li&gt;PDF file conversion from MS Office 2010 Word and MS Office 2010 PowerPoint (new)
&lt;li&gt;MS Office 2010 Excel support (new)
&lt;li&gt;Support for web socket protocol on server (new)
&lt;li&gt;Interface for publish/ subscribe using web socket (new)
&lt;li&gt;Support for Microsoft Exchange 2010 (new)
&lt;li&gt;Microsoft Exchange server integration (enhanced)
&lt;/ul&gt;

Again, I&apos;m basing this on what things were listed as &quot;not available&quot; in the CF9 Standard column, but are listed as &quot;new&quot; or &quot;enhanced&quot; in the CF10 Enterprise column but listed as &quot;restricted&quot; in the CF10 Standard column. That&apos;s an imperfect way to judge things, but they didn&apos;t choose to list what&apos;s &quot;new&quot; or &quot;improved&quot; AND &quot;restricted&quot; in the CF10 Standard column.

&lt;h3&gt;Some of the limitations are not what they appear at first&lt;/h3&gt;

There&apos;s been a fair bit of consternation today among some who saw that limit about web sockets being limited. The document there (in the footer) says that &quot;Data can be pushed to no more than five clients on Standard, unlimited on Enterprise&quot;.

Here&apos;s good news: I&apos;ve heard directly from the CF team that this limit was lifted to 100 before the final release, but this and other docs have just not yet been updated.

Finally, let me say also about the MS Office features above that although they list them as &quot;new&quot;, I think what they&apos;re saying is that support specifically for Office 2010 is new. The features to create Word, Powerpoint, Excel, and such files (in older Office formats), such as CFSPREADSHEET or enhancements for Office docs in CFDOCUMENT and CFPRESENTATION were actually introduced in CF9.

Hope that&apos;s helpful.

Again, I may have something that will need to be updated. Feel free to leave a comment, and share the news of this list with others to help them learn more about the subject. 
				</description>
				
				<category>cf10</category>
				
				<pubDate>Tue, 15 May 2012 17:16:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/5/15/cf10_enterprise_or_standard_restrictions</guid>
				
			</item>
			
			<item>
				<title>#ColdFusion 10 released today: maybe you&apos;ve heard, for better or worse</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/5/15/CF10_released</link>
				<description>
				
				If you&apos;ve not yet heard, final production release of ColdFusion 10 was made available today (well, late last night, so the &quot;day&quot; depends on your time zone). 

And if you have heard, you may have heard from people who (as is often the case) are raising concerns about something they do or don&apos;t like, or they see or don&apos;t see. I&apos;d like to address a couple of those points briefly, along with sharing the general announcement.

For more, see all the goodness at the &lt;a href=&quot;http://www.coldfusion.com&quot;&gt;coldfusion.com&lt;/a&gt; web site. And yes, if you didn&apos;t know it, that&apos;s a nice easy-to-use domain name that redirects to the main Adobe CF page. There you&apos;ll find lots of content about what&apos;s new, including videos on various pages (some of which include yours truly).

&lt;h2&gt;What&apos;s new? Lots more than you may think&lt;/h2&gt;

As always, the &quot;what&apos;s new&quot; pages are rather meager. You&apos;d think there are only a dozen new features. Of course, Adobe is highlighting what they think may be most compelling to the most people (and to motivate upgrades/purchases.) But I&apos;ll note again that there are over 200 new changes or improvements, some little, some big.

I documented those that I&apos;d found after working with the prerelease for some months, in an entry I did back in March:

&lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2012/3/7/charlie_areharts_ultimate_cf10_new_features_list/&quot;&gt;Charlie Arehart&apos;s Ultimate List of 200+ New #ColdFusion 10 Features&lt;/a&gt;

I&apos;ve not yet updated that per the final release, most notably because I can&apos;t as yet find any Feature Notes for the final release. The link to &quot;CF10 release notes&quot; currently offered on the &lt;a href=&quot;http://helpx.adobe.com/coldfusion.html&quot;&gt;CF release notes page&lt;/a&gt; (listing all releases) currently goes just to a &lt;a href=&quot;http://helpx.adobe.com/coldfusion/release-note/coldfusion-10-known-issues.html&quot;&gt;&quot;known issues document&quot;&lt;/a&gt;, which is not the same at all. There was a 200+ page true &quot;release notes&quot; PDF for the prerelease, that I hope will be offered somewhere soon, as updated for the final release. (I&apos;ve raised this concern to Adobe, and will hope to update this when I have new info.)

&lt;h2&gt;What&apos;s Enterprise only?&lt;/h2&gt;

As in each release, there will always be consternation with regard to what was released for the Standard Edition and what&apos;s held back for the Enterprise (or free Developer) edition. You can find that outlined in a couple of docs on the site. But I have created another entry that tries to save you the trouble: &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2012/5/15/cf10_enterprise_or_standard_restrictions&quot;&gt;What&apos;s new in #ColdFusion 10 that&apos;s only in Enterprise? or restricted in Standard?&lt;/a&gt;.

&lt;h2&gt;Any licensing concerns?&lt;/h2&gt;

And yes, there are some licensing concerns. Those, too, deserve their own post. More to come later. (Some matters are still being sorted out in terms of folks understanding what they&apos;re reading, and whether they&apos;re coming to the correct conclusions.)

All in all, CF10 adds lots of new features. Before you listen to any who assert &quot;there&apos;s not much there&quot;, or &quot;too much is held back for Enterprise only&quot;, or &quot;the new licensing sucks&quot;, be sure to dig more closely and make an informed decision.

&lt;h2&gt;Where to keep an eye out for new info on CF10, created by the community&lt;/h2&gt;
Just a quick update since I originally posted this: while you can and should check out the Adobe resources I listed above, and my &quot;ultimate list of new features&quot;, I&apos;ll note that of course many are now (and recently,and will be) posting their own blog entries on what&apos;s new, etc.

you can try to keep up with them on twitter, various blog aggregators, etc. But I&apos;ll say the best place to keep an eye out is &lt;a href=&quot;http://www.akbarsait.com/cf10tutorials.cfm&quot;&gt;Akbarsait&apos;s list of CF10 tutorials&lt;/a&gt;, where he basically aggregates all the CF10 documents and blog entries that he comes across. It&apos;s an awesome list that he also did for CF9 (and if you may be skipping from CF8 or earlier to CF10, check out that list for mroe on what was new in CF9). 

He&apos;s not updated his CF10 page in a couple of weeks (as of today, as I write), but I&apos;m sure he will soon be kicking into gear to gather up all the great new stuff coming out today and in coming days/weeks. I just want to make sure people seeing this post know to keep an eye on hist list. I see him as a &quot;brother in arms&quot;, as a fellow-resource gatherer, as I have done in my CF resources sites: &lt;a href=&quot;http://www.cf411.com&quot;&gt;CF411.com&lt;/a&gt; (list of CF tools and resources), &lt;a href=&quot;http://www.cf911.com&quot;&gt;CF911.com&lt;/a&gt; (list of CF troubleshooting resources), and &lt;a href=&quot;http://www.carehart.org/ugtv/&quot;&gt;UGTV&lt;/a&gt; (list of CF user group presentations recordings). 

Keep up the great work, Akbarsait! 
				</description>
				
				<category>cf10</category>
				
				<pubDate>Tue, 15 May 2012 16:36:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/5/15/CF10_released</guid>
				
			</item>
			
			<item>
				<title>CF911: Latest CF Security hotfix technote updated (Mar 29) for issue with #ColdFusion 8.0.1</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/4/3/recent_sec_hotfix_updated</link>
				<description>
				
				If you are running ColdFusion 8.0.1 and may have applied the latest CF Security hotfix (&lt;a href=&quot;http://www.adobe.com/support/security/bulletins/apsb12-06.html&quot;&gt;APSB12-06&lt;/a&gt;) since it came out Mar 13 2012, note that there was an update to that on Mar 29, 2012. 

The good news is that you just need to update the one hotfix jar. While it is discussed in &lt;a href=&quot;http://helpx.adobe.com/coldfusion/kb/coldfusion-security-hotfix.html&quot;&gt;the technote for the hotfix&lt;/a&gt;, the note about this update is sadly (currently) at the BOTTOM of the technote. I&apos;ll repeat what it says here, to give it some more visibility:

&lt;blockquote&gt;
Note - Updated on March 29, 2012

Following bug is reported for ColdFusion 801 against this security bulletin hotfix.

java.lang.NoSuchMethodError Exception is thrown while using cffile upload.

We have updated the hotfix files of ColdFusion 801 to include the fix for the above issue. Users who have already applied the hotfix for ColdFusion 801 can just update the hotfix jar. 
&lt;/blockquote&gt;

I&apos;m pretty sure this is fixing what some found to be a reliance in the hotfix on your having applied one of the specific Cumulative hotfixes, but if someone had not, or if they inadvertently removed the CHF during the process of adding this single one, things would break. I&apos;ll note that the HF technote above does say very specifically what jars to remove, when applying the hotfix. Some people in haste instead delete all the hf and chf jars, or delete chf hars when it says to remove only hf jars. They so look similar in name.

I cover this issue of being careful about applying hotfixes (there are other mistakes you can easily make) in another blog entry I did, &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2011/10/21/why_chfs_may_break&quot;&gt;CF911: Are you finding CF (or CF Admin) busted after applying a hotfix? Three possible reasons&lt;/a&gt;.

And before someone chimes in to lament, &quot;this is what&apos;s so wrong with the CF hotfix process, that mistakes can be easily made&quot;, I cover that too. The short answer is that Adobe is addressing this in CF10, and may even offer something to help us later for CF 8 and 9. We shall see. 
				</description>
				
				<category>admin</category>
				
				<category>cf911</category>
				
				<category>hotfix</category>
				
				<pubDate>Tue, 03 Apr 2012 11:54:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/4/3/recent_sec_hotfix_updated</guid>
				
			</item>
			
			<item>
				<title>Need to solve browser problems? Did you know most modern browsers now have built-in developer tools?</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/3/20/builtin_browser_proxy_sniffer_tools</link>
				<description>
				
				When you&apos;re trying to understand why something&apos;s not working in your browser (page not rendering as expected, feature not working as expected, page content failing to load), it&apos;s useful to use of many any available tools which can show you what&apos;s going on, whether with respect to the HTML, CSS, or Javascript that may be running, or perhaps the communications between the browser and server.

For years, experienced developers have recommended tools like Firebug, Fiddler, Charles, and such. I list these and many others as a category in my &lt;a href=&quot;http://www.cf411.com&quot;&gt;CF411 site&lt;/a&gt; listing over 1800 tools and resources for CFers, in the category, &lt;a href=&quot;http://www.cf411.com/proxy&quot;&gt;HTTP Debugging Proxies/Sniffers/Web Client Test Tool&lt;/a&gt;.

I recently updated the list, though, to point out these &quot;built-in&quot; forms of these tools, now available in most browsers. If you may be in a place where you are &quot;not allowed&quot; to install new software (or are simply disinclined), knowing that the browser may have such a valuable tool built-in can be a real discovery, thus this entry.

Here&apos;s the content that I&apos;ve added to &lt;a href=&quot;http://www.cf411.com/builtinproxies&quot;&gt;that section&lt;/a&gt;:
&lt;ul&gt;
	&lt;li&gt;In &lt;b&gt;Chrome&lt;/b&gt;, see the &lt;a href=&quot;http://code.google.com/chrome/devtools/docs/overview.html&quot;&gt;Developer Tools&lt;/a&gt;, available under the &quot;Customize and control Google Chrome&quot; icon at the top right (the monkey wrench), then Tools&gt;Developer Tools. &lt;/li&gt;
	&lt;li&gt;In &lt;b&gt;Firefox&lt;/b&gt; 6 and above, see the &quot;&lt;a href=&quot;https://developer.mozilla.org/en/Using_the_Web_Console&quot;&gt;Web Console&lt;/a&gt;&quot; feature in the &quot;Web Developer&quot; tools, available under the Tools menu.&lt;/li&gt; 
	&lt;li&gt;In &lt;b&gt;Internet Explorer&lt;/b&gt;, see the &lt;a href=&quot;http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=18359&quot;&gt;Developer Toolbar&lt;/a&gt; which is an ad-on for  IE 6 and 7, and the &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd565628(v=vs.85).aspx&quot;&gt;Developer Tools&lt;/a&gt; that are built into IE 8 and 9 (in the Tools menu).&lt;/li&gt;
	&lt;li&gt;In &lt;b&gt;Opera&lt;/b&gt;, see the Developer Tools in &lt;a href=&quot;http://www.opera.com/developer/tools/&quot;&gt;Opera DragonFly&lt;/a&gt;, available in the Edit&gt;Developer Tools menu in Windows, and Tools&gt;Advanced on Mac.&lt;/li&gt;
	&lt;li&gt;In &lt;b&gt;Safari&lt;/b&gt;, see the &quot;Web Inspector&quot; feature of the &lt;a href=&quot;https://developer.apple.com/library/safari/#documentation/AppleApplications/Conceptual/Safari_Developer_Guide/1Introduction/Introduction.html&quot;&gt;Develop menu&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;I welcome &lt;a href=&quot;#additions&quot; target=&quot;_self&quot;&gt;additions/corrections/feedback&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

The links I&apos;ve given for each of these often have friendly introductions to using such tools. I can also commend an old but classic discussion of such tools, &lt;a href=&quot;http://oreilly.com/server-administration/excerpts/9780596522315/performance-tools.html&quot;&gt;here&lt;/a&gt;.

Have you used these sort of tools? How have they helped you. Are you surprised to learn that the browsers now have such tools built-in? Chime in and share your thoughts. I may do a later blog entry or talk introducing using these tools for some common problems working with CF. 
				</description>
				
				<category>tools</category>
				
				<pubDate>Tue, 20 Mar 2012 13:30:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/3/20/builtin_browser_proxy_sniffer_tools</guid>
				
			</item>
			
			<item>
				<title>Charlie Arehart&apos;s Ultimate List of 200+ New #ColdFusion 10 Features</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/3/7/charlie_areharts_ultimate_cf10_new_features_list</link>
				<description>
				
				Wondering what all is new in CF10? Have I got a list for you! :-) (revision 1.8, 216 items)

I&apos;ve not yet seen anyone try to create an ultimate list of *all* the new features in CF10, so here&apos;s my shot at it. (This is &lt;b&gt;based on the public beta&lt;/b&gt;. I will update it soon with info from the final release.) Of course many (including Adobe) have created lists that show perhaps a couple dozen of what they think may be the most prominent features, or the most interesting for them, etc. I&apos;ve just not yet seen anyone list even simply all the features mentioned in the beta new features guide. That&apos;s what I&apos;m doing here.

But to be clear, I am &lt;b&gt;not listing every new tag and function&lt;/b&gt; (that would be tedious.) Instead, I&apos;m &lt;b&gt;listing them as concepts&lt;/b&gt;, and where warranted, any relevant subtopics that expand on the new feature.

I&apos;ve got &lt;a href=&quot;#more&quot;&gt;more to say about the list&lt;/a&gt; (how I created it basically from the 244-page CF10 new feature docs, and what you can do to help expand it). But some will want me to cut to the chase, so here&apos;s the list. Please check out the additional discussion after it.

&lt;h2&gt;Charlie&apos;s Ultimate List of new CF10 Features, revision 1.8 (Mar 8 2012), listing 216 items&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt; Replacement of JRun with Tomcat
	&lt;ul&gt;
	&lt;li&gt; Includes support for instances and clusters (no discussion yet, during beta, about what features are in Enterprise edition vs Standard), as previously
	&lt;li&gt; Support for IIS, Apache, and built-in web server, as previously
	&lt;li&gt; Support for SSL and virtual directories
	&lt;li&gt; Support for CFStat, even in multiple instances (and how to change the connector port for that)
	&lt;li&gt; Support for SES (Search engine safe) URLs and log rotation, as previously
	&lt;li&gt; Support for persistent sessions over restarts
	&lt;li&gt; Support for configuring Apache virtual host for each ColdFusion instance
	&lt;li&gt; new &lt;samp&gt;sessionStartTime&lt;/samp&gt; function (this seems listed in the wrong place in the doc)
	&lt;/ul&gt;

&lt;li&gt; Security enhancements
	&lt;ul&gt;
	&lt;li&gt; Handling XSS attacks
		&lt;ul&gt;
		&lt;li&gt; Only the following characters are allowed as values for the attribute name in the tag &lt;samp&gt;cfform&lt;/samp&gt;: alphanumeric characters, _ (underscore), - (hyphen), : (colon), and . (dot). It prevents stored XSS for the scriptsrc field
		&lt;li&gt; The following new encoding methods are added to reduce XSS attack vulnerability: &lt;samp&gt;encodeForHTML&lt;/samp&gt;, &lt;samp&gt;encodeForHTMLAttribute&lt;/samp&gt;, &lt;samp&gt;encodeForJavaScript&lt;/samp&gt;, &lt;samp&gt;encodeForCSS&lt;/samp&gt;, and &lt;samp&gt;encodeForURL&lt;/samp&gt;. Encode the user inputs depending on the contexts. To decode the input string, added a method: &lt;samp&gt;canonicalize&lt;/samp&gt;
		&lt;/ul&gt;

	&lt;li&gt; Handling CSRF attacks
		&lt;ul&gt;
		&lt;li&gt;CSRFGenerateToken: Returns a random token and stores it in the session
		&lt;li&gt;CSRFVerifyToken: Validates the given token and the key against the same stored in the session
		&lt;/ul&gt;

	&lt;li&gt; Session improvements
		&lt;ul&gt;
		&lt;li&gt;CF Session cookies (&lt;samp&gt;CFID&lt;/samp&gt;, &lt;samp&gt;CFTOKEN&lt;/samp&gt;, &lt;samp&gt;CFAuthorization_app-name&lt;/samp&gt;). The new features to manage session cookies are:
			&lt;ul&gt;
			&lt;li&gt;The following properties of ColdFusion session cookies can be configured at server level or application level: 
				&lt;ul&gt;
				&lt;li&gt;&lt;samp&gt;httponly&lt;/samp&gt;: &lt;samp&gt;true&lt;/samp&gt; by default
				&lt;li&gt;&lt;samp&gt;secure&lt;/samp&gt;: &lt;samp&gt;false&lt;/samp&gt; by default
				&lt;li&gt;&lt;samp&gt;domain&lt;/samp&gt;
				&lt;li&gt;&lt;samp&gt;timeout&lt;/samp&gt;: 30 years by default
				&lt;/ul&gt;
			&lt;/ul&gt;
		&lt;li&gt;New methods added for session management: &lt;samp&gt;SessionInvalidate&lt;/samp&gt;, &lt;samp&gt;SessionRotate&lt;/samp&gt;
		&lt;/ul&gt;

	&lt;li&gt; Handling CRLF attacks
		&lt;ul&gt;
		&lt;li&gt;Protection is added against CRLF attacks for the tags which create a header, for example, &lt;samp&gt;cfheader&lt;/samp&gt;, &lt;samp&gt;cfcontent&lt;/samp&gt;, &lt;samp&gt;cfmail&lt;/samp&gt;, &lt;samp&gt;cfmailpart&lt;/samp&gt;, and &lt;samp&gt;cfmailparam&lt;/samp&gt;
		&lt;/ul&gt;

	&lt;li&gt; Information disclosure (Passwords for all services are encrypted in this version)

	&lt;li&gt; New HMAC function (Hash-based Message Authentication Code)

	&lt;li&gt; cfcookie support in CFScript

	&lt;li&gt; Miscellaneous Changes
		&lt;ul&gt;
		&lt;li&gt;The httponly cookies support is available on Tomcat supporting J2EE 1.6
		&lt;li&gt;A new parameter, &lt;samp&gt;numIteration&lt;/samp&gt;, is added to the &lt;samp&gt;hash()&lt;/samp&gt; method
		&lt;li&gt;Strengthened &lt;samp&gt;cflogin&lt;/samp&gt; and authorization cookies
		&lt;li&gt;You are logged out from one of the ColdFusion administrators, if from the same host, you log in to the ColdFusion (10) Administrator and the ColdFusion Administrator of an older version
		&lt;li&gt;For a user with RDS access, in the ColdFusion Administrator, you can set the data source and secured file path permissions
		&lt;li&gt;The default values for the new sandbox are changed to make it more secure
		&lt;li&gt;If the &lt;samp&gt;action&lt;/samp&gt; attribute is not specified in the &lt;samp&gt;cfform&lt;/samp&gt; tag, it does not generate the action using the current URL. If there are issues, add the following entry in the &lt;samp&gt;ColdFusion-install-dir\cfusion\bin\jvm.config&lt;/samp&gt; file: &lt;samp&gt;-Dcoldfusion.generateformaction=true&lt;/samp&gt;
		&lt;/ul&gt;
	&lt;/ul&gt;

&lt;li&gt; ColdFusion WebSocket
	&lt;ul&gt;
	&lt;li&gt; Broadcast
	&lt;li&gt; Point to point
	&lt;/ul&gt;

&lt;li&gt; Language enhancements
	&lt;ul&gt;
	&lt;li&gt; Support for &lt;samp&gt;for-in&lt;/samp&gt; construct (for query)
	&lt;li&gt; Provide &lt;samp&gt;cffile&lt;/samp&gt; content in the tag body
	&lt;li&gt; Callstack for ColdFusion functions (new function &lt;samp&gt;CallStackDump&lt;/samp&gt;)
	&lt;li&gt; Getting application metadata (new function &lt;samp&gt;getApplicationMetadata&lt;/samp&gt;)
	&lt;li&gt; Getting disk space details (new &lt;samp&gt;getTotalSpace&lt;/samp&gt;, &lt;samp&gt;getFreeSpace&lt;/samp&gt; functions)
	&lt;li&gt; Application-specific In-memory file system
	&lt;li&gt; Securing your uploads by default (by verifying the MIME type), 
		&lt;ul&gt;
		&lt;li&gt; (Note that some of the features below are useful beyond just securing file uploads)
		&lt;li&gt; New Application.cfc event method, &lt;samp&gt;onAbort&lt;/samp&gt;
		&lt;li&gt; New action copy for &lt;samp&gt;cfdirectory&lt;/samp&gt;
		&lt;li&gt; New function &lt;samp&gt;directoryCopy&lt;/samp&gt;
		&lt;li&gt; Modifications to the tag &lt;samp&gt;cffile&lt;/samp&gt;
		&lt;li&gt; New function &lt;samp&gt;FileGetMimeType&lt;/samp&gt; 
		&lt;/ul&gt;
	&lt;li&gt; New function &lt;samp&gt;ArraySlice&lt;/samp&gt;
	&lt;li&gt; New parameter &lt;samp&gt;merge&lt;/samp&gt; supports &lt;samp&gt;arrayAppend&lt;/samp&gt;
	&lt;li&gt; Implicit constructor for CFC
	&lt;li&gt; Method chaining for CFC methods
	&lt;li&gt; CFC Implicit notation
	&lt;li&gt; New parameter &lt;samp&gt;format&lt;/samp&gt; added to &lt;samp&gt;LSParseDateTime&lt;/samp&gt; function
	&lt;li&gt; New attribute &lt;samp&gt;runOnce&lt;/samp&gt; added to &lt;samp&gt;cfinclude&lt;/samp&gt;
	&lt;li&gt; New attribute &lt;samp&gt;timeout&lt;/samp&gt; in &lt;samp&gt;cfstoredproc&lt;/samp&gt;
	&lt;li&gt; New attribute &lt;samp&gt;maxLength&lt;/samp&gt; in &lt;samp&gt;cfparam&lt;/samp&gt;
	&lt;li&gt; New functions &lt;samp&gt;dateTimeFormat&lt;/samp&gt; and &lt;samp&gt;lsDateTimeFormat&lt;/samp&gt;
	&lt;li&gt; New function &lt;samp&gt;reEscape&lt;/samp&gt;
	&lt;li&gt; The function &lt;samp&gt;replaceList&lt;/samp&gt; takes delimiters
	&lt;li&gt; Modifications to the functions &lt;samp&gt;arraySort&lt;/samp&gt;, &lt;samp&gt;listSort&lt;/samp&gt;, and &lt;samp&gt;structSort&lt;/samp&gt;
	&lt;li&gt; Implicit struct now supports use of : (colon) separator
	&lt;li&gt; The attribute &lt;samp&gt;output&lt;/samp&gt; is ignored in the interface signature
	&lt;li&gt; FUNCTION is now a ColdFusion datatype
	&lt;li&gt; Dynamic references supported in query looping
	&lt;li&gt; New function &lt;samp&gt;invoke&lt;/samp&gt; 
	&lt;li&gt; New attribute &lt;samp&gt;secure&lt;/samp&gt; in &lt;samp&gt;cfpop&lt;/samp&gt;
	&lt;li&gt; New attribute &lt;samp&gt;group&lt;/samp&gt; in &lt;samp&gt;cfloop&lt;/samp&gt;
	&lt;li&gt; For-in constructs now support Java arrays
	&lt;li&gt; Enhancements to &lt;samp&gt;queryAddRow&lt;/samp&gt; and &lt;samp&gt;queryNew&lt;/samp&gt; functions
	&lt;li&gt; New function &lt;samp&gt;listRemoveDuplicates&lt;/samp&gt;
	&lt;li&gt; Support for XPath 2.0 and XSLT 2.0 syntax
	&lt;li&gt; (Note that there are some other new tags and functions, mentioned in other sections of this document.)
	&lt;/ul&gt;

&lt;li&gt; Closures
	&lt;ul&gt;
	&lt;li&gt; Also adds several new functions, some useful with on their own as well as with closures: &lt;samp&gt;ArrayEach&lt;/samp&gt;, &lt;samp&gt;ArrayFilter&lt;/samp&gt;, &lt;samp&gt;ArrayFind&lt;/samp&gt;, &lt;samp&gt;ArrayFindAll&lt;/samp&gt;, &lt;samp&gt;ListFilter&lt;/samp&gt;, &lt;samp&gt;isClosure&lt;/samp&gt;, &lt;samp&gt;StructEach&lt;/samp&gt;, &lt;samp&gt;StructFilter&lt;/samp&gt;
	&lt;/ul&gt;

&lt;li&gt; Enhanced Java integration
	&lt;ul&gt;
	&lt;li&gt; Integrating Java libraries (dynamic class loading)
	&lt;li&gt; CFC Proxy (&lt;samp&gt;cfcproxy&lt;/samp&gt;)
	&lt;li&gt; &lt;samp&gt;createDynamicProxy&lt;/samp&gt; function
	&lt;/ul&gt;

&lt;li&gt; ColdFusion ORM search (full text search)
	&lt;ul&gt;
	&lt;li&gt; Settable at application, component, and property level
	&lt;li&gt; Supports both Auto-indexing (on persistence) or Offline indexing (on-demand using &lt;samp&gt;ORMIndex&lt;/samp&gt;)
	&lt;/ul&gt;

&lt;li&gt; Solr enhancements&lt;sup&gt;&lt;a href=&quot;#ftn.solr&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;
	&lt;ul&gt;
	&lt;li&gt; Use Data Import Handler for database indexing
	&lt;li&gt; Index and search based on dynamic custom fields
	&lt;li&gt; Reload individual collections
	&lt;li&gt; Add languages for search
	&lt;li&gt; Secure your search system using ColdFusion Administrator
	&lt;li&gt; Autocommit indexed documents
	&lt;li&gt; Boost specific fields or entire document for improved search results
	&lt;/ul&gt;

&lt;li&gt; Scheduler enhancements
	&lt;ul&gt;
	&lt;li&gt; Grouping
	&lt;li&gt; Application-specific tasks
	&lt;li&gt; Event Handling
	&lt;li&gt; Chaining
	&lt;li&gt; Cluster
	&lt;li&gt; Cron commands
	&lt;li&gt; Prioritize tasks
	&lt;li&gt; Exclude dates
	&lt;li&gt; In case of error
	&lt;li&gt; If task misfires
	&lt;li&gt; Pause and resume/Pause all and resume all
	&lt;li&gt; List tasks
	&lt;li&gt; Retry
	&lt;li&gt; Repeat
	&lt;li&gt; Customize quartz
	&lt;/ul&gt;

&lt;li&gt; New system functions
	&lt;ul&gt;
	&lt;li&gt; getSystemFreeMemory
	&lt;li&gt; getSystemTotalMemory
	&lt;li&gt; getCPUUsage
	&lt;/ul&gt;

&lt;li&gt; Connect to Microsoft Exchange Server 2010
	&lt;ul&gt;
	&lt;li&gt; Folder operations such as create, modify, or delete
	&lt;li&gt; Get rooms and roomlist in the exchange organization
	&lt;li&gt; Information on user availability, that helps effective scheduling
	&lt;li&gt; Conversation operations such as find conversation details, copy, move, and the status if the conversation is read
	&lt;/ul&gt;

&lt;li&gt; Lazy loading across client and server (for applications that use ColdFusion ORM in the back end and Flex as the front end)

&lt;li&gt; Web service enhancements
	&lt;ul&gt;
	&lt;li&gt; About:
		&lt;ul&gt;
		&lt;li&gt; Adds WSDL 2.0 specification support to current WSDL 1.1 
		&lt;li&gt; Axis 2 support in ColdFusion lets you consume web services that publish WSDL in the following styles:
			&lt;ul&gt;
			&lt;li&gt;Adds &quot;Document Literal Wrapped&quot;, to current RPC and Document Literal support
			&lt;/ul&gt;
		&lt;li&gt; Adds SOAP 1.2 protocol support to current SOAP 1.1
		&lt;/ul&gt;
	&lt;/ul&gt;


&lt;li&gt; RESTful Web Services in ColdFusion

	&lt;ul&gt;
	&lt;li&gt; About
		&lt;ul&gt;
		&lt;li&gt; Follows HTTP request-response model
		&lt;li&gt; Supports all HTTP methods
		&lt;li&gt; Implicit handling of serialization/deserialization
		&lt;li&gt; Publish web service as both REST service and WSDL service
		&lt;/ul&gt;
	&lt;/ul&gt;

&lt;li&gt; Media Player enhancements
	&lt;ul&gt;
	&lt;li&gt; HTML 5 video playback capability
	&lt;li&gt; Fallback to HTML 5 video playback if Flash player is not installed
	&lt;li&gt; Browser independent video controls
	&lt;li&gt; Dynamic streaming of Flash videos
	&lt;li&gt; Advanced skinning for media player
	&lt;li&gt; Play list for Flash videos
	&lt;li&gt; Embedding subtitles in SRT format using HTML track element
	&lt;li&gt; Extending media player using plug-ins built using Open Source Media Framework (OSMF), for example to:
	&lt;li&gt; Play videos in the YouTube server
	&lt;li&gt; Use stage video support by showing advertisements within the videos in linear and non-linear mode
	&lt;li&gt; Adding title to the video
	&lt;/ul&gt;

&lt;li&gt; HTML enhancements
	&lt;ul&gt;
	&lt;li&gt; Displaying geolocation
	&lt;li&gt; &lt;samp&gt;cfinput&lt;/samp&gt; attribute &lt;samp&gt;type&lt;/samp&gt; now supports all HTML 5 input types, for example, email, range, or date; as well as new attributes such as max and min.
	&lt;/ul&gt;

&lt;li&gt; Client-side charting
	&lt;ul&gt;
	&lt;li&gt; Popular chart formats with appropriate fallback functionality: Use HTML 5, Flash, SVG, or VML charts
	&lt;/ul&gt;

&lt;li&gt; Caching enhancements
	&lt;ul&gt;
	&lt;li&gt; Application-specific caching (optional along with existing server-level)
	&lt;li&gt; Enhanced query caching using Ehcache (configurable at server or app level, including max size and removal of cache entries by id or region)
	&lt;li&gt; New and modified cache functions
	&lt;li&gt; &lt;samp&gt;removeCachedQuery&lt;/samp&gt;
	&lt;li&gt; Enhancements to existing cache functions
	&lt;li&gt; Cache statistics
	&lt;li&gt;CFLOGIN now uses ehcache for an authentication cache
	&lt;/ul&gt;

&lt;li&gt; Other enhancements
	&lt;ul&gt;
	&lt;li&gt; Virtual File System: Support for HTTP, FTP, and ZIP
	&lt;li&gt; &lt;strike&gt;CAR, migration, and Code Analyzer&lt;/strike&gt; (not really &quot;new&quot; in CF10, nor even seemingly updated)
	&lt;li&gt; Interoperability with Microsoft Office 2010
	&lt;li&gt; ColdFusion image enhancements
	&lt;ul&gt;
		&lt;li&gt;An optional attribute interpolation has been added to cfimage action = &quot;resize&quot; for resampling
		&lt;li&gt;Change of behavior if attribute &lt;samp&gt;name&lt;/samp&gt; used for &lt;samp&gt;cfimage action = &quot;captcha&quot;&lt;/samp&gt;
		&lt;li&gt;The function &lt;samp&gt;imageDrawText&lt;/samp&gt; now returns a struct that contains width of the text drawn and the height of the text drawn
		&lt;li&gt;Fallback to system font for &lt;samp&gt;cfimage action = &quot;captcha&quot;&lt;/samp&gt;
		&lt;li&gt;New function &lt;samp&gt;imageCreateCaptcha&lt;/samp&gt;
		&lt;li&gt;New function &lt;samp&gt;ImageMakeColorTransparent&lt;/samp&gt; Creates an image and sets a transparent color
		&lt;li&gt;New function &lt;samp&gt;ImageMakeTranslucent&lt;/samp&gt; Create a new translucent image with given percentage of translucence
		&lt;li&gt;New parameters rule and alpha for the function &lt;samp&gt;imageOverlay&lt;/samp&gt;
	&lt;/ul&gt;
	&lt;li&gt; Support for HTML 5 multifile input field in &lt;samp&gt;fileUploadAll&lt;/samp&gt; and Form scope
	&lt;li&gt; Function &lt;samp&gt;expandPath&lt;/samp&gt; resolves files in custom tag directory
	&lt;li&gt; Form fields with same name can be accepted as an array, if new &lt;samp&gt;this.sameformfieldsasarray = &quot;true&quot;&lt;/samp&gt; is used
	&lt;li&gt; Enhancements to Amazon S3 integration regarding file uploads
	&lt;li&gt; Available Administrator password reset script
	&lt;li&gt; Database enhancements
		&lt;ul&gt;
		&lt;li&gt; Track client information (enable auditing on database, while performing a database operation, in databases that support such tracking)
			&lt;ul&gt;
			&lt;li&gt; using new &lt;samp&gt;ClientInfo&lt;/samp&gt; attribute available on query tags to set the info
			&lt;li&gt; use new &lt;samp&gt;type=&quot;clientinfo&quot;&lt;/samp&gt; for &lt;samp&gt;CFDBINFO&lt;/samp&gt; to determine supported &lt;samp&gt;ClientInfo&lt;/samp&gt; properties
			&lt;li&gt; retrieve tracking info passed using new &lt;samp&gt;fetchclientinfo&lt;/samp&gt; attribute on query tags
			&lt;li&gt; Can pass client information on datasource definition in ColdFusion administrator
			&lt;/ul&gt;
		&lt;li&gt; Support for new SQL types (CF_SQL_NCHAR, CF_SQL_NVARCHAR, CF_SQL_LONGNVARCHAR, CF_SQL_NCLOB, CF_SQL_SQLXML)
		&lt;li&gt; Miscellaneous enhancements that include enhancements to connection validation and exception handling (returned with &lt;samp&gt;cfcatch type=database&lt;/samp&gt;)
		&lt;/ul&gt;
	&lt;/ul&gt;

&lt;li&gt; ColdFusion Administrator enhancements
	&lt;ul&gt;
	&lt;li&gt; Server update (auto hotfix management)
		&lt;ul&gt;
		&lt;li&gt; List available updates 
		&lt;li&gt; Notification of new updates (on admin front page)
		&lt;li&gt; Download updates, to apply now or later (via gui or command line)
		&lt;/ul&gt;
	&lt;li&gt; Scheduler (scheduled task interface)
		&lt;ul&gt;
		&lt;li&gt; Manage Application- and Server- Level Scheduled Tasks
		&lt;li&gt; Enable Cluster Setup
		&lt;/ul&gt;
	&lt;li&gt; Securing search system (can make Solr an HTTPS secured server)
	&lt;li&gt; Caching enhancements
		&lt;ul&gt;
		&lt;li&gt; Use Internal Cache to store queries
		&lt;li&gt; Clearing query cache
		&lt;li&gt; Clearing folder-specific template cache
		&lt;/ul&gt;
	&lt;li&gt; Web services 
		&lt;ul&gt;
		&lt;li&gt; specifying default Axis version
		&lt;li&gt; specifying  proxy server details (previously settable only on &lt;samp&gt;cfinvoke&lt;/samp&gt;)
		&lt;/ul&gt;
	&lt;li&gt; RDS can be enabled from ColdFusion Administrator
	&lt;li&gt; Disable dumping of application scope of unnamed applications
	&lt;li&gt; Accessing the ColdFusion Administrator in Developer mode when 2-IP address access limit is reached
	&lt;li&gt; Restricting access to ColdFusion Administrator (optionally, to specified IP addresses)
	&lt;li&gt; Logging Administrator actions (all admin changes now tracked in &lt;samp&gt;audit.log&lt;/samp&gt; file)
	&lt;li&gt; Changes to the default settings (for new CF installations)
		&lt;ul&gt;
		&lt;li&gt; Client variable storage name now defaults to &lt;samp&gt;cookie&lt;/samp&gt;
		&lt;li&gt; Use UUID for cftoken now defaults to enabled
		&lt;li&gt; Enable Global Script Protection now defaults to enabled
		&lt;li&gt; Maximum number of simultaneous Template requests raised from 10 to 25
		&lt;li&gt; Maximum number of simultaneous CFC function requests (called via URL) raised from 10 to 15
		&lt;li&gt; Minimum JVM Heap Size (MB) changed from unspecified to 256mb
		&lt;li&gt; Maximum size of post data (in MB) lowered from 100mb to 20mb
		&lt;li&gt; Enable ColdFusion Event Gateway Services now disabled by default
		&lt;/ul&gt;
	&lt;li&gt; Session cookie settings (HTTPONLY session cookie, Secure Session cookie, Session cookie timeout options)
	&lt;li&gt; Server monitor now shows URL for request, in request details &lt;sup&gt;&lt;a href=&quot;#ftn.undoc&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/ul&gt;
&lt;a name=&quot;more&quot;&gt;&lt;/a&gt;
&lt;h2&gt;How did I come up with list?&lt;/h2&gt;

I obtained this list &lt;b&gt;mostly&lt;/b&gt; from the &lt;a href=&quot;http://www.adobe.com/support/documentation/en/coldfusion/10/cf10betafeatures.pdf&quot;&gt;Beta New Features Guide&lt;/a&gt;, which is listed from the &lt;a href=&quot;http://labs.adobe.com/wiki/index.php/ColdFusion_10&quot;&gt;CF10 wiki&lt;/a&gt;.

Surprisingly, there&apos;s no table of contents, which makes it hard therefore to appreciate what all is there. Instead, there is only the bookmarks bar on the left (if you view the doc as a PDF), and that does have an outline structure, but you have to expand each one to see all that&apos;s new, which I doubt most would bother to do. So then you would have to browse the whole document and identify the headings, etc. I&apos;ve &lt;a href=&quot;https://bugbase.adobe.com/&quot;&gt;filed a bug report (3132948) recommending a Table of Contents be added&lt;/a&gt;, if you may want to vote for it. 

To begin, I grabbed all the main sections (and some of the subsections) of that left navbar of the PDF to create this list. I also found often that some sections had features that were not drawn out into separate subsections in that outline of topics. Further, I also tweaked the wording a bit where necessary to make this stand better as a list on its own.

So my list here really is more than &quot;just a regurgitation of the document outline&quot;.

FWIW, nearly all the same topics are listed also in the CF10 doc &quot;Developing ColdFusion Applications&quot;, in the section, &quot;&lt;a href=&quot;http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSd160b5fdf5100e8f639b4550129d6ce3d4f-8000.html&quot;&gt;What&apos;s new in ColdFusion 10&lt;/a&gt;&quot;. Just like the new features document and its PDF outline tree, in this other document you do also need to drill into each heading to find more details, and often it does not even list the details in the new features PDF (which at 224 pages is quite substantial).

&lt;h2&gt;Finding code examples and more information&lt;/h2&gt;
Again, at 224 pages the new features PDF is quite substantial, and in many cases it does offer code examples for the new features. You can find still more examples, as well as more info, from any of many blog entries that have been written by various people (Adobe folks before the beta, and them and others after its release). 

The best news is that, just as with CF 9, inveterate fellow-list maker Albarsait has started his &lt;a href=&quot;http://www.akbarsait.com/cf10tutorials.cfm&quot;&gt;Adobe ColdFusion 10 Tutorials and Resources&lt;/a&gt; page where he tracks nearly all such resources (following almost the same pattern of top-level topics as I do above).

&lt;h2&gt;The list will surely evolve, help me do so&lt;/h2&gt;

This is revision 1.8 of the list (as of an update I&apos;ve done Mar 8 2012). I suspect it will grow and evolve. I know of some items that are being discussed that are not in this list, but I wanted to at least get this out as is in case it may help some readers. I will likely update it in place at least until it changes somehow substantially, so keep coming back to check the version if you&apos;re interested in tracking all that&apos;s new. :-)

I&apos;ve had thought of doing something still more substantial, like a wiki (that many of us together would contribute to, to elaborate on each feature, show examples, point to resources like blog entries, etc.) If you may be interested in contributing to such a concept, let me know in the comments. (Sadly, we can&apos;t seem to contribute to the labs wiki. Plus, that will likely be removed once the beta is over.)

BTW, some of you will know that I created a similar list back in Oct 2011, when I did a talk called, &quot;&lt;a href=&quot;http://carehart.org/presentations/#new_zeus&quot;&gt;What&apos;s new in Zeus&lt;/a&gt;. I had compiled that list from the few public presentations Adobe had given. Silly me, I never got around to offering that list as a blog entry, so many never noticed it. I hope this list may help more people.

If you have items you think ought to be added, do let me know in the comments, which will serve as your means of being credited (I&apos;d rather not clutter the list with names if I add items, for now).

&lt;div class=&quot;footnote&quot;&gt;

&lt;p&gt;&lt;sup&gt;[&lt;a name=&quot;ftn.solr&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;
The bullets in this section were taken from the &lt;a href=&quot;http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSe61e35da8d318518-1acb57941353e8b4f85-8000.html&quot;&gt;Developing ColdFusion 10 Applications document&lt;/a&gt; rather than the Beta New Features PDF.
&lt;p&gt;&lt;sup&gt;[&lt;a name=&quot;ftn.undoc&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;
These bullets present features which are as yet undocumented.
&lt;/div&gt; 
				</description>
				
				<category>cf10</category>
				
				<category>zeus</category>
				
				<pubDate>Wed, 07 Mar 2012 18:25:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/3/7/charlie_areharts_ultimate_cf10_new_features_list</guid>
				
			</item>
			
			<item>
				<title>New book review: &quot;Railo 3: Beginner&apos;s Guide&quot;</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/2/28/New_book_review_Railo_3_Beginners_Guide</link>
				<description>
				
				As some of you may know, there&apos;s been another new book recently in the CFML world, this time &lt;i&gt;&lt;a href=&quot;http://link.packtpub.com/CIeDQj&quot;&gt;Railo 3: Beginner&apos;s Guide&lt;/a&gt;&lt;/i&gt;. &lt;a href=&quot;http://link.packtpub.com/CIeDQj&quot;&gt;&lt;img src=&quot;https://www.packtpub.com/sites/default/files/imagecache/productview/3401OS_Railo%203%20Beginner%27s%20Guidecov.jpg&quot; align=&quot;right&quot; alt=&quot;Book cover image&quot;&gt;&lt;/a&gt;It&apos;s from four folks who many in the CFML community will know: Mark Drew, Gert Franz, Paul Klinkenberg, and Jordan Michaels. Mark and Gert work for Railo, while Paul and Jordan are active in the Railo community. I was given a review copy from their publisher, Packet Publishing (and thanks to an arrangement by Mark).

With a title like Beginner&apos;s Guide, one may wonder what to expect. As a contributor myself to several CF books (carehart.org/contact.cfm#books), I appreciate the challenge in deciding the intended audience for a book, and keeping it in mind as we are writing. And having been a co-contributor on now 10 multi-author books (not all on CF), I appreciate the challenge in keeping a consistent voice among all those authors throughout a book, as well as each keeping that intended audience front and center. It&apos;s not easy, although it can be aided greatly by careful editorial control and editing.

&lt;h3&gt;What to expect from the book?&lt;/h3&gt;

So, as a &quot;&lt;a href=&quot;http://link.packtpub.com/CIeDQj&quot;&gt;Railo 3: Beginner&apos;s Guide&lt;/a&gt;&quot;, what would you expect? Something for people making the move (or considering it) from CF to Railo (&quot;beginners to Railo&quot;)? Or something for those coming to CFML anew, where Railo is their first CFML engine (&quot;beginners to CFML and to Railo&quot;)? In that case, should that audience be presume to be &quot;beginners to web apps&quot; as well, or just to CFML? Indeed, might someone expect such a title to be appropriate for those coming from a Java server background who may have been persuaded to consider CFML and Railo (&quot;beginners to CFML and Railo, but not to programming&quot;)?

The subtitle is &quot;easily develop and deploy complex applications online using the powerful Railo Server&quot;, and the back cover starts by calling it &quot;a practical guide for developing web applications with Railo&quot;. Of course, different people may read &quot;complex applications&quot; differently. Let me go ahead and point out what the Preface says about the audience:

&quot;If you want to develop your own dynamic web applications using CFML, then this book is for you. No prior experience with Railo or CFML is required, although you are expected to have some experience in web application development experience and the knowledge of HTML, basically, how websites work in general.&quot;

And from reading the book I&apos;d concur, so it&apos;s not intended as a &quot;how or why to transition from CF to Railo&quot; book. And the title should clarify that, but some will inevitably wonder, so we should make that clear right from the outset. Might it still be valuable to you, someone who already knows CFML? Maybe. There are various topics that are indeed Railo-specific. 

&lt;h3&gt;Considering the Table of Contents&lt;/h3&gt;

Let&apos;s look at the list of topic in the table of contents (I&apos;ve added the approx number of pages for each):

Chapter 1: Introducing Railo Server (18)&lt;br/&gt;
Chapter 2: Installing Railo Server (19)&lt;br/&gt;
Chapter 3: CFML Language (47)&lt;br/&gt;
Chapter 4: Railo Server Administration (50)&lt;br/&gt;
Chapter 5: Developing Applications with Railo Server (39)&lt;br/&gt;
Chapter 6: Advanced CFML Functionality (19)&lt;br/&gt;
Chapter 7: Multimedia and AJAX (20)&lt;br/&gt;
Chapter 8: Resources and Mappings (21)&lt;br/&gt;
Chapter 9: Extending Railo Server (38)&lt;br/&gt;
Chapter 10: Creating a Video-sharing Application (44)&lt;br/&gt;

That&apos;s quite a wide-ranging set of topics. :-) Note that the biggest chapters are on the &quot;CFML language&quot;, and &quot;Railo Server Administration&quot;. They&apos;re certainly both going to be vital for someone coming to CFML anew. And at the same time certainly someone moving from CF to Railo will still benefit from understanding how Railo Administration works. Same for the other chapters that would be unique to Railo, especially chapter 9, and some of the other chapters where Railo-specific things are mentioned. To be clear, though, they&apos;re not really pointed out as different from ColdFusion. That&apos;s not the book&apos;s intent, and the authors (being Railo folks) are reasonably focused more just on &quot;here&apos;s how to use Railo to build CFML apps&quot; for those new to doing CFML apps.

&lt;h3&gt;Going beyond the TOC to details per chapter&lt;/h3&gt;

Still, you may reasonable wonder, then, what are the various subtopics of each chapter. The good news is that you can find the detailed ToC online &lt;a href=&quot;http://link.packtpub.com/CIeDQj&quot;&gt;at the book&apos;s site&lt;/a&gt;. Click on the &quot;Table of Contents&quot; tab midway down the page. (I couldn&apos;t find a way to offer a URL that added something that would make that tab open. I&apos;m really not a fan of tabbed interfaces in web apps, for this very reason. Another challenge is that often a search engines will show a page, indicating it had content you sought, yet when you do a find on the page, you can&apos;t locate it--because it&apos;s under a tab that you&apos;ve not thought to click. Grr.)

That said, when it comes to looking at that detailed table of contents, the online version suffers from an unfortunate problem, and the print version has another. If you look at the online version, you&apos;ll notice that the real &quot;sections&quot; and &quot;subsections&quot; in each chapter don&apos;t stand out in any way. They&apos;re all at the same level, with no bolding or anything. 

The print one is a little better. But in both, the section headings are also lost in the weeds of as many or more &quot;time for action&quot; sections (where the book walks through doing something, which is itself a commendable feature).

I just wish they would have either done something else for the &quot;time for action&quot; text in the TOC, like have an acronym instead, like TFA, or better yet an icon. It&apos;s just hard to perceive the organization--which may be as important for someone standing in the store, as someone later using the book, or as someone contemplating whether to buy it while reading an online review. :-) 

FWIW, neither of these issues is a problem for the two other Packt Publishing CF books: John Farrar&apos;s &lt;i&gt;ColdFusion 9 Developer Tutorial&lt;/i&gt; and Matt Gifford&apos;s &lt;i&gt;Object-Oriented Programming in ColdFusion&lt;/i&gt;. I know, some will think I&apos;m being pedantic for having gone on so about this.  Hey, it&apos;s my review. :-) Seriously, though, it&apos;s a usability issue that could be addressed, online and in any reprints.

Finally, as long as I&apos;m talking about the book site, it&apos;s a bit of a shame that it does not list both of the other CF books, not even in its &quot;alternative books&quot; widget at the bottom. (There is a special offer to buy the book with John&apos;s CF9 book, but no mention of Matt&apos;s OOP book, which seems unfortunate for the authors, the publisher, and the readers.

&lt;h3&gt;About the Content&lt;/h3&gt;

So what about the content itself, whatever your place in the prospective &quot;audiences&quot;?
 
Well, recalling that it&apos;s a &quot;Beginner&apos;s Guide&quot;, there&apos;s the ever-present challenge of whether a book speaking to them will teach simple techniques (cfquery/cfoutput) or will stretch them from the beginning to use CFCs and cfscript syntax, and use that throughout. There was a recent brouhaha in the CFML community as some castigated the CFWACK books for failing in that regard. Well, those folks won&apos;t be happy: the book is pretty much all tags. At least until Chapter 6, which opens with discussing the issue, and from that point through the rest of the book, there&apos;s a fairly even split of both types of coding.

On a related matter (and good news for that aforementioned camp of folks concerned about how CFML is taught), I will note that after introducing cfquery (albeit pretty late some may say, on p 74, in Chapter 3 on CFML), the book does at least immediately move in the very next section to talking about using CFCs (on p80, which ends that chapter).

Separately, some may note that the book then proceeds right to chapter 4, on Railo Server Administration. If one assumes, &quot;well, that&apos;s because you have to show how to create DSNs in the Admin&quot;, that&apos;s actually not the reason. The book did step into the Admin just prior to the cfquery discussion, on p72.  That that was using the Railo Web Administrator, whereas chapter 4 is on the Railo Server Administrator. Here again is where folks coming from CF may be a little confused.

The chapter does explain the difference between server and web contexts (something foreign to CFers) which does have benefits for true separation of applications, and it goes on to explain those benefits and how to manage things differently, including the nice remote sync feature for keeping admins synced across multiple instances. And the 2nd chapter talks about installing Railo, which is also different from CF and has some useful advantages that are discussed. (Sadly, while the unique cluster scope in Railo is mentioned a couple of times, there&apos;s no dedicated discussion to running Railo in a cluster. But let&apos;s remember my initial point: this is a &quot;Beginner&apos;s Guide&quot;.)

&lt;h3&gt;What about development topics?&lt;/h3&gt;

So back to its coverage of development topics: the book does cover the basics of CFML, as expected, mostly in Chapter 3. It then covers more advanced and modern topics many would like to see, such as ORM, caching, and more (in Chapter 5).  An interesting point about caching (made in Chapter 5) is how Railo supports a pluggable architecture, so that you can use either built-in caching (ramcache or ehcache lite), or switch to any of several alternatives (memcached, couchdb, infinispan, and more).

And while I noted earlier that Chapter 4 is on administration, that chapter also covers various development-oriented features that are controlled by the Admin and (in a somewhat eccentric approach) the chapter shows CFML code demonstrating those there,  in that chapter. (These might be missed if a developer chose to skip a chapter on &quot;administration&quot;.) Such topics include things (which it may interest some to know are supported) such as text searching via Lucene (from which Solr is built), event gateways and more. It also discusses what Railo calls &quot;magic functions&quot;, which is basically like the implicit getters/setters for CFCs that were added in CF9.

On the other hand, it&apos;s perhaps unfortunate that the &quot;advanced CFML&quot; chapter (6) is about looping and scripted coding. But front-end developers will enjoy Chapter 7 on Multimedia and AJAX. And despite not being quite so obvious from its name, Chapter 8 (&quot;Resources and Mappings&quot;) is mostly about accessing the file system, working with zips, as well as working with Amazon S3. Chapter 10 wraps things up with a complete video-sharing app, leveraging especially the ORM and video features introduced earlier.

&lt;h3&gt;Still other topics, especially unique to Railo&lt;/h3&gt;

Other chapters touch on various unique features Railo supports like archives (packaged applications), the easy admin update mechanism (coming now also to CF10), and so on.  Chapter 9 is about various ways to extend Railo, ranging from the ability to create new tags and functions (that you can call just as if they were built-in ones, for better or worse), as well as to package up them or indeed complete applications that can be bundled and shared with others (or even sold in a Railo extensions store). Indeed, besides overriding CFML functions in CFML code, you can also just change the underlying Java source for any tag or function (or of course the entire engine), since it&apos;s an open source product.

Chapter 1 also mentions still other features that Railo supports, some uniquely. Again, the focus of the book is not really &quot;how is Railo different than CF&quot;, though CFers will indeed find discussions of things that are different. Chapter 1 could be useful as an intro to Railo for CFers. You can read that first chapter online at the book site. I will note that many of these topics are not developed further, but you can find more at the Railo sites, getrailo.org, getrailo.com, and blog.getrailo.com.

&lt;h3&gt;Some nits, yet opportunities&lt;/h3&gt;

If I have one other nit to pick with the book, it&apos;s with the index. If you&apos;re not careful, you could think content did not exist. For instance, there&apos;s no mention of ORM--you have to think of looking at Object Relational Mapping. That may seem petty, but a good indexer should have seen how often the term ORM was used on its own and offered a cross-reference (because many people do in fact only know it by the acronym.) There&apos;s a similar problem with CF tags: don&apos;t go looking for them under the letter C. They&apos;re instead in front of the index, as &lt;cfabort&gt;, &lt;cfajaxproxy&gt;, etc., which is a bit odd.

But let me make lemonade from those lemons: if you &lt;a href=&quot;http://www.amazon.com/gp/product/1849513406/?tag=carehartorg-20&quot;&gt;visit the Amazon page for the book&lt;/a&gt;, you&apos;ll find it&apos;s been enabled for the &quot;see inside this book&quot; feature, so you can easily search for a topic of interest and see how the book covers it. That should help a lot if you&apos;re a CFer trying to decide if you may find value in the book. (Of course, that Amazon feature often does not show many pages beyond what you find, so you can&apos;t read it entirely there, let alone even much about a specific topic.)

So, is &lt;a href=&quot;http://link.packtpub.com/CIeDQj&quot;&gt;Railo 3: Beginner&apos;s Guide&lt;/a&gt; a book for you? I can&apos;t make that decision for you, of course. It really depends on where you are in your understanding of Railo, and indeed CFML. It&apos;s certainly not geared toward those with CFML experience, in that it starts from square 1, but then it also covers a lot of ground way beyond square 1. For those willing to dig through to find what will be new, they may not only learn things new to Railo but also things existing in CF that perhaps they&apos;ve not paid attention to. Then again, some of my readers will wish it covered more about what is specifically different (or may wish that it was made more clear). While others will think it&apos;s great that it just &quot;rolls with Railo&quot;, which suits a reader not coming from CF.

You really will need to decide for yourself, or whether you may recommend it to others you know. I hope I&apos;ve given you some motivation to consider it further, and both information and additional resources to help you do so. 
				</description>
				
				<category>railo</category>
				
				<pubDate>Tue, 28 Feb 2012 11:22:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/2/28/New_book_review_Railo_3_Beginners_Guide</guid>
				
			</item>
			
			<item>
				<title>Recording of my Adobe eseminar session, &quot;Monitoring #ColdFusion with FusionReactor&quot;</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/2/27/recording_of_my_adobe_eseminar_on_FusionReactor</link>
				<description>
				
				After my barrage Friday of &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2012/2/24&quot;&gt;four entries on the CF Server Monitor&lt;/a&gt;, here&apos;s something instead on FusionReactor. Some may know that last week I did a talk on the Adobe ColdFusion eseminar series, &quot;Monitoring ColdFusion with FusionReactor&quot;. I got word today that the recording link has been posted.

You can find the recording &lt;a href=&quot;http://www.adobe.com/cfusion/event/index.cfm?event=register_no_session&amp;id=1995344&amp;loc=en_us&quot;&gt;here&lt;/a&gt;. Note that you need to login with an Adobe ID, just like when you download Adobe software or participate in their forums. (I have no control over that.)

Since that link just goes right to the recording, here is the description I&apos;d used for the session, to help decide if the recording may interest you. BTW, I clarify on the session that FR is useful for more than just ColdFusion, in that &lt;u&gt;FusionReactor can be used for Railo, BlueDragon, and OpenBlueDragon, as well as in fact any Java server (Tomcat, JBoss, Jetty, Glassfish, Websphere, etc.)&lt;/u&gt;, and the session applies just as well to folks using those.

&lt;h3&gt;My session: Monitoring ColdFusion with FusionReactor&lt;/h3&gt;
&lt;blockquote&gt;
&lt;a href=&quot;http://www.adobe.com/cfusion/event/index.cfm?event=register_no_session&amp;id=1995344&amp;loc=en_us&quot;&gt;Recording&lt;/a&gt;
&lt;br&gt;
&lt;b&gt;Session Description:&lt;/b&gt;
&lt;br&gt;
If your CF server starts acting up, how do you go about resolving problems? If you&apos;re on ColdFusion 8 or 9 Enterprise, you may know that you have a built-in ColdFusion Server Monitor. Did you know there is an alternative tool that supplements it well? FusionReactor is a commercial third-party tool, which can monitor not only any version of CF (6, 7, 8 or 9, whether Standard or Enterprise) but also Livecycle and any other Java web application or server in your environment.

Such monitoring is about more than &quot;watching a screen&quot;. You can arrange to receive email alerts with valuable information (sort of a black box recording before a crash), and FusionReactor also creates really valuable logs that can also help with post-mortem analysis. They can also assist with deciding on CF server configuration settings, watch trends for hardware upgrades, and more. And as of FusionReactor 4, these logs now track information that previous only the CF Server Monitor displayed (but didn&apos;t log at all). Finally, an additional tool, FusionAnalytics, can help analyze and visualize that data over minutes, hours, days, weeks, months, and so on.

In this 50-minute session, veteran CF troubleshooter and independent consultant Charlie Arehart will introduce and demonstrate these and other key features of FusionReactor (including stack tracing and crash protection), and will end with a brief demo of FusionAnaytics.
&lt;/blockquote&gt;

&lt;h3&gt;See also what other Adobe ColdFusion talks are coming, or recordings of past talks&lt;/h3&gt;

In fact, you can see that description posted now as one of what they call &quot;on demand&quot; esminars, which are simply a list of &lt;a href=&quot;http://www.adobe.com/cfusion/event/index.cfm?event=list&amp;loc=en_us&amp;type=ondemand_seminar&amp;product=ColdFusion&amp;interest=&amp;audience=&quot;&gt;all the CF eseminars that have been recorded&lt;/a&gt;. 

Note that &lt;b&gt;you can change the filter on the right to see eseminars for still other Adobe products&lt;/b&gt;. (Sadly, there&apos;s no way I can give a link directly to my preso on that page, or I&apos;d have done that and not offered the description above. And while today it&apos;s the first in the list, in time that will no longer be the case.)

Similarly, you can find out &lt;a href=&quot;http://www.adobe.com/cfusion/event/index.cfm?event=list&amp;loc=en_us&amp;type=eseminar&amp;product=ColdFusion&amp;interest=&amp;audience=&amp;monthyear&quot;&gt;all upcoming CF Adobe esminars&lt;/a&gt;, or use the same filter feature there to see those for other products.

&lt;h3&gt;Session feedback welcomed&lt;/h3&gt;

Finally, I&apos;d welcome feedback from anyone who did or does view the talk I gave. They offer no such mechanism. Comments here are fine, and I don&apos;t mean only any favorable ones. :-)

PS If anyone wonders why I&apos;ve taken to using the #coldfusion hashtag in my blog entry titles, it&apos;s simply that many of the CF blog aggregating tools out there are now retweet what gets posted, and so by using the tag here, it increases the chance that CFers may notice the new entry if watching for that hashtag, even if they don&apos;t watch for blog entries from a specific person. It may look a little uglier, but I hope it&apos;s helpful for all concerned in the long run. 
				</description>
				
				<category>bluedragon</category>
				
				<category>cf911</category>
				
				<category>fusionreactor</category>
				
				<category>railo</category>
				
				<category>speaking</category>
				
				<pubDate>Mon, 27 Feb 2012 18:11:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/2/27/recording_of_my_adobe_eseminar_on_FusionReactor</guid>
				
			</item>
			
			<item>
				<title>CF911: Want to monitor #ColdFusion &quot;out of process&quot; (from outside the instance itself)? Many ways.</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/2/24/monitoring_coldfusion_out_of_process</link>
				<description>
				
				I just blogged about how the hidden gem &quot;enable monitoring server&quot; option in CF 9.0.1 does NOT cause the CF Server Monitor to somehow magically run &quot;out of process&quot;. See &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2012/2/24/cf901_enable_server_monitoring_myth&quot;&gt;more on that&lt;/a&gt;.

Yet people will reasonably want to be able to have some mechanism that &quot;watches&quot; CF &quot;from the outside&quot;, to know when it&apos;s gone down. How can you do that? That&apos;s what I&apos;ll point out in this entry. 

And beyond talking about what goes along with the CF Enterprise Server Monitor, I&apos;ll also point out options for those who are NOT running CF 8, 9, or 10 Enterprise and therefore &lt;b&gt;do not have the Enterprise Server Monitor&lt;/b&gt;. This also includes those CF 6 or 7. There are solutions for you, and also for those running Railo, BD, or indeed any Java server. More on all that in a moment.

This is part 4 of an unexpected series of entries today on the CF Enterprise Server Monitor. :-) I got on a roll, and each seemed deserving of its own topic. See the &quot;Related Blog Entries&quot; below this entry for links to those.

&lt;h3&gt;What the CF Server Monitor is, and is not&lt;/h3&gt;

To be clear, The CF Enterprise Server Monitor (and indeed, FusionReactor and SeeFusion in their basic configuration) is &quot;just&quot; a web interface (Flex-based) that talks to an embedded flex gateway component running within the CF instance/address space to get information about how the instance is doing. If that instance goes down, then the web interface will have nothing to talk to any more, and the &quot;monitor&quot; will no longer be of value.

But there are alternatives to watch the instance (indeed, multiple instances) from the outside

&lt;h3&gt;First: The CF Enterprise Multiserver monitor&lt;/h3&gt;

First up, let me talk about what&apos;s built into CF 8/9/10 Enterprise, to go along with the CF Server Monitor. Many never notice it, or they misunderstand it: the &lt;u&gt;Multiserver&lt;/u&gt; Monitor.  This is different from (but closely related to) the Server Monitor.

It is a single Flex-based interface that watches whatever other CF Enterprise server monitor instances you tell it to watch. It does run &quot;out of process&quot; in that it runs on your desktop (as a Flex-based web page) and can show you if a monitored server has gone down or become unresponsive. It also shows a few key stats about each monitored instance in the one interface, while such monitored instances are up. If you want to see the full details of what&apos;s going on, you then can ask it to open the full CF Server Monitor (as another web page).

I talk about it more in an article I did back in 2008, &lt;a href=&quot;http://www.carehart.org/articles/#2008_1&quot;&gt;part 4 of my 4-part series of articles on the Server Monitor&lt;/a&gt;.

But briefly, it&apos;s launched from the same &quot;Server Monitor&quot; page in the CF Admin. I suspect that many mistakenly assume that it&apos;s only for monitoring &quot;instances in a multiserver deployment of CF&quot;. It can do that, but it can be configured to watch any other CF Enterprise instance (whether on the same machine or on another, and whether that&apos;s running in a Server, Multiserver, or indeed J2EE form of deployment.)

For more on how to configure the Multiserver Monitor itself, as well as how to configure a server to allow you to &quot;watch&quot; it (you need to tweak an XML file on the server to be monitored), and more, see that article above.

I should note, as well, that CF 9 (and 10) now offer a Server Manager, also launched from the same &quot;server monitor&quot; page in the CF Admin, and it does much the same as the Multiserver Monitor, and a little more (as well as a little less). You may want to look at both to decide for yourself. See the CF documentation for more on the Server Manager.

&lt;h3&gt;What if you don&apos;t have CF 8/9/10 Enterprise?&lt;/h3&gt;

Since the CF Server Monitor and Multiserver Monitor come only with CF 8/9/10 Enterprise (and the MS Monitor can only monitor such an instance), what do you do if you&apos;re on CF Standard, or CF 6 or 7? Or indeed Railo, BlueDragon, or Open BlueDragon? There are solutions for you.

First up, as I talked about in an entry back in 2007, &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2007/8/31/what_to_do_with_no_cf8_monitor_on_standard&quot;&gt;CF8 monitor doesn&apos;t run on CF8 Standard, or any 6 or 7. What to do?&lt;/a&gt;, there are indeed alternative CF Server monitors, &lt;a href=&quot;http://www.fusion-reactor.com&quot;&gt;FusionReactor&lt;/a&gt; and &lt;a href=&quot;http://www.seefusion.com/&quot;&gt;SeeFusion&lt;/a&gt;, which both work on CF Standard as well as CF Enterprise. 

FusionReactor even works with Railo, BD, OpenBD, or indeed any Java server. And by that last point, that means such things as LiveCycle and Flex Data Services, as well as generic tools that run on Java like JIRA and Confluence. It also means the Solr Server that comes with CF 9 and 10!

And of course both FR and SF also work just fine on a CF 8/9/10 Enterprise server, even if you have the CF Server Monitor running. They can all run with very little overhead, though of course see the entry I did back in 2007 on &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2007/6/15/cf8_monitor_impact_on_prod&quot;&gt;potential overhead concerns with the CF Server Monitor&lt;/a&gt;.

&lt;h3&gt;FusionReactor and SeeFusion each also offer an Enterprise Dashboard feature&lt;/h3&gt;

But the point for this entry is that both FusionReactor and SeeFusion each of offer an Enterprise Dashboard feature which both offer a single interface to watch multiple monitored instances (on one or many machines), similar to the CF Enterprise Multiserver monitor. 

You do need to have FusionReactor installed on any instance to be watched by its dashboard, and you need SeeFusion installed on any instance to be watched by its dashboard. And you do need the Enterprise edition of each for them to be watched by their respective Enterprise dashboards. But to be clear, the CF license does not need to be Enterprise (and again, FR can watch Railo, BD, and other Java servers.)

There is a page on the FR site devoted to &lt;a href=&quot;http://www.fusion-reactor.com/fr/featurefocus/enterprisedashboard.cfm&quot;&gt;FusionReactor Enterprise Dashboard&lt;/a&gt;.  There&apos;s no specific page on the SeeFusion site about its Enterprise dashboard.

&lt;h3&gt;What if you&apos;re not sitting there in front of these multi-instance dashboards?&lt;/h3&gt;

A reasonable question might be: all these dashboards to watch multiple servers at once is nice, but it won&apos;t help if you&apos;re not looking at them when things go amiss. And that&apos;s true.

&lt;blockquote&gt;
Now, before I talk more about these multi-instance dashboards, let me clarify that all 3 CF monitoring tools have means to notify you by email when an alert condition arises, as detected within the running instance. In the CF Server Monitor, they&apos;re called &quot;Alerts&quot; (and I discuss them in &lt;a href=&quot;http://www.carehart.org/articles/#2007_5&quot;&gt;part 3 of my 4-part articles series&lt;/a&gt;.) In FusionReactor, they&apos;re called &quot;crash protection notification&quot;, and that&apos;s discussed more &lt;a href=&quot;http://www.fusion-reactor.com/fr/featurefocus/crashprotection.cfm&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://docs.intergral.com/display/FR40/Crash+Protection+and+Monitoring+with+FusionReactor&quot;&gt;here&lt;/a&gt;. And in SeeFusion, they are called Active Monitoring Rules (there&apos;s no page dedicated to them that I can point you to.) These alerts are available in the Standard edition of both FusionReactor and SeeFusion.
&lt;/blockquote&gt;

But if those individual instances become unresponsive or crash, then those alerting mechanisms will not notify you, either. (That said, they may well alert you when you can&apos;t get into the monitors, but the instance is still running. They can also alert you with info just before the instance goes down, and may have valuable info. So these alerts are indeed very worthwhile. I should write more about them separately some day.)

Back to the point of the multi-instance dashboards, where the one interface is watching the others, that&apos;s a different story.

The CF Enterprise Multiserver Monitor is just an interface: it has no means to email you that a monitored server has gone down. Neither does SeeFusion&apos;s dashboard, as far as I can tell. 

&lt;h3&gt;FusionReactor offers several enhancements in its Enterprise Dashboard&lt;/h3&gt;

But FusionReactor&apos;s Enterprise Dashboard has several enhancements over the others. I didn&apos;t set out in this entry to make this point. It just is worth noting. 

First, it can in fact be configured to email you when a monitored instance becomes unresponsive (goes down) and comes back up. That can go to one or more people, and of course it could go to an address that could trigger an SMS or other text message. (More on mobile device notification in a moment.)

Second, the FR Enterprise Dashboard configuration page can also be configured to run a script when a monitored server goes down or comes back up. For more on that, see &lt;a href=&quot;http://docs.intergral.com/display/FR40/Using+FusionReactor+Enterprise+Scripting&quot;&gt;&quot;Using FusionReactor Enterprise Scripting&quot;&lt;/a&gt; in the FR documentation.

Third, FusionReactor offers an available &lt;a href=&quot;http://www.fusion-reactor.com/fe/&quot;&gt;AIR version&lt;/a&gt; of its dashboard, which can pop up an alert from your desktop status tray when a monitored server has problems.

Fourth and finally, and a delight to many I&apos;m sure, there are available &lt;a href=&quot;http://www.fusion-reactor.com/fr/mobile/&quot;&gt;mobile app versions&lt;/a&gt; of the FusionReactor Enterprise Dashboard (IOS and Android). 

So, whether you&apos;re coding away, or playing Angry Birds, whether you want a mobile interface or a text message, or good &apos;ol email. You can get notification about your monitored servers.

&lt;h3&gt;So you can, indeed, monitor CF from &quot;outside the process&quot;&lt;/h3&gt;

Again, the main point of this entry was to show how in fact you can monitor CF (and other CFML engines) from &quot;outside the process&quot;. Those on CF 8-10 Enterprise have the MultiServer monitor and Server manager. Those on CF 6-10 Enterprise or Standard have FusionReactor and SeeFusion and their Enterprise Dashboards. FusionReactor also supports other CFML engines and indeed any Java server/app (whether those you have associated with CF, including Solr, LiveCycle, FDS, and more, or really any Java server like Tomcat, JBoss, Glassfish, WebSphere, etc.)

And all 3 tools offer email-based alerts from within the process, which certainly has its own value.

&lt;h3&gt;Still other non-CF solutions&lt;/h3&gt;

Finally, someone may want to ensure that I point out that there are, of course, many other monitoring tools that can &quot;watch a CF server&quot; from &quot;outside the process&quot;. I did focus here just on those that are devoted to CF itself. But there are many different kinds of other tools you may want to consider.

For instance, there are free (and paid) tools and services which will send requests to your server on a periodic basis and will then email you when they are down (and may track that in an interface). I talk about such tools in a category of my CF411 site: &lt;a href=&quot;http://www.cf411.com/sitemon&quot;&gt;Web Site Uptime Monitoring Tools&lt;a&gt;. Some may recognize some prominent ones like Pingdom, Watchmouse. There are many more I list. 

Second would be the category of system monitoring tools, like Nagios, ServerDensity, Spiceworks, ManageEngine, and others. I have a category for such tools, &lt;a href=&quot;http://www.cf411.com/sysmon&quot;&gt;System Monitoring Tools&lt;/a&gt;, again listing many more, free and commercial.

Third would be Java &lt;a href=&quot;http://www.cf411.com/appmon&quot;&gt;Application Monitoring Tools&lt;/a&gt; like NewRelic, JaMon, Glassbox, Orion, and others. And I have another separate category for &lt;a href=&quot;http://www.cf411.com/javamon&quot;&gt;monitoring a JVM itself&lt;/a&gt;, but again the focus here is &quot;out of process&quot; monitoring.

Indeed, I have several other categories of monitoring tools for other aspects of a web environment. Check out the top-level category that those and the others abvoe are in, &lt;a href=http://www.cf411.com/mon&quot;&gt;Monitoring Tools/Services&lt;/a&gt;, to include also database monitoring tools, other (in-process) ColdFusion monitoring tools, SAN/NAS monitoring tools, web analytics tools, and more.

Bottom line: there are many ways to watch a CF instance from &quot;outside the process&quot;. Go nuts, kids!

And let me know what you think. 
				</description>
				
				<category>cf911</category>
				
				<category>fusionreactor</category>
				
				<category>seefusion</category>
				
				<category>monitoring</category>
				
				<category>CF Server Monitor</category>
				
				<pubDate>Fri, 24 Feb 2012 15:57:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/2/24/monitoring_coldfusion_out_of_process</guid>
				
			</item>
			
			<item>
				<title>CF911: &quot;Enable Monitoring Server&quot; option (new in #ColdFusion 9.01) DOES NOT monitor &quot;out of process&quot;</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/2/24/cf901_enable_server_monitoring_myth</link>
				<description>
				
				Have you been led to believe that the &quot;Enable Monitoring Server&quot; option (new in the CF 9.0.1 Admin) somehow magically runs the CF Enterprise Server Monitor &quot;out of process&quot;. Sadly, even some folks from Adobe have and still may assert that. It&apos;s just not true. So what is this option about, then? I&apos;m not denying its value. I just want to clarify it.

BTW, today is &quot;more about the CF Server Monitor&quot; day today here at carehart.org. :-) In my last two entries today, I talked about related matters, regarding the impact of the 3 &quot;start&quot; buttons (monitoring, profiling, and memory tracking), as a followup to an older entry I did on them when the monitor came out with CF 8 in 2007. See the &quot;related blog entries&quot; below for more.

In the last entry, I mentioned that in 9.0.1, Adobe added a new &quot;Monitoring Settings&quot; page to the CF Admin, and one of the features is that ability I discussed to &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2012/2/24/CF911-Stopping-the-ColdFusion-Server-Monitor-start-buttons-when-you-cant-get-into-the-Monitor&quot;&gt;turn off the 3 start buttons from within the Admin&lt;/a&gt;.

Below that is this other feature, labeled &quot;Enable Monitoring Server&quot;. Let me say first that has really have nothing to do with all the discussion of the &quot;start&quot; buttons in the previous entries. 

&lt;h3&gt;So what does &quot;Enabling Monitor Server&quot; do?&lt;/h3&gt;

All it really does (if enabled) is start a new web server (within CF) that the Server Monitor client will then use to talk to CF. That&apos;s it.

All the CF Server Monitoring activity (gathering the stats, etc.) is still done WITHIN CF itself, as it always has been (as controlled by those 3 &quot;start&quot; buttons discussed above). As I&apos;ve explained before, the CF Server Monitor is just an interface to view that information--regardless of the web server port. 

Indeed, it bears noting that if you use the &quot;built-in web server&quot; (offered during installation or &lt;a href=&quot;http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=installserver_09.html&quot;&gt;enabled manually&lt;/a&gt;), so that you access the CF Admin on, for instance port 8500, then you are already accessing the CF admin from a different web server than your production traffic, assuming that&apos;s coming in via port 80 (such as from IIS or Apache). 

But some people may well not enable that built-in web server, and they may access the CF Admin via the same external web server as all the other traffic. Well, if something has made CF not able to respond to all your other traffic, you may find that the CF Server Monitor also cannot respond.

&lt;h3&gt;So this is a 3rd, special, web server option for CF&lt;/h3&gt;

Enter this new (yes, third) alternative web server: if enabled, then the CF Server Monitor will talk to it (on port 5500 by default).

And whereas enabling the traditional &quot;built-in web server&quot; involves editing XML files and restarting CF, this new CF 9.0.1 option is just a single click and it takes effect immediately. No restart required. 

If you click the &quot;server monitor&quot; button from within the &quot;Server Monitor&quot; page in the CF Admin after enabling this, you&apos;ll see that it opens the monitor to that port 5500 (or whatever you tell it to use.)

FWIW, this new web server does indeed start up *within the CF memory space*, but it&apos;s very lightweight. Still, this further diminishes the mistaken assertion that somehow this feature makes the &quot;monitor run out of process&quot;.

All that said, it&apos;s certainly a good idea to use it, of course. I just wanted to clarify what it really is, and is not, since I so often hear people still assert otherwise. I don&apos;t blame them. There&apos;s not much documentation on it, and some Adobe folks did in fact at early CF 9.0.1 launch presentations suggest this mistaken assertion. I had been a little reluctant to call it out, hoping it may have gone away, but since I still hear it, I felt compelled to go ahead and write. 

&lt;h3&gt;Reminder of what the CF Server Monitor is, and that it is always &quot;in process&quot;&lt;/h3&gt;

Again, as I&apos;ve talked about previously, the CF Server Monitor is an interface to data collected within the CF instance itself. It doesn&apos;t matter what web server you use to launch the monitor. It&apos;s still going to talk (via Flash Remoting) to the CF instance to get the data that it shows you. 

And yes, if CF goes down, the CF Server Monitor goes down with it. It is always an &quot;in process&quot; monitor (as are also FusionReactor and SeeFusion in their basic configurations.)

&lt;h3&gt;What if you do want to watch CF from &quot;outside the process&quot;?&lt;/h3&gt;

If you want something that watches the CF instance &quot;from the outside&quot;, that&apos;s indeed reasonable. You may want something that helps you see when one or more CF instances (perhaps on multiple machines) is acting up (or going down). That&apos;s available as another tool, separate from the CF Server monitor, called the Multiserver Monitor. IT&apos;s also a feature available in FusionReactor and SeeFusion. Indeed, it&apos;s a topic worthy of its own entry. Coming next.

Hope this was helpful to someone. I always look forward to feedback. 
				</description>
				
				<category>cf911</category>
				
				<category>cfmythbusters</category>
				
				<category>monitoring</category>
				
				<category>CF Server Monitor</category>
				
				<pubDate>Fri, 24 Feb 2012 14:23:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/2/24/cf901_enable_server_monitoring_myth</guid>
				
			</item>
			
			<item>
				<title>CF911: Disabling the #ColdFusion Server Monitor &quot;start&quot; buttons, when you can&apos;t get into the Monitor</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/2/24/CF911-Stopping-the-ColdFusion-Server-Monitor-start-buttons-when-you-cant-get-into-the-Monitor</link>
				<description>
				
				Many know I&apos;m a big fan of CF monitoring, whether with CF Server Monitor, FusionReactor, or SeeFusion. I&apos;ve written plenty on each (see the categories to the right here). 

But the CF Server Monitor does have an Achilles Heel: you may turn on one of its &quot;start&quot; buttons, especially &quot;memory tracking&quot;, and find that it&apos;s crippling your server. You may not be able to then turn off the feature.

I talked about this potential issue in an entry when CF 8 was released back in 2007, &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2007/6/15/cf8_monitor_impact_on_prod&quot;&gt;CF Server Monitor: what&apos;s the impact on production? you may be surprised&lt;/a&gt;. I clarify there that the monitor will not, as some assert, &quot;always kill your server&quot;. See that for more details.

And I discussed in an entry earlier today that you can&apos;t just &quot;close the monitor&quot; or even restart CF to make the problem go away, because that won&apos;t stop the functionality. See &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2012/2/24/CF_Server_Monitor_start_buttons_remain_enabled&quot;&gt;CF911: Using the #ColdFusion Server Monitor? Be aware that the &quot;Start&quot; buttons remain enabled&lt;/a&gt;.

So what if you are in a situation where using one of the features, especially typically &quot;memory tracking&quot;, has in fact sent your server into a tizzy. If you can&apos;t even get into the monitor to turn it off, you&apos;re going to be in quite a pickle, and understandably panicked.  

&lt;h3&gt;Easy solution if you&apos;re on CF 9.0.1&lt;/h3&gt;

Fortunately, if you&apos;re on CF 9.01 and above, Adobe has addressed this problem. A hidden gem is that they added a new &quot;monitoring settings&quot; option in the CF Admin, and on that page there are checkboxes where you can control enabling/disabling the 3 start buttons from within the Admin, without having to open the Server Monitor. 

Assuming you can at least get into the CF Admin, just disable one or all of the tracking features, and it will take effect immediately. (There could be a lingering impact that may last a little while as things settle down.)

That&apos;s a great addition. 

But what if you are not on 9.0.1? Or what if you can&apos;t get into the Admin? Well, in the latter case you could try restarting CF to see if you could get in during the moments before it starts going nuts again, but you may have to resort to the following solution.

&lt;h3&gt;What to do in CF 8 or 9.0, or if you can&apos;t get into the Admin in 9.0.1&lt;/h3&gt;

If you&apos;re on CF 8, 8.0.1, or 9.0, you won&apos;t have that feature above. And if you can&apos;t get into the monitor to turn them off (or even can&apos;t get into the Admin on 9.0.1), then you&apos;ll need to edit an xml file yourself to disable the feature(s) and restart CF. 

(Let me say first that if you find that you simply &quot;can&apos;t SEE&quot; the &quot;start&quot; buttons at the top of the server monitor to turn them off, that&apos;s a different problem. Just hit the refresh button in your browser. Generally, that makes them appear. I&apos;ve reported this problem to Adobe and let&apos;s hope they may fix it some day.) 

Fortunately, you can disable the &quot;start&quot; buttons by directly editing the [cf]\lib\neo-monitoring.xml file. (On multiple instances, it&apos;s deep within the instance, such as for instance C:\JRun4\servers\cfusion\cfusion-ear\cfusion-war\WEB-INF\cfusion\lib.) 

&lt;b&gt;Warning: make a copy of the xml file before editing it, to be able to restore it in case you make any sort of mistake and need to recover.&lt;/b&gt;

In the xml file, set the entries related to monitoring to be &quot;false&quot;, such as for:

&lt;code&gt;
&lt;var name=&apos;memorymonitoringenabled&apos;&gt;&lt;boolean value=&apos;true&apos;/&gt;&lt;/var&gt;
&lt;/code&gt;

The others are monitoringenabled and profilingenabled. 

You will need to restart for these to take affect (and sometimes it&apos;s necessary to stop CF before changing these files, to ensure CF doesn&apos;t write to them on shutdown.)

Hope that&apos;s helpful to someone.

&lt;h3&gt;What about the &quot;monitoring server&quot; option in CF 9.0.1?&lt;/h3&gt;

Some may wonder if the the other new setting in CF 9.0.1&apos;s &quot;monitoring settings&quot; page, the &quot;Enable Monitoring Server&quot; option, may be of significance here. Well, yes and no. That, too, is deserving of its own entry. But it does not change at all what I talk about above. More to come. 
				</description>
				
				<category>cf911</category>
				
				<category>monitoring</category>
				
				<category>CF Server Monitor</category>
				
				<pubDate>Fri, 24 Feb 2012 13:20:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/2/24/CF911-Stopping-the-ColdFusion-Server-Monitor-start-buttons-when-you-cant-get-into-the-Monitor</guid>
				
			</item>
			
			<item>
				<title>CF911: Using the #ColdFusion Server Monitor? Be aware that the &quot;Start&quot; buttons remain enabled</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/2/24/CF_Server_Monitor_start_buttons_remain_enabled</link>
				<description>
				
				If you use the CF Enterprise Server Monitor (in CF 8, 9, or 10), it&apos;s vital that you understand that if you turn on any of the Start buttons at the top (&quot;Start Monitoring&quot;, &quot;Start Profiling&quot;, or &quot;Start Memory Tracking&quot;), the settings they enable in CF STAY TURNED ON, even if you close the monitor, and EVEN IF YOU RESTART CF.

Why is this important? Well, I discussed the impact of these buttons (which can be severe or negligible, depending on certain factors) in &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2007/6/15/cf8_monitor_impact_on_prod&quot;&gt;a blog entry I wrote back in 2007&lt;/a&gt; when CF8 was released. 

And today someone was kind enough to point it out to someone on Twitter, so I took a look at it and tweaked it a bit to give some more context. While doing that, I realized I&apos;d never mentioned this fact about the &quot;start&quot; buttons, and about an important related change in CF 9.01 (and 10), thus this entry.

&lt;h3&gt;The buttons remain enabled over CF restart or closing the monitor&lt;/h3&gt;

So the first key point, when someone appreciates the potential negative that the buttons COULD have (see the other blog entry--they don&apos;t t always have negative impact) is that someone may not realize that turning them on and then closing the monitor doesn&apos;t eliminate their impact.
 
I&apos;ve seen many people decide one day to &quot;play around with the monitor&quot;, and they may turn on one or more of these start buttons. They may even yawn if they don&apos;t find things compelling (though there&apos;s really SO much to appreciate--see &lt;a href=&quot;http://www.carehart.org/articles/#2007_2&quot;&gt;my articles on the monitor&lt;/a&gt;). My point though is that if they close the monitor, they may think &quot;so much for the monitor&quot;. Au contraire, mon frere.

The work done by the start buttons (monitoring, profiling, or memory tracking) is done &lt;b&gt;by CF&lt;/b&gt;, the server instance itself. The monitor is just an interface to view the info that it is gathering. So if you have no intent of ever looking at the monitor, then DON&apos;T leave those buttons. 

On the other hand, I&apos;m not saying &quot;don&apos;t leave them on&quot;. You absolutely can and SHOULD leave them on, and yes, even in production, if you find them valuable and find that they have no impact, or acceptable impact.

&lt;h4&gt;You can turn them off, even without getting into the Monitor&lt;/h3&gt;

Finally, what if you have turned them on (let&apos;s say &quot;memory tracking&quot;), and you&apos;re in the situation where it&apos;s now killing your server. If you can&apos;t even get into the monitor to turn them off, you&apos;re going to be in quite a pickle, and understandably panicked.

Fortunately, you can turn the buttons off without getting into the monitor. It&apos;s easier on CF 9.01 and above, but you can also do it by manually editing a file in CF 8 or 9.0. I&apos;ll address that in another entry. 
				</description>
				
				<category>cf911</category>
				
				<category>monitoring</category>
				
				<category>CF Server Monitor</category>
				
				<pubDate>Fri, 24 Feb 2012 12:52:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/2/24/CF_Server_Monitor_start_buttons_remain_enabled</guid>
				
			</item>
			
			<item>
				<title>Some hidden gems in ColdFusion Builder 2.0.1 for those who edit via FTP</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2012/2/18/cfbuilder201_ftp_hidden_gems</link>
				<description>
				
				Let me say this up front: I realize that some folks may well decry my pointing this out (hold that thought). But in the spirit of my tradition of pointing out &quot;hidden gems&quot; in things related to CF and CFBuilder, those who may edit files via FTP will want to know that there are some enhancements for that support in CF Builder 2.0.1, now in &lt;a href=&quot;http://labs.adobe.com/technologies/coldfusion10/#coldfusion_builder&quot;&gt;public beta&lt;/a&gt;.

Among the &quot;other enhancements&quot; mentioned at the bottom of the &lt;a href=&quot;http://www.adobe.com/support/documentation/en/coldfusionbuilder/pdfs/cfb201features.pdf&quot;&gt;&quot;New Features Notes&quot; (PDF)&lt;/a&gt;, note a few related to FTP:

&lt;ul&gt;
&lt;li&gt;New Upload On Save option on the FTP connector dialog box to upload a file by way of FTP when saved locally
&lt;li&gt;Use shortcuts to perform Synchronize and Upload (Ctrl+Alt+W U)/Download (Ctrl+Alt+W D) simultaneously
&lt;li&gt;Take advantage of the shortcut for Synchronize (Ctrl+Alt+W Y)
&lt;/ul&gt;

Those may be big news for some, which might be easily missed, and which are not likely to be pointed out in most posts on what&apos;s new in CFB 2.0.1. And some would even intentionally leave them out, so I&apos;m &quot;takin&apos; one for the community&quot; here by pointing these out. :-)

&lt;h2&gt;Why some may decry these features&lt;/h2&gt;

Some folks, reasonably promoting better development practices, will have great disdain toward anyone who works this way, editing files via FTP within an editor, especially against a production server (I never do it myself, but I know many do.)

They would suggest that such folks ought to be using source code control and a process of migration instead, or at least testing locally and then deploying remotely. I do totally understand their position and agree that most folks should have far better development practices. 

I just know that some folks may feel they have their hands tied, or they just won&apos;t be persuaded to change this approach (or, as Russ Michaels would point out, they may be doing it against a remote development or testing server. That said, I&apos;m sure some would contend against doing that, too, and that people really should have a local development server. I&apos;ll address a common argument against that below here.)

Regardless of reason people may want to edit via FTP, my motivation in pointing out the new features related to it is that, if being able to edit via FTP is important to them, then enhancements to that may help motivate such folks to use CFB, and we can hope that over time they&apos;d benefit from its many other features which CAN lead to better development practices.

&lt;h2&gt;It&apos;s not Adobe who added FTP support&lt;/h2&gt;

Of course, folks who would decry the approach of editing via FTP would also lament that any IDE/editor would even ever offer such FTP support(!), as it &quot;only enables these bad practices&quot;(!). 

To be clear, CFB has had FTP support from the beginning. All that&apos;s new is these couple of tweaks.

More than that, I&apos;d point out that it&apos;s not Adobe who &quot;added this evil FTP support&quot;. :-) The FTP support comes with the Eclipse plugin, Aptana, which ColdFusion Builder has integrated since it&apos;s initial release. 

I don&apos;t know if these new couple of features come with an Aptana update built into CFB 2.0.1 or if they may well have been added by Adobe specifically. They have in fact added their own tweaks even to things Aptana builds in.

Indeed, one reason Adobe does tweak things is that there are certainly folks coming from Dreamweaver or HomeSite who had been used to certain features (including editing via FTP), and Adobe is aware of the benefit of giving them things they want, so that they will move to the many other better features of CFB.

And really, that&apos;s the reason I&apos;m pointing out this enhancement to FTP support also: to remove one more obstacle from such folks considering CFB. 

&lt;h2&gt;Overcoming licensing as a common excuse for editing remotely via FTP&lt;/h2&gt;

Finally, one of the reasons people often pose for why they &quot;have to edit remotely&quot; and &quot;can&apos;t setup a development environment&quot; is the cost of buying CF. (I realize there can be some other configuration challenges also that motivate remote development.)

With respect to licensing, though, there&apos;s great news that many miss about free licensing for development (which has been true for years) and for testing servers (since CF9). That&apos;s really worthy of its own post, which I will do shortly. 
				</description>
				
				<category>CFBuilder</category>
				
				<category>editors</category>
				
				<category>basics</category>
				
				<pubDate>Sat, 18 Feb 2012 14:46:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2012/2/18/cfbuilder201_ftp_hidden_gems</guid>
				
			</item>
			
			<item>
				<title>Sending HTTP headers in a CFHTTP request? Name them correctly</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2011/12/27/sending_HTTP_headers_in_a_CFHTTP_request</link>
				<description>
				
				If you ever try to use CFHTTPPARAM (inside a CFHTTP) to set HTTP headers for the request you&apos;re calling, be aware that you need to be careful to specify the name of the headers &lt;b&gt;as they&apos;re known in the HTTP specification&lt;/b&gt;. Don&apos;t be misled by what you see in a CFML dump of the CGI scope.

&lt;blockquote&gt;
(This is a reprisal and update of an &lt;a href=&quot;http://web.archive.org/web/20060427073059/http://bluedragon.blog-city.com/sending_http_headers_in_cfhttp_post.htm&quot;&gt;old blog entry&lt;/a&gt; I&apos;d done back in 2003, on a &lt;a href=&quot;http://www.blog-city.com&quot;&gt;blog site&lt;/a&gt; that will &lt;a href=&quot;http://www.blog-city.com/pages/signup.htm&quot;&gt;soon no longer exist&lt;/a&gt;. I&apos;ll be reprising a few such blog entries in coming days/weeks, to keep them around for posterity [and to save some having to dig for them in the archive.org site] since often the info offered then may be just as valuable now. I hope that in time these new versions would come up if people do searches that would have found the old entry.)
&lt;/blockquote&gt;

So, about these http headers, while CFML exposes them in a dump of the CGI scope, such as the user-agent field which shows up as cgi.http_user_agent, the issue is that you would &lt;b&gt;not&lt;/b&gt; use that name, nor even &quot;user_agent&quot;, when specifying it in a CFHTTPPARAM.  The proper way to pass the user agent in a CFHTTPPARAM would be as follows:

&lt;code&gt;
&lt;cfhttpparam name=&quot;user-agent&quot; value=&quot;somevalue&quot; type=&quot;CGI&quot;&gt;
&lt;/code&gt;

Why is this an issue, and how may it happen?

&lt;h4&gt;An easy mistake to be lulled into&lt;/h4&gt;

The point is that the name of the header you specify must be a name that is correct according to the &lt;a href=&quot;http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html&quot;&gt;http specifications&lt;/a&gt;, not the headername as it appears in CFML when you dump the CGI scope. The problem is that CF tries to &quot;help&quot; you by how it labels the headers in these scopes, but it does not show them in the actual name you must specify if you&apos;re going to be sending it in a CFHTTPPARAM request. 

It&apos;s is an easy mistake to be lulled into, especially if you aren&apos;t careful to confirm the results in the page you are calling. And if you are trying to call some non-CF server, and things aren&apos;t working, this may well be the reason.

&lt;h4&gt;Other possible headers of interest&lt;/h4&gt;

Other headers of possible interest that you may want to specify when doing a CFHTTP request are Accept, Accept-Encoding, Referer, and so on. So if you were wanting to send/spoof what CF would show as the cgi.http_referer variable, you&apos;d want to send it with the name just as &quot;referer&quot;.  

&lt;h4&gt;Alternative type=&quot;cgi&quot; and type=&quot;header&quot;&lt;/h4&gt;

FWIW, note that I am using here the type=&quot;CGI&quot; value. CFML also supports a type=&quot;header&quot;. The difference is in whether CF urlencodes the result before sending it (it does not for type=&quot;header&quot;), which could be another issue to consider. This encoding can also be turned on or off with the available &quot;encoded&quot; attribute, at least for type=&quot;cgi&quot;.

&lt;h4&gt;Yes, you don&apos;t need to use cfhttpparam for sending the user agent&lt;/h4&gt;

Finally, someone may want to point out that you don&apos;t even need to use CFHTTPPARAM to send the user agent, since CFHTTP offers a separate built-in USERAGENT attribute which can be used instead. Yes, this is do.

I suspect it&apos;s an older approach that either existed before CFHTTPPARAM permitted passing it, or it was put in as a shortcut. 

But the point of this entry is that if you do need to set this or any other headers within the CFHTTPPARAM, be aware of using the correct http header name. 
				</description>
				
				<category>carehart classics</category>
				
				<category>basics</category>
				
				<category>cfml</category>
				
				<pubDate>Tue, 27 Dec 2011 17:11:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2011/12/27/sending_HTTP_headers_in_a_CFHTTP_request</guid>
				
			</item>
			
			<item>
				<title>Applying CF security hotfixes: do it from oldest to newest</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2011/12/16/apply_CF_security_hotfixes_in_order_ofoldest_to_newest</link>
				<description>
				
				If you may be applying several security hotfixes to a new implementation of CF (or one where none have been applied before), you may wonder if there&apos;s any significance to applying them in either chronological order (newest to oldest, or oldest to newest). The technotes don&apos;t really clarify this. 

I will propose that they should be done from oldest to newest. Here&apos;s why.

If you look at the list of CF security hotfixes offered &lt;a href=&quot;http://blogs.adobe.com/psirt/tag/coldfusion&quot;&gt;here&lt;/a&gt;, you may wonder whether to start with the most recent ones, or the oldest ones. If you look at their respective technotes and zip files closely, you may find that some are truly independent of the others. But it&apos;s also a reality that some do supercede the others. That may be obvious to some, but I wanted to offer a case in point.

Consider the hotfixes for &lt;a href=&quot;http://kb2.adobe.com/cps/907/cpsid_90784.html&quot;&gt;APSB11-14&lt;/a&gt; and &lt;a href=&quot;http://kb2.adobe.com/cps/890/cpsid_89094.html&quot;&gt;APSB11-04&lt;/a&gt;. If you look at the zips for these, you may notice that they offer a few files (in the web-inf/lib directory) that appear identical in name (log4j.properties, esapi.properties, validation.properties, commons-fileupload-1.2.jar, and so on.) If you had applied the later one first, you may then wonder if it&apos;s significant if you then want to apply the older one. 

Well, those files are in fact identical (I did a compare). But the files in the CFIDE associated with each hotfix are in fact quite different and so the later ones would supercede the earlier ones.

So you would NOT want to do them in the wrong order (older before newer). It&apos;s just not always clear from the technotes whether this is an issue to worry about, so I wanted to share it here. 

&lt;blockquote&gt;This is not the place for discussion of how complicated CF hotfixes are. That&apos;s been discussed to death in many places. If you didn&apos;t know, Adobe is indeed addressing the problem in the next release, currently code-named Zeus. You can read about this and 50 other currently publcized Zeus features in &lt;a href=&quot;http://carehart.org/presentations/#new_zeus&quot;&gt;a talk I did&lt;/a&gt;. And note that they have said they will be back-porting some of that to earlier releases.&lt;/blockquote&gt;

Hope it&apos;s helpful to someone. If you may have a different experience or opinion about the order of applying security hotfixes, feel free to share it.

PS I have written previously about easy mistakes you can make in applying any CF hotfixes, and how to avoid them. See &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2011/10/21/why_chfs_may_break&quot;&gt;CF911: Are you finding CF (or CF Admin) busted after applying a hotfix? Three possible reasons&lt;/a&gt;. I have also written about the &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2010/12/12/cfmyths_cumulative_hotfixes&quot;&gt;challenges of trying to &quot;skip&quot; cumulative hotfixes&lt;/a&gt;. You may want to read them if you&apos;ve not yet done so. 

But again, please hold off on any comments about the complications of CF hotfixes. There&apos;s nothing more to do than deal with the situation as it is and await Adobe offering a better solution. 
				</description>
				
				<category>admin</category>
				
				<category>hotfix</category>
				
				<category>troubleshooting</category>
				
				<pubDate>Fri, 16 Dec 2011 16:47:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2011/12/16/apply_CF_security_hotfixes_in_order_ofoldest_to_newest</guid>
				
			</item>
			
			<item>
				<title>CF911: Are you finding performance problems with CFDOCUMENT? Aware of the important LOCALURL attr.?</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2011/11/19/perf_fix_via_cfdocument_localurl_attribute</link>
				<description>
				
				This is something that I find nearly no one has talked about, as a problem and solution. Did you know that by default, a single request doing a CFDOCUMENT may cause CF to execute several additional requests, each doing a CFHTTP to grab any images on the page? even if the images &lt;strong&gt;could be found locally on the server&lt;/strong&gt;? This can be quite tragic. 

The good news is that the problem can be solved using the simple LOCALURL attribute. The bad news is that you have to do it at all, and that if you don&apos;t do it, it can have such unfortunate and unexpected impact. (And just as bad, again, is that hardly anyone has talked about it.) This entry will elaborate on the issue (and a couple of other possible CFDocument performance issues, as a bonus.)

I&apos;ve been meaning to write about the importance of this problem and solution (the LocalURL attribute) for a long time (it came out in CF8). Often when I&apos;m helping people with CF troubleshooting problems, whether on mailing lists or in my &lt;a href=&quot;http://www.carehart.org/consulting/&quot;&gt;consulting services&lt;/a&gt;, I&apos;ve been able to show that long-running requests (or an unexpectedly excessive number of requests) were sometimes due to this very problem.

&lt;h3&gt;Basics of the LocalURL attribute&lt;/h3&gt;

Before we go any further, let&apos;s start with the details of the attribute (which may surprise many). The following is extracted from &lt;a href=&quot;http://www.rupeshk.org/blog/index.php/2007/07/enhancements-to-cfdocument-in-coldfusion-8/&quot;&gt;a larger blog entry about various CFDocument improvements in CF8&lt;/a&gt; from Adobe Engineer, Rupesh Kumar, back in 2007:

&lt;blockquote&gt;
When CFDocument body contains a relative URL, ColdFusion will resolve the relative URL to an absolute URL &lt;strong&gt;and will send an HTTP request for this url&lt;/strong&gt; [emphasis, mine]. A side effect of this is  Server ends up sending HTTP request even for local URL or images that are lying on the local file system which obviously hurts the performance. In ColdFusion 8, we have added a new attribute &quot;localURL&quot; to cfdocument tag which if enabled, will try to resolve the relative URLs as file on the local machine.

&lt;ul&gt;
&lt;li&gt;localURL : &quot;true&quot; | &quot;false&quot;  It should be enabled if the images used in cfdocument body are on the local machine. This would make the cfdocument engine retrieve the images directly from the file system rather then asking the server for it over http&lt;/ul&gt;

This attribute helps reducing the load from the server so that the same web server thread can now serve user request instead of serving local images to CFDocument. This also addresses some of the &quot;missing image&quot; problems which I mentioned here. Here is a sample code using this attribute.

&lt;code&gt;
&lt;cfdocument format=&quot;PDF&quot; localUrl=&quot;true&quot;&gt; 
 &lt;table&gt;
  &lt;tr&gt;
     &lt;td&gt;bird&lt;/td&gt;
     &lt;td&gt;&lt;image src=&quot;images/bird.jpg&quot;&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
     &lt;td&gt;Rose&lt;/td&gt;
     &lt;td&gt;&lt;image src=&quot;images/rose.jpg&quot;&gt;&lt;/td&gt;
  &lt;/tr&gt;
 &lt;/table&gt;
&lt;/cfdocument&gt;
&lt;/code&gt;

&lt;/blockquote&gt;

&lt;h3&gt;So why is this an issue?&lt;/h3&gt;

It would help to make a point of clarification: CFDOCUMENT builds a document (perhaps a PDF or Word doc) on the server, from whatever CFML and/or HTML is within the tags.

As such, CF will need to &quot;get&quot; whatever images (or scripts or css files) are defined on the generated HTML page (as img src, script src, link href, etc.) so it can build the resulting &quot;document&quot; file on the server.

And the point of the dilemma (identified on this page) is that a single CFDOCUMENT with many such img src (or similar) tags will not just cause CF to look to the file system to get the files they point to. Instead, CF will get them via CFHTTP. 

Technically, the issue is that CF doesn&apos;t necessarily &quot;know&quot; that the location pointed to in the img src and similar tags *is* on the local server. So it presumes it has to get ANY of them using a CFHTTP call. That&apos;s what causes the problem, if there are many of them. Using the LOCALURL attribute tells CF instead that it SHOULD look for the files on the local filesystem and NOT do a CFHTTP to get them.

Sadly, this issue is only barely mentioned in the &lt;a href=&quot;http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7c21.html&quot;&gt;CF Docs age on CFDocument&lt;/a&gt;, and it would be easy to miss the point it&apos;s trying to make. (It says only that CF &quot;requests the server for images over HTTP even though the image files are stored locally&quot;.)

&lt;h3&gt;How some tried to workaround the problem with file:// references&lt;/h3&gt;

While looking around to see who else maybe had talked about this fix (which, as I noted, I found virtually no other references to it), I did find that some people had effectively &quot;solved&quot; the problem by telling CF to use &quot;file:///&quot; protocol references in the img src and similar tags.

Among the entries discussing this were:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ravenglass.com/blog/index.cfm/2010/6/9/Including-Images-in-a-PDF-created-in-CFDOCUMENT&quot;&gt;Including Images in a PDF created in CFDOCUMENT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.webapper.com/blog/index.php/2007/02/18/cfdocument-performance/&quot;&gt;CFDocument performance&lt;/a&gt;
&lt;li&gt;&lt;a href=&quot;http://www.coldfusionmuse.com/index.cfm/2006/5/30/cfdocument.file&quot;&gt;You CAN Use the File System With Cfdocument (Who Knew)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

It&apos;s understandable that people figured it out as a work-around, and perhaps someone even started sharing the idea before CF8 added this attribute, but the LOCALURL would seem generally the way to go.

&lt;h3&gt;Some other CFDOCUMENT performance resources&lt;/h3&gt;

Though not related to the LocalURL attribute, there are some other things that may lead to performance problems.

First, those on CF Standard (as opposed to Enterprise or Developer edition) should know that CFDocument is one of several tags that are single-threaded through CF&apos;s &quot;Enterprise Feature Router&quot; (EFR).

Second, there are certainly still other possible CFDocument performance issues, and the following other resources address some of those:

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.coldfusionmuse.com/index.cfm/2006/2/16/cfdocument.performance&quot;&gt;Cfdocument and Performance&lt;/a&gt;, from Mark Kruger
&lt;li&gt;&lt;a href=&quot;http://coldfused.blogspot.com/2007/12/images-and-cfdocument-performance.html&quot;&gt;Images and CFDocument performance&lt;/a&gt;, also by Rupesh Kumar
&lt;li&gt;&lt;a href=&quot;http://coldfused.blogspot.com/2006/09/workaround-for-cfdocument-missing_19.html&quot;&gt;A workaround for cfdocument missing images&lt;/a&gt;, by Rupesh Kumar
&lt;li&gt;&lt;a href=&quot;http://coldfused.blogspot.com/2005/11/missing-images-in-cfdocument.html&quot;&gt;Missing images in CFDocument&lt;/a&gt;, by Rupesh Kumar
&lt;/ul&gt;

Hope any or all of the info above may be helpful to some readers. Let me know what you think. 
				</description>
				
				<category>performance</category>
				
				<category>cf911</category>
				
				<category>troubleshooting</category>
				
				<pubDate>Sat, 19 Nov 2011 15:47:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2011/11/19/perf_fix_via_cfdocument_localurl_attribute</guid>
				
			</item>
			</channel></rss>
