<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
			<channel>
			<title>The MKVille Blog</title>
			<link>http://www.mkville.com/blog/index.cfm</link>
			<description>The personal blog of Mark Mazelin</description>
			<language>en-us</language>
			<pubDate>Wed, 11 Nov 2009 10:46:27-0500</pubDate>
			<lastBuildDate>Fri, 15 May 2009 08:51:00-0500</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>blogger@mkville.com</managingEditor>
			<webMaster>blogger@mkville.com</webMaster>
			
			
			
			
			
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Mkville" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
				<title>CFPayment 0.9b Released</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/GsyY0HdqGWE/CFPayment-09b-Released</link>
				<description>
				
				I have been working with &lt;a href="http://www.ghidinelli.com"&gt;Brian Ghidinelli&lt;/a&gt; for over a year on putting together, testing, and implementing the &lt;a href="http://cfpayment.riaforge.org"&gt;CFPayment&lt;/a&gt; ColdFusion Payment Processing API. Brian and I have both been using it in production for several months with great success. You can see the details of his &lt;a href="http://www.ghidinelli.com/2009/05/15/announcing-cfpayment-beta-easy-payment-api"&gt;announcement&lt;/a&gt;, then go to RIA Forge to download and try it yourself!
				
				</description>
						
				
				<category>CFPayment</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Fri, 15 May 2009 08:51:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2009/5/15/CFPayment-09b-Released</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2009/5/15/CFPayment-09b-Released</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>Signed up for HighEdWeb Conference 2008</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/FRZCLpxT6z4/Signed-up-for-HighEdWeb-Conference-2008</link>
				<description>
				
				For those of us in higher education, it's important to stay on top of what other institutions are doing. I usually attend two conferences a year and try to vary the target of those conferences. My last two have been Adobe- and ColdFusion-specific (MAX 2007 and CFUnited 2008), so this fall I'm swinging the pendulum back to a more general web development conference. The cool thing about this one is that I'll be rubbing shoulders with others who work in the higher education community rather than the business world. We can learn many things from those in general business, but there are specific things that the academic world does differently than business, so it is helpful to attend a conference of this sort on a regular basis.

I last attended the &lt;a href="http://www.highedweb.org/2008/" target="_blank"&gt;HighEdWeb Conference&lt;/a&gt; in 2004, so I'm looking forward to going again. Are any of you in Higher Education? Anyone else going to HighEdWeb? Early registration ends today, so if you are planning on going, register today to save $125!
				
				</description>
						
				
				<category>Web Design</category>				
				
				<category>Conference</category>				
				
				<pubDate>Fri, 15 Aug 2008 09:32:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/8/15/Signed-up-for-HighEdWeb-Conference-2008</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/8/15/Signed-up-for-HighEdWeb-Conference-2008</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>New Custom Tag and CFC case sensitivity on linux could be crippling</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/TTdsxzy0QNo/New-Custom-Tag-and-CFC-case-sensitivity-on-linux-could-be-crippling</link>
				<description>
				
				I received a response back from Adobe early this morning about the new case sensitivity issue that I have been &lt;a href="http://www.mkville.com/blog/index.cfm/2008/7/16/ColdFusion-801-gotchas--Custom-Tag-Case-Issue"&gt;dealing with&lt;/a&gt; that appeared in a hot fix applied to a ColdFusion 8.0.1 instance.

The response pointed me to a newly created Adobe Tech Note: &lt;a href="http://www.adobe.com/go/kb403862" target="_blank"&gt;http://www.adobe.com/go/kb403862&lt;/a&gt;. The tech note, entitled "ColdFusion 8 Case Sensitivity Behavior Change on UNIX", states that the Adobe made a core behavior change in linux/unix-based systems in regards to case sensitivity.

What is doesn't really explain is what the change means for developers. For instance, the change creates a new requirement to match custom tag calls and CFC CreateObject calls to the case of the filename. Also, it doesn't explain that this may in fact break existing code (perhaps even purchased, encrypted code) that may have even previously passed all kinds of QA testing.

For example, if you have a custom tag named "mycustomtag.cfm", you can no longer can you do this:
&lt;code&gt;
&lt;cf_MyCustomTag&gt;
&lt;/code&gt;

You must do this instead:
&lt;code&gt;
&lt;cf_mycustomtag&gt;
&lt;/code&gt;

In addition, if you have a cfc named "mybean.cfc", you can no longer invoke it like this:
&lt;code&gt;
&lt;cfset myBean=CreateObject("component", "path.to.my.bean.MyBean").init()&gt;
&lt;/code&gt;

but rather like this:
&lt;code&gt;
&lt;cfset myBean=CreateObject("component", "path.to.my.bean.mybean").init()&gt;
&lt;/code&gt;

While that may not seem like a huge issue, we've been doing mixed case for years and years without issue. Finding all custom tag occurrences throughout our code will be difficult and time consuming. 

One thing I haven't tested is if this affect custom tags imported via the cfimport tag. If cfimport is affected also, it could be nigh-unto-impossible to find all the occurrences because there would be nothing easy to search for.

Adobe, please rethink this decision and provide a way to fix the issue with resolving ColdFusion Component (CFC) paths that started this process without breaking backward compatibility of our code.

Please know that I am not trying to rant on Adobe or ColdFusion too much, but do desire to bring this issue to the attention of the community in case others are having the same issue. I will post some "happier" blog entries soon to offset these somewhat negative ones that have cropped up this week.
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Fri, 18 Jul 2008 07:59:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/7/18/New-Custom-Tag-and-CFC-case-sensitivity-on-linux-could-be-crippling</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/7/18/New-Custom-Tag-and-CFC-case-sensitivity-on-linux-could-be-crippling</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>Custom Tag and CFC Case Issue Followup and Workaround</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/gqT0ntxbwuA/Custom-Tag-and-CFC-Case-Issue-Followup-and-Workaround</link>
				<description>
				
				In my &lt;a href="http://www.mkville.com/blog/index.cfm/2008/7/16/ColdFusion-801-gotchas--Custom-Tag-Case-Issue"&gt;previous post&lt;/a&gt;, I discovered an issue with ColdFusion 8.0.1 + Cumulative HotFix 1 that was causing me a major headache. While the custom tag issue wasn't too bad, the CFC invocation case sensitivity was huge. It stopped me in my tracks while trying to develop a ColdSpring + Transfer app that relies on scores of CFCs to be invoked, most using mixed case for the invocation. While grasping at straws trying to fix this issue, I began back-revving the updates I had applied, starting with the &lt;a href="http://www.adobe.com/go/kb403622" target="_blank"&gt;cumulative hot fix 1&lt;/a&gt;. Lo and behold, after remove the jar file and restarting ColdFusion, the problem disappeared!!! Looking through the "fixes" that are covered by the cumulative hot fix 1, my guess is that it would be related to the &lt;a href="http://www.adobe.com/go/kb403433" target="_blank"&gt;Patch for Apache Connector ArithmeticException Divide By Zero&lt;/a&gt;. The details say that  "... error occurs as ColdFusion tries to resolve ColdFusion Component (CFC) paths." and references "coldfusion.util.CaseInsensitiveMap". My guess is that Adobe messed something up with the fix that broke normal functionality. I'll have to follow up with someone to be certain and to hopefully get this fixed soon. In the meantime, I hope I don't need anything include in the hot fix list!
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 16 Jul 2008 14:07:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/7/16/Custom-Tag-and-CFC-Case-Issue-Followup-and-Workaround</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/7/16/Custom-Tag-and-CFC-Case-Issue-Followup-and-Workaround</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>ColdFusion 8.0.1 gotchas - Custom Tag Case Issue</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/TjJOpEVfNLw/ColdFusion-801-gotchas--Custom-Tag-Case-Issue</link>
				<description>
				
				Continuing with my 8.0.1 gotchas, this is the biggest and worst offender of the bunch. I'm running ColdFusion on linux (Red Hat Enterprise Linux 4 Updater 5), installed in server mode running with Apache 2. 

After the 8.0.1 upgrade, all calls to custom tags that uses a different case in the CF tag (cf_MyCustomTag) than the filename (mycustomtag.cfm) stopped working. The updater appears to require exact case matching. Note this also affects CreateObject() on cfcs (the actual CFC never had to match case). 

This is a huge change from previous versions and something that was not mentioned in any of the documentation for the updater.

I'm doing more investigation to find out if there is any resolution other than changing all my references to use exact case matching.

&lt;em&gt;Note: The ColdFusion docs do mention that custom tag &lt;strong&gt;filenames&lt;/strong&gt; must be lowercase on linux, but (at least in previous versions) the ColdFusion tag that calls that custom tag need not match.&lt;/em&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 16 Jul 2008 12:33:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/7/16/ColdFusion-801-gotchas--Custom-Tag-Case-Issue</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/7/16/ColdFusion-801-gotchas--Custom-Tag-Case-Issue</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>ColdFusion 8.0.1 gotchas - ImageNew</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/PlTcW7-b61k/ColdFusion-801-gotchas--ImageNew</link>
				<description>
				
				In ColdFusion 8.0, the following code worked:

&lt;code&gt;
&lt;cfset image=ImageNew("http://www.mycompany.com/task/getimage.cfm?mode=thumbnail")&gt;
&lt;/code&gt;

Apparently some &lt;a href="http://www.bennadel.com/blog/766-Learning-ColdFusion-8-CFImage-Part-I-Reading-And-Writing-Images.htm" target="_blank"&gt;others&lt;/a&gt; (scroll down to the section discussing "...image format is not supported on this operating system...") had this problem before, but this code has successfully run for several months until the update. The cfm file returns a content type of image/jpeg, so perhaps that's why it was working. In order to get it working now, I had to to change the URL to this:

&lt;code&gt;
&lt;cfset image=ImageNew("http://www.mycompany.com/task/getimage.cfm/thumbnail/file=image.jpg")&gt;
&lt;/code&gt;

I also had to update the cfm file so the mode is retrieved from the cgi.path_info. The passed filename is basically ignored, but key to ColdFusion 8.0.1 accepting the URL.
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 16 Jul 2008 08:28:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/7/16/ColdFusion-801-gotchas--ImageNew</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/7/16/ColdFusion-801-gotchas--ImageNew</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>ColdFusion 8.0.1 gotchas - CFExecute</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/B0E7oevF0wQ/ColdFusion-801-gotchas--CFExecute</link>
				<description>
				
				I recently upgraded our CF 8 server to CF 8.0.1 plus the cumulative hotfix 1. I'm blogging threw a couple issues we ran into that I thought may help others.

&lt;strong&gt;CFExecute&lt;/strong&gt;

The CFExecute tag changed, but according to the docs, all that was changed was to add two new attributes: errorFile and errorVariable. Unfortunately this change caused a side effect to some code I was use. We had code like this:

&lt;code&gt;
&lt;cfsavecontent variable="exResult"&gt;&lt;cfoutput&gt;
&lt;cfexecute
  name="/path/to/executable"
  arguments="-some arguments"
  timeout="30"
&gt;
&lt;/cfexecute&gt;
&lt;/cfoutput&gt;&lt;/cfsavecontent&gt;
&lt;/code&gt;

This would capture the standard output of the executable's results in the exResult variable. This has worked for years across multiple versions of ColdFusion. CF 8.0.1 broke it. After the update, the exResult variable was blank. No errors, just no data. After much head scratching, the fix was to get rid of the cfsavecontent tag and use the variable attribute:

&lt;code&gt;
&lt;cfexecute
  name="/path/to/executable"
  arguments="-some arguments"
  timeout="30"
  variable="exResult"
&gt;
&lt;/code&gt;

Apparently the variable attribute has been around since CF MX 6.1, but somehow our code never was updated to use it. Well, it is apparently required now.
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 16 Jul 2008 07:53:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/7/16/ColdFusion-801-gotchas--CFExecute</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/7/16/ColdFusion-801-gotchas--CFExecute</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>Ready, set, CFUnited is a go - ColdFusion 9 Sneak Peaks!</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/qWycbGyamyE/Ready-set-CFUnited-is-a-go--ColdFusion-9-Sneak-Peaks</link>
				<description>
				
				After muddling through the first 30 minutes at the start of an introductory keynote, Ben Forta and Adam Lehman from Adobe really took off during their keynote talking about the future of ColdFusion. This is early sneak peaks, so this may or may not be in the final product and will likely change in syntax and functionality along the way. Here are some highlights that stuck out in my mind:

&lt;ul&gt;
&lt;li&gt;ColdFusion is doing very well; the best since Adobe has taken over the product&lt;/li&gt;
&lt;li&gt;CF Open Process Initiative - Public bug database and enhancement requests' Customer Advisory Boards: community leaders, focused committess on CFML Language, RIA, frameworks and more; early access to alpha/beta releases&lt;/li&gt;
&lt;li&gt;Centaur (ColdFusion 9) - advancing CFML, improved integration story, improving the developer experience (more this last point at MAX); integration: especially flex, air, etc.&lt;/li&gt;
&lt;li&gt;Growing the ColdFusion base (problem of the lack of ColdFusion developers) - [new announcement] ColdFusion will be freely available for students and faculty for academic use, similar to the model to Flex Builder for Education; plus training materials, etc.; product is full unrestricted version; coming soon;&lt;/li&gt;
&lt;li&gt;Protecting the integrity of CFML (problem of language framentation and inconsistency over the years) - [new announcement]  Newly formed "CFML Lnagugage Advisory Committee" to help define the rules and guidelies around the use and evolution of CFML; include Adobe plus outside community leaders (Sean Corfield, Ben Forta [Adobe], Sanjeev Kumar [Adobe], Gert Franz [Railo], Ray Camden, and Rob Brooks-Bilson)&lt;/li&gt;
&lt;/ul&gt;

They also gave a plug for the upcoming ColdFusion 9. It looks like it will be released in 2009.

&lt;ul&gt;
&lt;li&gt;Create UDFs and CFC methods using &amp;lt;CFSCRIPT&amp;gt;
&lt;ul&gt;&lt;li&gt;argument definition and validation, roles, access, return types&lt;/li&gt;
&lt;li&gt;create CFCs using cfscript&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Explicit LOCAL scope keeps local variables local
&lt;ul&gt;&lt;li&gt;&amp;lt;cfset LOCAL.var=1&amp;gt;&lt;/li&gt;
&lt;li&gt;using "var" still works&lt;/li&gt;
&lt;li&gt;var statement can be used anywhere within function&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;default settings within a CFC (so all variables will be scoped within that setting)&lt;/li&gt;
&lt;li&gt;New tag: &lt;strong&gt;CFFINALLY&lt;/strong&gt; - always runs, located right after a &amp;lt;CFCATCH&amp;gt;&lt;/li&gt;
&lt;li&gt;New tag: &lt;strong&gt;CFCONTINUE&lt;/strong&gt; - brought in from cfscript; sends back to top of loop without breaking out of loop&lt;/li&gt;
&lt;li&gt;new and import keywords: creating components&lt;/li&gt;
&lt;li&gt;implicit constructors: &amp;lt;cfcomponent init="functionName"&amp;gt;, or method named init(), or a method with same name as component&lt;/li&gt;
&lt;li&gt;implicit getters and setters using &amp;lt;cfproperty&amp;gt; attributes; hand-written methods overwrite implict methods&lt;/li&gt;
&lt;li&gt;new server.cfc file with OnServerStart and OnServerEnd; one per instance; all applications inherit from it&lt;/li&gt;
&lt;li&gt;Centaur will make AIR integration easy&lt;/li&gt;
&lt;li&gt;New Flex-CF integration - import &lt;strong&gt;com.adobe.coldfusion.*&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;code&gt;
&lt;cf:DataSource id="myDs" 
    dataSource="cfartgallery
    offline="true"
    valueObject="com.adobe.demo.artgallery.Artist"&gt;
  &lt;cf:Query name="create" sql="INSERT INTO artists..." /&gt;
  &lt;cf:Query name="read" sql="SELECT * FROM artists where artistid="@artistid" /&gt;
  ...
&lt;/cf:DataSource&gt;
&lt;/code&gt;
&lt;ul&gt;&lt;li&gt;When online, it will update the CF datasource directly; when offline, it will update a local SQL Lite copy, then sync when the app goes online again--cool stuff!&lt;/li&gt;
&lt;li&gt;Databases will have an integrated ORM using 100% hibernate using CFCs&lt;/li&gt;
&lt;/ul&gt;
&lt;code&gt;
artist.cfc:
&lt;cfcomponent orm="true" datasource="cfartgallery"&gt;&lt;/cfcomponent&gt;

index.cfm:
&lt;cfsript&gt;
hibernate=request.getORMSession();
artist = hibernate.getById(33, "com.adobe.demo.artist");
artist.setFirstName("Mark");
artist = hibernate.save(artist);
&lt;/cfscript&gt;
&lt;/code&gt;
&lt;ul&gt;&lt;li&gt;That's all you need! CF will draw the table name from the name of the CFC.&lt;/li&gt;
&lt;li&gt;it will generate hibernate XML behind the scenes&lt;/li&gt;
&lt;li&gt;it will also add table columms on the fly based on new cfproperty tags and attributes&lt;/li&gt;
&lt;li&gt;they will somehow integrate cfquery with this ORM technology to be able to go back-and-forth between the two (if I understood them correctly)&lt;/li&gt;
&lt;/ul&gt;

All-in-all some very cool stuff. Thanks for the demo guys!
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>CFUnited</category>				
				
				<pubDate>Wed, 18 Jun 2008 12:45:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/6/18/Ready-set-CFUnited-is-a-go--ColdFusion-9-Sneak-Peaks</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/6/18/Ready-set-CFUnited-is-a-go--ColdFusion-9-Sneak-Peaks</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>Arrived at CFUnited 2008</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/WOrZNzk91y4/Arrived-at-CFUnited-2008</link>
				<description>
				
				I realized today that I have blogged very little recently. And once again I purpose to blog during the CFUnited conference. I usually blog a bunch during the conference then taper off again as I get back into my daily routine. Someday I'll get blogging into that routine..

For now, I'll be enjoying the palatial Washington Convention Center. Flights went well, but then it took several hours to actually get downtown from BWI. Reagan airport is MUCH more convenient. Oh well! Off to check in to the hotel and find some dinner before MiniMax 8.
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>CFUnited</category>				
				
				<pubDate>Tue, 17 Jun 2008 16:37:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/6/17/Arrived-at-CFUnited-2008</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/6/17/Arrived-at-CFUnited-2008</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>RegExer - The online regular expression tester for ColdFusion</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/f7-e8NVp2KY/RegExer--The-online-regular-expression-tester-for-ColdFusion</link>
				<description>
				
				I published a new project to &lt;a href="http://www.riaforge.org" target="_blank"&gt;RIA Forge&lt;/a&gt; today named "&lt;a href="http://regexer.riaforge.org" target="_blank"&gt;RegExer&lt;/a&gt;." Now I know there are &lt;a href="http://www.coldfusionjedi.com/index.cfm/2006/11/7/Regex-Coach" target="_blank"&gt;many ways to test regular expressions&lt;/a&gt;, including some on the web, stand-alone apps, and even &lt;a href="http://brosinski.com/regex/index.php" target="_blank"&gt;eclipse plug-ins&lt;/a&gt;, but I wanted one that I could (1) run locally on my development machine and (2) would be tested directly against ColdFusion to be assured of the correct matching algorithm. 

The online application that came closest to what I wanted was &lt;a href="http://www.jonhartmann.com/programming/regex.cfm" target="_blank"&gt;Jon Hartmann's CFREGEX Tester&lt;/a&gt;, but there didn't appear to be anywhere for me to download it nor any good way to contact Jon about sharing the code. So based off some of his UI, I forged my own.

In addition, I added a few features to Jon's that I wanted/needed: (1) the ability to &lt;strong&gt;see&lt;/strong&gt; the matching string, (2) the ability to run the test via ajax, and (3) the ability to keep track of the expressions I was testing.

I have tested it with ColdFusion 8 since that is my development environment, but it should work fine in ColdFusion 7 by changing one line of code from using the CF8 built-in function &lt;strong&gt;SerializeJSON()&lt;/strong&gt; to invoking the &lt;strong&gt;json&lt;/strong&gt; component (included in the zip). If someone has ColdFusion 7 and wants to give it a whirl, it would be great to know if that's the only change that needs to happen.

Any other features others have wished for?
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>RegExer</category>				
				
				<pubDate>Wed, 23 Apr 2008 13:05:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/4/23/RegExer--The-online-regular-expression-tester-for-ColdFusion</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/4/23/RegExer--The-online-regular-expression-tester-for-ColdFusion</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>Apache Derby Embedded datasource in ColdFusion on Linux</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/YUxNbXXkCO0/Apache-Derby-Embedded-datasource-in-ColdFusion-on-Linux</link>
				<description>
				
				I'm working on moving an application over from my development machine (WinXp Pro) to my testing/production servers (RedHat Linux). The application uses an Apache Derby Embedded datasource in ColdFusion 8. Setting up the datasource on my Windows machine worked like a charm, but when I went to do the same thing on the Linux machines, the ColdFusion administrator interface shows "Data &amp; Services &gt; Datasources &gt; Other" when I select "Apache Derby Embedded" as the datasource type on the main Datasource screen for adding datasources. On my Windows machine, it goes to the "Data &amp; Services &gt; Datasources &gt; Apache Derby Embedded" screen. In order to work around this bug, I used the following data on the "Other" datasource entry screen to hook up to the Derby database:
&lt;code&gt;
JDBC URL: jdbc:derby:/the/datasource/path/databasefolder;create=true
Driver Class: org.apache.derby.jdbc.EmbeddedDriver
Driver Name: Apache Derby Embedded
&lt;/code&gt;

The &lt;strong&gt;create=true&lt;/strong&gt; is the same as checking the box for &lt;strong&gt;Create Database&lt;/strong&gt; on the normal datasource entry screen in Windows. Seems to work like a charm!
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Tue, 01 Apr 2008 09:10:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/4/1/Apache-Derby-Embedded-datasource-in-ColdFusion-on-Linux</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/4/1/Apache-Derby-Embedded-datasource-in-ColdFusion-on-Linux</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>The future of ColdFusion -- there is no doubt!</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/0OjIbeLLlIg/The-future-of-ColdFusion--there-is-no-doubt</link>
				<description>
				
				Good &lt;a href="http://www.fusionauthority.com/News/4729-community-chronicles-0-2.htm"&gt;article &lt;/a&gt; posted on Fusion Authority Community Chronicles about the future of ColdFusion recapping an interview between Jared Rypka-Hauer and former Adobe CEO Bruce Chizen.
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 05 Mar 2008 14:55:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/3/5/The-future-of-ColdFusion--there-is-no-doubt</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/3/5/The-future-of-ColdFusion--there-is-no-doubt</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>Simple Form Processing and E-mailing with CFFormMail</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/yWFJyVel1PQ/Simple-Form-Processing-and-Emailing-with-CFFormMail</link>
				<description>
				
				I posted a new project today to RIA Forge called &lt;a href="http://cfformmail.riaforge.org/"&gt;CFFormMail&lt;/a&gt;. This project is a ColdFusion port of the venerable formmail Perl script found on &lt;a href="http://www.scriptarchive.com/readme/formmail.html" target="_blank"&gt;Matt's Script Archive&lt;/a&gt;. Every attempt was made to make this a drop-in replacement for the perl script, so that the only necessary change in an existing html form is to modify the form action from formmail.pl to formmail.cfm.

Beyond the port, some new functionality has been added, most significantly is integration with Jake Munson's &lt;a href="http://cfformprotect.riaforge.org/" target="_blank"&gt;CF Form Protect&lt;/a&gt; to help deter form spam. I also began the integration of language resource bundles, but currently only have an English translation.

I created this processing engine last year and had planned on posting it on RIA Forge, but completely forgot about doing so until I read Ben Nadel's recent post on &lt;a href="http://www.bennadel.com/blog/1136-Generic-Form-Processing-Emailing-In-ColdFusion.htm" target="_blank"&gt;Generic Form Processing and Emailing in ColdFusion&lt;/a&gt;. Mine was designed as a drop-in replacement for formmail.pl  (but can certainly be used on new forms!) with support for all the parameters in the original Perl version, while the code in Ben's post appears to have a subset of the functionality of the Perl version plus the ability to handle file uploads.

Hopefully you will find this script useful. I welcome any suggestions for improvements and also any additional language translations you would like to include (submit them translated also). Please post suggestions to the forums over at the project site.
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>CFFormMail</category>				
				
				<pubDate>Mon, 04 Feb 2008 11:53:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/2/4/Simple-Form-Processing-and-Emailing-with-CFFormMail</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/2/4/Simple-Form-Processing-and-Emailing-with-CFFormMail</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>ColdFusion 8 Random Slowness? Downgrade the JVM!</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/TqQCkZk-Yy8/ColdFusion-8-Random-Slowness-Downgrade-the-JVM</link>
				<description>
				
				I upgraded our main production server to ColdFusion 8 during the Christmas holidays. We had been running it on our beta server for several weeks without issue. Everything seemed to be humming along fine, until the student population returned. We began having intermittent slowness, causing intermittent timeouts, and headaches with several of our apps that wouldn't finish processing because of the timeouts (e.g. credit card transactions!). Tracking down the problem proved quite difficult. We would tried tweaking network settings (firewall settings, VLAN settings, traffic priority), increasing timeouts on some pages (to 120 seconds!) to make sure they complete, etc. While some of these changes seemed to help, the problem did not go away. 

I began to suspect that ColdFusion's default &lt;a href="http://corfield.org/blog/index.cfm/do/blog.entry/entry/Java_6_and_ColdFusion_8"&gt;Java 6&lt;/a&gt; might be to blame since many of the timeouts were occurring with &lt;a href="http://www.reactorframework.com/"&gt;reactor&lt;/a&gt;-based applications. I added some &lt;a href="http://www.alagad.com/go/blog-entry/the-heart-of-the-matter-the-jvm"&gt;JVM  logging&lt;/a&gt;, but not being a JVM garbage collection log guru, I couldn't really tell if that was really the issue or not. 

In a bit of frustration, I decided to back-rev the JVM as Sean Corfield suggested. I decided to go with Sun's latest &lt;a href="http://java.sun.com/javase/downloads/index_jdk5.jsp"&gt;1.5 JRE&lt;/a&gt;, version 1.5.0-14. I installed it, &lt;a href="http://www.forta.com/blog/index.cfm?mode=entry&amp;entry=A61BAA93-3048-80A9-EF7306C155FD29F4"&gt;set the JVM&lt;/a&gt; (or &lt;a href="http://www.forta.com/blog/index.cfm?mode=e&amp;entry=1026"&gt;here&lt;/a&gt; for JRUN installs), and restarted ColdFusion. ColdFusion hummed along as normal, and after checking some internal indicators over the weekend, it appears that the random slowness/timeouts have disappeared.

Hopefully this issue can be resolved in either a ColdFusion updater or the next version of Sun's JVM (it's supposed to be fixed in 1.7, but they apparently haven't back-revved it into 1.6).
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 04 Feb 2008 08:27:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/2/4/ColdFusion-8-Random-Slowness-Downgrade-the-JVM</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/2/4/ColdFusion-8-Random-Slowness-Downgrade-the-JVM</feedburner:origLink></item>
			
		 	
			
			
			<item>
				<title>Querying Excel files in ColdFusion Part II</title>
				<link>http://feedproxy.google.com/~r/Mkville/~3/F7SzipF3abs/Querying-Excel-files-in-ColdFusion-Part-II</link>
				<description>
				
				After penning my first blog entry about &lt;a href="http://www.mkville.com/blog/index.cfm/2008/1/10/Querying-Excel-files-in-ColdFusion"&gt;Querying Excel files in ColdFusion&lt;/a&gt;, a friend pinged and asked if this would work with arbitrary files that users could upload. Since I was using an ODBC datasource that pointed directly to the Excel file, I told him that really wouldn't work. I then remembered that Ben Nadel had created a &lt;a href="http://www.bennadel.com/blog/624-ColdFusion-POIUtility-cfc-Updates-And-Bug-Fixes.htm"&gt;ColdFusion wrapper for the Apache POI utility&lt;/a&gt; that can read and write  Excel files. 

After discussing this with my friend, I decided to explore the POI Utility myself. It turns out that Ben made things quite easy. The code to get a ColdFusion query of the Excel worksheet with my data is as simple as this:
&lt;code&gt;
&lt;cfset objPOIUtility = CreateObject("component","POIUtility").Init() /&gt;
&lt;cfset strFilePath = ExpandPath( "./rooms.xls" ) /&gt;
&lt;!--- grab the second Excel worksheet (use "1" b/c it is zero-based) ---&gt;
&lt;cfset RoomSheet = objPOIUtility.ReadExcel(FilePath = strFilePath,HasHeaderRow = true, SheetIndex = 1) /&gt;
&lt;!--- get the ColdFusion query object ---&gt;
&lt;cfset qExcel=RoomSheet.query&gt;
&lt;/code&gt;
Those few lines replace the &amp;lt;cfquery&amp;gt; I had that queried the Excel file through ODBC.

There are two huge benefits to doing it this way:
&lt;ol&gt;&lt;li&gt;No need for an ODBC connection to the Excel sheet&lt;/li&gt;
&lt;li&gt;Which means I don't have to run this on Windows (I develop on Windows, but my production server is Linux)&lt;/li&gt;&lt;/ol&gt;

There is one downside that I found: the utility creates the ColdFusion query with generic column names rather than the names I used in the spreadsheet. So I have to refer to the fields using "Column1", "Column2", etc. It's a little thing that I can get over, but it would be nicer to use the column headers instead.

One last item to note. When using the ODBC connection, I had to close the Excel file before reading it. With the POI Utility, I can read files that are currently open in Excel. Nice!
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Thu, 10 Jan 2008 14:53:00-0500</pubDate>
				<guid isPermaLink="false">http://www.mkville.com/blog/index.cfm/2008/1/10/Querying-Excel-files-in-ColdFusion-Part-II</guid>
				
			<feedburner:origLink>http://www.mkville.com/blog/index.cfm/2008/1/10/Querying-Excel-files-in-ColdFusion-Part-II</feedburner:origLink></item>
			
		 	
			</channel></rss>
