<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>Stephen (Steve) Withington - ColdFusion</title>
			<link>http://www.stephenwithington.com/blog/index.cfm</link>
			<description>Blog Thoughts and Ramblings of a ColdFusion Programmer/Developer</description>
			<language>en-us</language>
			<pubDate>Wed, 08 Sep 2010 08:49:52 -0700</pubDate>
			<lastBuildDate>Fri, 13 Aug 2010 12:09:00 -0700</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>steve@stephenwithington.com</managingEditor>
			<webMaster>steve@stephenwithington.com</webMaster>
			
			
			
			
			
			<item>
				<title>Learn Flex, ColdFusion and Mura CMS at BFlex/BFusion 2010</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/8/13/Learn-Flex-ColdFusion-and-Mura-CMS-at-BFlexBFusion-2010</link>
				<description>
				
				&lt;p&gt;It&apos;s official, I&apos;ll be presenting two (2) hands-on classes at &lt;a href=&quot;http://bflex.info/&quot; target=&quot;_blank&quot;&gt;BFlex/BFusion 2010&lt;/a&gt; in September. If you&apos;re interested in picking up some &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura&lt;/a&gt; skills (or &lt;a href=&quot;http://bflex.info/bflex-10&quot; target=&quot;_blank&quot;&gt;Flex&lt;/a&gt; and/or &lt;a href=&quot;http://bflex.info/bfusion-10&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt; too!), be sure to at least book your hotel room today! Learn more about this awesome two-day, hands-on training event at &lt;a href=&quot;http://bflex.info&quot; target=&quot;_blank&quot;&gt;http://bflex.info&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Listed below are class descriptions for the presentions I&apos;ll be instructing. Hope to see you there!&lt;/p&gt;
&lt;h3&gt;Mura CMS for the Front-End Developer&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Mura is a comprehensive web-based content management system  (CMS) that allows organizations to publish and control web content quickly and  easily. As an open-source ColdFusion-powered CMS, Mura is a great choice for  your next web project.&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Overview:&lt;/h4&gt;
&lt;p&gt;In 90-minutes we&apos;ll attempt to convert an existing HTML/CSS  design into a Mura CMS site theme. Hopefully, you&apos;ll get a basic understanding  of how to create and modify Mura CMS templates and CSS to create your site&apos;s  layouts and design.&lt;/p&gt;
&lt;h4&gt;Pre-Requisites:&lt;/h4&gt;
&lt;ul&gt;
	&lt;li&gt;A working installation of Mura CMS on your laptop (very  important!)&lt;/li&gt;
	&lt;li&gt;Working knowledge of CFML, CSS and HTML&lt;/li&gt;
	&lt;li&gt;Firebug for Firefox (not necessary, but definitely handy)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Mura CMS for the Back-End Programmer&lt;/h3&gt;
&lt;p&gt; &lt;em&gt;Mura is a comprehensive web-based content management system  (CMS) that allows organizations to publish and control web content quickly and  easily. As an open-source ColdFusion-powered CMS, Mura is a great choice for  your next web project.&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;Overview:&lt;/h4&gt;
&lt;p&gt;In 90-minutes we&apos;ll attempt to learn some fundamental principles  at work in Mura CMS and how to programmatically manipulate, extend and  customize Mura CMS.&lt;/p&gt;
&lt;h4&gt;Pre-Requisites:&lt;/h4&gt;
&lt;ul&gt;
	&lt;li&gt;A working installation of Mura CMS on your laptop (very  important!)&lt;/li&gt;
	&lt;li&gt;Understanding of CFML, and preferably some experience with  object-oriented programming&lt;/li&gt;
&lt;/ul&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Flex</category>				
				
				<category>Presentations</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Fri, 13 Aug 2010 12:09:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/8/13/Learn-Flex-ColdFusion-and-Mura-CMS-at-BFlexBFusion-2010</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>New Plugin for Mura CMS: MuraMetaGenerator</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/7/29/New-Plugin-for-Mura-CMS-MuraMetaGenerator</link>
				<description>
				
				&lt;p&gt;In honor of Mura&apos;s new and improved &lt;a href=&quot;http://www.getmura.com/index.cfm/app-store&quot; target=&quot;_blank&quot;&gt;App Store&lt;/a&gt;, I&apos;ve release another plugin for Mura CMS into the wild called &lt;a href=&quot;http://www.getmura.com/index.cfm/app-store/apps/murametagenerator/&quot; target=&quot;_blank&quot;&gt;MuraMetaGenerator&amp;trade;&lt;/a&gt;. In a nutshell, this allows Mura CMS to auto-generate meta keywords and descriptions for your pages.&lt;/p&gt;
&lt;h3&gt;Why Should I Use This?&lt;/h3&gt;
&lt;p&gt;There could be a number of reasons why someone would want to use MuraMetaGenerator&amp;trade;. One of the best reasons is that most Authors and Editors either don&apos;t have the time and/or the knowledge of what information to put in these fields to begin with.&lt;/p&gt;
&lt;p&gt;Also, since search engines change their algorithms daily and actually rely less and less on meta keywords and meta descriptions, why not spend your time going through the actual content of your pages and making sure your content contains the information you want indexed by search engines? After all, MuraMetaGenerator&amp;trade; derives its information based on the actual page content which means you&apos;ll be following &apos;White Hat&apos; Search Engine Optimization (SEO) techniques so your search engines rankings will most likely grow organically over time.&lt;/p&gt;
&lt;p&gt;So go ahead and let &lt;a href=&quot;http://www.getmura.com/index.cfm/app-store/apps/murametagenerator/&quot; target=&quot;_blank&quot;&gt;MuraMetaGenerator&amp;trade;&lt;/a&gt; do it for you! You can grab it from &lt;a href=&quot;http://www.getmura.com/index.cfm/app-store/apps/murametagenerator/&quot; target=&quot;_blank&quot;&gt;http://www.getmura.com/index.cfm/app-store/apps/murametagenerator/&lt;/a&gt;&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Mura Plugins</category>				
				
				<category>Search Engine Optimization</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Thu, 29 Jul 2010 12:48:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/7/29/New-Plugin-for-Mura-CMS-MuraMetaGenerator</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>BFusion/BFlex 2010: ColdFusion and Flex Training at Indiana University</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/7/26/BFusionBFlex-2010-ColdFusion-and-Flex-Training-at-Indiana-University</link>
				<description>
				
				&lt;p&gt;Looking for some live, hands-on ColdFusion and/or Flex training and education? Then you&apos;ll want to attend &lt;a href=&quot;http://bflex.info/&quot; target=&quot;_blank&quot;&gt;BFusion/BFlex 2010&lt;/a&gt;. The event is hosted in Bloomington, Indiana at none other than the Indiana University campus! The event will be held Saturday, September 11, 2010 and Sunday, September 12, 2010. Mark your calendars now and be sure to &lt;a href=&quot;http://bflex.info/&quot; target=&quot;_blank&quot;&gt;visit their web site&lt;/a&gt; for additional details and registration information.&lt;/p&gt;
&lt;p&gt;For those who might be curious, I&apos;ve thrown my name in the hat to present (again) on Mura CMS. I&apos;m not certain if I&apos;ll be speaking or not yet, but I plan on attending either way. So if you&apos;re interested in learning more about &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt; live, in-person and hands-on, be sure to check back &lt;em&gt;here&lt;/em&gt; for details on that. If you have any suggestions on what you would like to know about Mura, feel free to leave your comments for me here too.&lt;/p&gt;
&lt;p&gt;Hope to see you there! Peace.&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Flex</category>				
				
				<category>Presentations</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Mon, 26 Jul 2010 11:22:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/7/26/BFusionBFlex-2010-ColdFusion-and-Flex-Training-at-Indiana-University</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>ColdFusion UDF For Converting Strings Into ASCII Characters</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/6/17/ColdFusion-UDF-For-Converting-Strings-Into-ASCII-Characters</link>
				<description>
				
				&lt;p&gt;I needed a simple solution for converting strings such as email addresses, etc. into ASCII characters. So, I whipped up this little ColdFusion user-defined function to do just that and wanted to share it with anyone else who might need the same thing one day.&lt;/p&gt;

&lt;h3&gt;stringToAscii(str)&lt;/h3&gt;
&lt;code&gt;
&lt;cfscript&gt;
function stringToAscii(str) {
	var local = StructNew();
	local.oldStr = &apos;&apos;;
	local.newStr = &apos;&apos;;
	if ( StructKeyExists(arguments, &apos;str&apos;) and IsSimpleValue(arguments.str) ) {
		local.oldStr = arguments.str;
		for ( local.i=1; local.i lte Len(arguments.str); local.i++ ) {
			local.newStr = local.newStr &amp; &apos;&amp;##&apos; &amp; Asc(Left(local.oldStr,1)) &amp; &apos;;&apos;;
			local.oldStr = RemoveChars(local.oldStr,1,1);
		};
	};
	return local.newStr;
};
&lt;/cfscript&gt;
&lt;/code&gt;

&lt;p&gt;Here&apos;s some sample code for you to test with:&lt;/p&gt;
&lt;code&gt;
&lt;cfparam name=&quot;form.txt&quot; default=&quot;&quot; /&gt;
&lt;cfparam name=&quot;form.isSubmitted&quot; default=&quot;false&quot; /&gt;
&lt;cfoutput&gt;
	&lt;form method=&quot;post&quot; enctype=&quot;application/x-www-form-urlencoded&quot;&gt;
		&lt;p&gt;&lt;label for=&quot;txt&quot;&gt;Text:&lt;/label&gt;&lt;br /&gt;
		&lt;input type=&quot;text&quot; name=&quot;txt&quot; id=&quot;txt&quot; size=&quot;50&quot; value=&quot;#form.txt#&quot; /&gt;&lt;/p&gt;
		
		&lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot; Encode It! &quot; /&gt;&lt;/p&gt;
		&lt;input type=&quot;hidden&quot; name=&quot;isSubmitted&quot; value=&quot;true&quot; /&gt;
	&lt;/form&gt;
	&lt;cfif form.isSubmitted&gt;
		&lt;h4&gt;#stringToAscii(form.txt)#&lt;/h4&gt;
		&lt;cfdump var=&quot;#stringToAscii(form.txt)#&quot; /&gt;&lt;br /&gt;
	&lt;/cfif&gt;
&lt;/cfoutput&gt;
&lt;/code&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<pubDate>Thu, 17 Jun 2010 09:28:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/6/17/ColdFusion-UDF-For-Converting-Strings-Into-ASCII-Characters</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Using ColdFusion to Parse CSV via JavaLoader and OpenCSV</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/5/21/Using-ColdFusion-to-Parse-CSV-via-JavaLoader-and-OpenCSV</link>
				<description>
				
				&lt;p&gt;Recently I needed a quick and easy way to parse a CSV file with ColdFusion, and while there are a few projects floating around out in the wild, I had used &lt;a href=&quot;http://opencsv.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;OpenCSV&lt;/a&gt; in the past and remembered how easy it was to use.&lt;/p&gt;
&lt;p&gt;While I&apos;ve seen a few examples for ColdFusion users on how to parse and read a CSV file with OpenCSV, they&apos;ve all used Java&apos;s &lt;a href=&quot;http://java.sun.com/javase/7/docs/api/java/io/FileReader.html&quot; target=&quot;_blank&quot;&gt;FileReader&lt;/a&gt; to do it. This meant you had to have the file stored on your server somewhere and then get the full path to its location. For example, C:\csvfiles\sample.csv. In addition, most all of the examples I&apos;ve found assumed you had OpenCSV installed somewhere in your server&apos;s classpath.&lt;/p&gt;
&lt;p&gt;Unfortunately, I couldn&apos;t rely on this method for a number of reasons. The primary reason was because I was building this as a plugin  for &lt;a href=&quot;http://www.getmura.com/&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt;. So, if it&apos;s going to be a plugin, I can&apos;t just assume everyone has OpenCSV installed. In addition, Mura offers three different file storage options: 1) locally, 2) Amazon S3 and 3) database. While we could easily use Java&apos;s FileReader method with the first option, the other two would bomb. &lt;/p&gt;
&lt;p&gt;My first stroke of luck was that &lt;a href=&quot;http://compoundtheory.com/&quot; target=&quot;_blank&quot;&gt;Mark Mandel&lt;/a&gt; contributed a nifty little project called &lt;a href=&quot;http://javaloader.riaforge.org/&quot; target=&quot;_blank&quot;&gt;JavaLoader&lt;/a&gt; to the ColdFusion community awhile back. I was also fortunate because Mura offers a way to serve most of its files via the URL. So, using a wee bit of &lt;a href=&quot;http://java.sun.com/docs/books/tutorial/networking/urls/index.html&quot; target=&quot;_blank&quot;&gt;Java&lt;/a&gt; and JavaLoader, I can read in the URL of a CSV file in much the same way as the FileReader method.&lt;/p&gt;
&lt;p&gt;So for completeness, let&apos;s look at both options and then you can decide which one would work best for you.&lt;/p&gt;
&lt;h3&gt;sample.csv&lt;/h3&gt;
&lt;p&gt;You can use any csv file that you want to. This is one I put together for my recent project.&lt;/p&gt;
&lt;code&gt;
LocationName,Lat,Lng,Address,Phone,InfoWindow,Zindex,Icon
Chicago White Sox,,,&quot;333 W 35th St, Chicago, IL 60609&quot;,(312) 674-1000,,1,
Cleveland Indians,,,&quot;2401 Ontario St, Cleveland, OH 44115&quot;,(216) 241-8888,,2,
Detroit Tigers,,,&quot;2100 Woodward Ave, Detroit, MI 48201&quot;,(313) 962-4000,,3,
Kansas City Royals,,,&quot;1 Royal Way, Kansas City, MO 64129&quot;,(816) 921-8000,,4,
Minnesota Twins,,,&quot;351-413 5th Ave N, Minneapolis, MN 55401&quot;,(612) 659-3400,,5,
&lt;/code&gt;

&lt;h3&gt;Parsing CSV With FileReader&lt;/h3&gt;
&lt;code&gt;
&lt;cfscript&gt;
	csvFile = ExpandPath(&quot;/sample.csv&quot;);
	csvData = [];

	// FileReader
	fileReader = createobject(&quot;java&quot;,&quot;java.io.FileReader&quot;);
	fileReader.init(csvFile);

	// use JavaLoader to load OpenCSV
	paths = [ExpandPath(&quot;/opencsv-2.2/deploy/opencsv-2.2.jar&quot;)];
	loader = CreateObject(&quot;component&quot;, &quot;javaloader.JavaLoader&quot;).init(paths);

	csvReader = loader.create(&quot;au.com.bytecode.opencsv.CSVReader&quot;);
	csvReader.init(fileReader);
	csvData = csvReader.readAll();

	// release system resources
	csvReader.close();
	fileReader.close();
&lt;/cfscript&gt;
&lt;cfdump var=&quot;#csvData#&quot; /&gt;
&lt;/code&gt;

&lt;h3&gt;Parsing CSV With URL and InputStreamReader&lt;/h3&gt;
&lt;code&gt;
&lt;cfscript&gt;
	csvUrl = &quot;http://yourdomain.com/sample.csv&quot;;
	csvData = [];

	// InputStreamReader
	streamUrl = CreateObject(&quot;java&quot;,&quot;java.net.URL&quot;).init(csvUrl);
	streamReader = CreateObject(&quot;java&quot;,&quot;java.io.InputStreamReader&quot;).init(streamUrl.openStream());

	// use JavaLoader to load OpenCSV
	paths = [ExpandPath(&quot;/opencsv-2.2/deploy/opencsv-2.2.jar&quot;)];
	loader = CreateObject(&quot;component&quot;, &quot;javaloader.JavaLoader&quot;).init(paths);

	csvReader = loader.create(&quot;au.com.bytecode.opencsv.CSVReader&quot;);
	csvReader.init(streamReader);
	csvData = csvReader.readAll();

	// release system resources
	csvReader.close();
	streamReader.close();
&lt;/cfscript&gt;
&lt;cfdump var=&quot;#csvData#&quot; /&gt;
&lt;/code&gt;
&lt;h3&gt;CFDump Result&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;http://www.stephenwithington.com/blog/images/blog/uploadimages/csv-array.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I&apos;ve only scratched the surface of what &lt;a href=&quot;http://opencsv.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;OpenCSV&lt;/a&gt; can do for you by the way ... I&apos;ll leave it up to you on how to &lt;em&gt;write CSV files&lt;/em&gt; and even &lt;em&gt;dump out SQL tables to CSV&lt;/em&gt; with OpenCSV. It&apos;s pretty cool stuff!&lt;/p&gt;
&lt;p&gt;Peace.&lt;/p&gt;
				
				</description>
						
				
				<category>Java</category>				
				
				<category>ColdFusion</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Fri, 21 May 2010 09:12:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/5/21/Using-ColdFusion-to-Parse-CSV-via-JavaLoader-and-OpenCSV</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>My cf.Objective() 2010 Pecha Kucha Presentation Is Now Online</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/5/3/My-cfObjective-2010-Pecha-Kucha-Presentation-Is-Now-Online</link>
				<description>
				
				&lt;p&gt;So, you couldn&apos;t make it to &lt;a href=&quot;http://www.cfobjective.com/&quot; target=&quot;_blank&quot;&gt;cf.Objective()&lt;/a&gt; 2010 ... or if you did make it, and for whatever reason, you weren&apos;t able to attend the Pecha Kucha BOF and you really wanted to see my presentation ... ok, not &lt;em&gt;really&lt;/em&gt; want to see it, but &lt;em&gt;kinda sorta&lt;/em&gt; wanted to see it ... then you&apos;re in luck! Thanks to &lt;a href=&quot;http://twitter.com/mcanonigo&quot; target=&quot;_blank&quot;&gt;Michael Canonigo&lt;/a&gt;, my presentation and most of the other ones, were recorded and preserved for future generations to see ... and laugh at.&lt;/p&gt;
&lt;p&gt;You can find my presentation at &lt;a href=&quot;http://www.youtube.com/stephenwithington#p/a/f/0/9OXeMqTULVg&quot; target=&quot;_blank&quot;&gt;http://www.youtube.com/stephenwithington#p/a/f/0/9OXeMqTULVg&lt;/a&gt;. Bob Silverberg has posted &lt;a href=&quot;http://www.silverwareconsulting.com/index.cfm/2010/5/3/View-the-Presentations-from-the-cfObjective-Pecha-Kucha-BOF&quot; target=&quot;_blank&quot;&gt;links to all of the other presentations&lt;/a&gt; on his blog too. Speaking of who, a huge thanks goes out to &lt;a href=&quot;http://www.silverwareconsulting.com&quot; target=&quot;_blank&quot;&gt;Bob Silverberg&lt;/a&gt; for putting this BOF together! &lt;/p&gt;
&lt;p&gt;I ended up spending much more time on preparing and planning for this presentation than I initially thought I would ... primarily because of the strict timing requirements of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Pecha_Kucha&quot; target=&quot;_blank&quot;&gt;Pecha Kucha&lt;/a&gt;. That said, I would most definitely do it again! I hope everyone else had as much fun as I did ... I thoroughly enjoyed the diversity of topics and thought that everyone who participated did a great job. &lt;/p&gt;
&lt;p&gt;Thanks also to everyone who attended as well and and cheered us on! Hopefully, we can do this again next year.&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Presentations</category>				
				
				<pubDate>Mon, 03 May 2010 08:11:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/5/3/My-cfObjective-2010-Pecha-Kucha-Presentation-Is-Now-Online</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Learn About Beer at cf.Objective() Pecha Kucha BOF</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/4/14/Learn-About-Beer-at-cfObjective-Pecha-Kucha-BOF</link>
				<description>
				
				&lt;p&gt;If you&apos;re attending &lt;a href=&quot;http://www.cfobjective.com&quot; target=&quot;_blank&quot;&gt;cf.Objective() 2010&lt;/a&gt;, you might be interested in a Birds of a Feather (BOF) on Friday, April 23 at 8:00 P.M. &lt;a href=&quot;http://www.silverwareconsulting.com/index.cfm/2010/4/6/cfObjective-Pecha-Kucha-BOF--On-Like-Donkey-Kong&quot; target=&quot;_blank&quot;&gt;Bob Silverberg&lt;/a&gt; will be hosting a &lt;a href=&quot;http://en.wikipedia.org/wiki/Pecha_Kucha&quot; target=&quot;_blank&quot;&gt;Pecha Kucha&lt;/a&gt; Night which will consist of around nine or so presentations. Each presentation is limited to 6 minutes 40 seconds and will consist of 20 slides, with each slide shown for 20 seconds.&lt;/p&gt;
&lt;p&gt;This should be a fun BOF and will definitely cover a varying degree of subject matter. To the best of my knowledge though, most of the presentations will be about ColdFusion and other &apos;techie&apos; topics ... which is why I&apos;ve chosen to break things up a bit and give a presentation on something else I enjoy: beer.&lt;/p&gt;
&lt;p&gt;That&apos;s right, I said it (or typed it actually), I&apos;ll be giving a presentation on beer. I&apos;m still putting it all together at the moment, but I&apos;ll be attempting to cover at least some of the major milestones in the wonderful history of beer as well as a few other bits of information. It&apos;s amazing how quickly 6 minutes and 40 seconds passes by, so this will definitely be a challenge for me.&lt;/p&gt;
&lt;p&gt;So if you&apos;re able to, please stop by and enjoy the fun. After it&apos;s all over, maybe you&apos;ll consider joining me for a pint!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Presentations</category>				
				
				<pubDate>Wed, 14 Apr 2010 07:34:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/4/14/Learn-About-Beer-at-cfObjective-Pecha-Kucha-BOF</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>How to Remove WWW from the URL in Mura CMS with ColdFusion</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/4/1/How-to-Remove-WWW-from-the-URL-in-Mura-CMS-with-ColdFusion</link>
				<description>
				
				&lt;p&gt;Recently, a Mura CMS user asked &lt;a href=&quot;http://www.getmura.com/forum/messages.cfm?threadid=A912BBDD-D0B8-47E8-8B0BE4AAFB603C73&quot; target=&quot;_blank&quot;&gt;how to remove the &apos;www&apos; from the URL&lt;/a&gt;. So I thought I would whip up a quick post on how to do it.&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Login to the Admin and go to your &apos;Site Settings&apos; (top-right on yellow toolbar).&lt;/li&gt;
	&lt;li&gt;Select the site you wish to enforce this rule on.&lt;/li&gt;
	&lt;li&gt;On the &apos;Basic&apos; tab, make sure you have &apos;yourdomain.com&apos; in the &apos;Domain&apos; field.&lt;/li&gt;
	&lt;li&gt;Also, make sure you list &apos;www.yourdomain.com&apos; in the &apos;Domain Alias List&apos; text area.&lt;/li&gt;
	&lt;li&gt;Click &apos;Update&apos;&lt;/li&gt;
	&lt;li&gt;Now we&apos;ll edit a file that would probably be included on each page in your site such as &lt;strong&gt;\{siteid}\includes\themes\merced\templates\inc\html_head.cfm&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;Copy and paste the code below into the top of the file that is located on each page:&lt;/li&gt;
&lt;/ol&gt;

&lt;code&gt;
&lt;cfscript&gt;
	myDomain = &quot;yourPreferredDomain.com&quot;;
	domainIsCorrect = true;
	if ( getPageContext().getRequest().getServerName() neq myDomain ) {
		domainIsCorrect = false;
		urlstr = &quot;http://&quot; &amp; myDomain &amp; getPageContext().getRequest().getRequestURI();
		if ( len(trim(getPageContext().getRequest().getQueryString())) ) {
			urlstr = urlstr &amp; &quot;?&quot; &amp; getPageContext().getRequest().getQueryString();
		};
	};
&lt;/cfscript&gt;
&lt;cfif not domainIsCorrect&gt;&lt;cflocation url=&quot;#urlstr#&quot; addtoken=&quot;false&quot; statuscode=&quot;301&quot; /&gt;&lt;/cfif&gt;
&lt;/code&gt;

&lt;p&gt;That&apos;s it! Enjoy.&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Search Engine Optimization</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Thu, 01 Apr 2010 15:11:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/4/1/How-to-Remove-WWW-from-the-URL-in-Mura-CMS-with-ColdFusion</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Launched New Online Presence for Family Optical Centre Powered by ColdFusion + Mura CMS</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/3/22/Launched-New-Online-Presence-for-Family-Optical-Centre-Powered-by-ColdFusion--Mura-CMS</link>
				<description>
				
				&lt;p&gt;&lt;a href=&quot;http://www.familyopticalcentre.com&quot; target=&quot;_blank&quot;&gt;Family Optical Centre, Inc.&lt;/a&gt;  has officially launched their first ever online presence at &lt;a href=&quot;http://www.familyopticalcentre.com&quot; target=&quot;_blank&quot;&gt;www.familyopticalcentre.com&lt;/a&gt;. Family Optical Centre has been a part of the Rockford-area community for over forty-five years and currently operates three locations throughout the area. If you&apos;re in the market for some new frames and/or lenses, you might be interested in taking advantage of some of their &lt;a href=&quot;http://www.familyopticalcentre.com/index.cfm/special-offers/&quot; target=&quot;_blank&quot;&gt;Special Offers&lt;/a&gt; too.&lt;/p&gt;
&lt;p&gt;The site is powered by &lt;a href=&quot;http://www.adobe.com/coldfusion&quot; target=&quot;_blank&quot;&gt;Adobe&amp;reg; ColdFusion&amp;reg;&lt;/a&gt; and &lt;a href=&quot;http://www.microsoft.com/sql/default.mspx&quot; target=&quot;_blank&quot;&gt;Microsoft&amp;reg; SQL Server&lt;/a&gt; with online content management provided via &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt;. Talented artist and designer &lt;a href=&quot;http://www.ignition-studio.com/about/meet-the-team/pages/?id=6&quot; target=&quot;_blank&quot;&gt;Greg L.&lt;/a&gt; provided an elegant, yet simple design which I quickly and easily converted into HTML, CSS and Mura CMS templates.&lt;/p&gt;
&lt;p&gt;Congratulations to the team at Family Optical Centre on your new online presence. Best wishes for continued success!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.familyopticalcentre.com&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://www.stephenwithington.com/blog/images//blog/uploadimages/familyopticalcentre.jpg&quot; alt=&quot;Family Optical Centre&quot; width=&quot;475&quot; height=&quot;485&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Designer: &lt;a href=&quot;http://www.ignition-studio.com/about/meet-the-team/pages/?id=6&quot; target=&quot;_blank&quot;&gt;Greg L.&lt;/a&gt; | Developer: Steve Withington&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Web Site Projects</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Mon, 22 Mar 2010 10:43:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/3/22/Launched-New-Online-Presence-for-Family-Optical-Centre-Powered-by-ColdFusion--Mura-CMS</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>MuraMediaPlayer Plugin Released for ColdFusion-Powered Mura CMS</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/3/19/MuraMediaPlayer-Plugin-Released-for-ColdFusionPowered-Mura-CMS</link>
				<description>
				
				&lt;p&gt;I was finally able to finish up my &lt;a href=&quot;http://www.getmura.com/index.cfm/app-store/plugins/muramediaplayer/&quot; target=&quot;_blank&quot;&gt;MuraMediaPlayer&lt;/a&gt; plugin for &lt;a href=&quot;http://www.getmura.com/&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt;. This plugin uses &lt;a href=&quot;http://www.longtailvideo.com/players/jw-flv-player/&quot; target=&quot;_blank&quot;&gt;JW Player&amp;trade;&lt;/a&gt;, the Internet&apos;s most popular and flexible media  player. It supports playback of any format the Adobe Flash Player can  handle (FLV, MP4, MP3 and AAC). It also supports RTMP, HTTP, live streaming, a wide range of settings and more.&lt;/p&gt;
&lt;p&gt;This plugin is  available in the &lt;a href=&quot;http://www.getmura.com/index.cfm/app-store/plugins/muramediaplayer/&quot; target=&quot;_blank&quot;&gt;Mura CMS App Store under plugins&lt;/a&gt;. Since the primary guts of the plugin are driven by my &lt;a href=&quot;http://cfmediaplayer.riaforge.org/&quot; target=&quot;_blank&quot;&gt;cfMediaPlayer project hosted on RIAForge&lt;/a&gt; (a ColdFusion wrapper of the &lt;a href=&quot;http://www.longtailvideo.com/players/jw-flv-player/&quot; target=&quot;_blank&quot;&gt;JW Player&amp;trade;&lt;/a&gt;), I&apos;m posting a copy of the license here just so there&apos;s no confusion.&lt;/p&gt;
&lt;h3&gt;License&lt;/h3&gt;
&lt;p&gt;By using MuraMediaPlayer, you agree to the &apos;non-commercial&apos; license found at &lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;/a&gt;.  For corporate use or if you&apos;re planning to generate revenue from your  site (e.g., by running advertisements on the page, selling anything,  etc.) you will need to buy a license for JW Player&amp;trade;. To obtain a  commercial license of the JW Player&amp;trade;, please visit &lt;a href=&quot;http://longtailvideo.com/players/jw-flv-player/commercial-license/&quot;&gt;http://longtailvideo.com/players/jw-flv-player/commercial-license/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Installation&lt;/h3&gt;
&lt;p&gt;Installing the plugin is pretty simple. I&apos;ve created a brief video tutorial and also included an outline of some simple steps to follow:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://cloud.1ma.in/muramediaplayer-install-480x323.flv&quot; rel=&quot;shadowbox;width=480;height=323;title=Installing MuraMediaPlayer&quot;&gt;&lt;img src=&quot;http://www.stephenwithington.com/blog/images/blog/uploadimages/install-muramediaplayer-plugin.jpg&quot; alt=&quot;Installing MuraMediaPlayer&quot; width=&quot;400&quot; height=&quot;265&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.getmura.com/index.cfm/app-store/plugins/muramediaplayer/&quot; target=&quot;_blank&quot;&gt;Download the plugin&lt;/a&gt; from the Mura CMS App Store&apos;s plugins section&lt;/li&gt;
	&lt;li&gt;Note the location of the &apos;muramediaplayer.zip&apos; file that you downloaded&lt;/li&gt;
	&lt;li&gt;Log in to your Mura CMS Admin area&lt;/li&gt;
	&lt;li&gt;Click &apos;Site Settings&apos; found on the top-right portion of the screen on the yellow bar&lt;/li&gt;
	&lt;li&gt;Select the &apos;Plugins&apos; tab&lt;/li&gt;
	&lt;li&gt;&apos;Browse&apos; to the location of the &apos;muramediaplayer.zip&apos; file and select it&lt;/li&gt;
	&lt;li&gt;Click &apos;Deploy&apos; and the &apos;Plugin Settings&apos; form should appear	&lt;/li&gt;
	&lt;li&gt;If you want to change the &apos;Plugin Name,&apos; feel free to do so&lt;/li&gt;
	&lt;li&gt;You can simply leave the &apos;Load Priority&apos; alone or change it to anything you want to be if you have other plugins that require loading ahead of it&lt;/li&gt;
	&lt;li&gt;If you&apos;re Mura CMS install is using Amazon S3 for file storage and you&apos;ve set up an Amazon CloudFront, you can enter the &apos;Cloud URL.&apos; Otherwise, leave it blank.&lt;/li&gt;
	&lt;li&gt;If you&apos;re Mura CMS install is using Amazon S3 for file storage, you have an Amazon CloudFront set up &lt;em&gt;and&lt;/em&gt; you&apos;ve setup a Streaming Distribution to deliver content to end users in real time, you can enter the &apos;Streaming URL.&apos; Otherwise, leave it blank.&lt;/li&gt;
	&lt;li&gt;Under &apos;Site Assignments,&apos; select the site(s) you wish to enable the plugin to run on.&lt;/li&gt;
	&lt;li&gt;Click &apos;Update&apos; when finished.&lt;/li&gt;
	&lt;li&gt;That&apos;s it! You&apos;re ready to create MuraMediaPlayer pages and/or use a new [mura] tag method that is now available to you.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Please visit &lt;a href=&quot;http://aws.amazon.com/s3/&quot; target=&quot;_blank&quot;&gt;Amazon&lt;/a&gt; for more information about their &lt;a href=&quot;http://aws.amazon.com/s3/&quot; target=&quot;_blank&quot;&gt;S3&lt;/a&gt; and &lt;a href=&quot;http://aws.amazon.com/cloudfront/&quot; target=&quot;_blank&quot;&gt;CloudFront&lt;/a&gt; services.&lt;/p&gt;
&lt;h3&gt;Usage/Instructions&lt;/h3&gt;
&lt;p&gt;Detailed instructions for using the plugin are available at &lt;a href=&quot;http://www.getmura.com/index.cfm/app-store/plugins/muramediaplayer/documentation/&quot; target=&quot;_blank&quot;&gt;http://www.getmura.com/index.cfm/app-store/plugins/muramediaplayer/documentation/&lt;/a&gt;. In addition, instructions can be found after you install the plugin simply by logging into the Admin area, click &apos;Plugins&apos; (or go to &apos;Site Settings&apos;, then select &apos;Plugins&apos; tab), then click the &apos;MuraMediaPlayer&apos; link.&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Web Site Projects</category>				
				
				<category>Mura Plugins</category>				
				
				<category>Amazon Web Services</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Fri, 19 Mar 2010 08:44:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/3/19/MuraMediaPlayer-Plugin-Released-for-ColdFusionPowered-Mura-CMS</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>How to Strip/Remove the SiteID From the URL in Mura CMS</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/3/17/How-to-StripRemove-the-SiteID-From-the-URL-in-Mura-CMS</link>
				<description>
				
				&lt;p&gt;The first step in removing the SiteID from the URL in Mura CMS is to edit the file located at &lt;strong&gt;/config/settings.ini.cfm&lt;/strong&gt;. Find the &apos;&lt;strong&gt;siteidinurls&lt;/strong&gt;&apos; attribute and set it to read &lt;strong&gt;siteidinurls=0&lt;/strong&gt;. If you don&apos;t see this attribute, you might be using an older version of Mura, and you should probably upgrade your install. If for some reason, you cannot upgrade your install, then read this Mura blog posting titled &lt;a href=&quot;http://www.getmura.com/index.cfm/blog/removing-the-siteid-from-urls-in-mura/&quot; target=&quot;_blank&quot;&gt;Removing the SiteID from URLs in Mura&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Once this is done, you&apos;re usually pretty good to go. However, you can still actually navigate to your pages with the SiteID in the URL. In fact, when you preview your site from the Admin area, it usually includes the SiteID and &lt;a href=&quot;http://www.getmura.com/forum/messages.cfm?threadid=2D9C8834-16F7-4B3F-82C579C2B135AEF6&quot; target=&quot;_blank&quot;&gt;someone expressed&lt;/a&gt; a desire to &amp;quot;fix&amp;quot; this for search engine optimzation (SEO), analytics, etc.&lt;/p&gt;
&lt;p&gt;This is actually pretty easy to do by adding a few lines of code to your Mura CMS templates. The easiest thing to do would be to probably just add this to your &apos;html_head.cfm&apos; file if you use it.&lt;/p&gt;
&lt;code&gt;
&lt;cfscript&gt;
	hasSiteIDinURL = false;
	if ( not application.configBean.getSiteIDinURLs() ) {
		urlstr = getPageContext().getRequest().getRequestURL();
		idx = listFindNoCase(getPageContext().getRequest().getRequestURL(), event.getSite().getSiteID(), &apos;/&apos;);
		if ( idx gt 0 ) {
			hasSiteIDinURL = true;
			urlstr = listDeleteAt(urlstr, idx, &apos;/&apos;);
			if ( len(trim(cgi.query_string)) ) {
				urlstr = urlstr &amp; &apos;?&apos; &amp; cgi.query_string;
			};
		};
	};
&lt;/cfscript&gt;
&lt;cfif hasSiteIDinURL&gt;&lt;cflocation url=&quot;#urlstr#&quot; addtoken=&quot;false&quot; statuscode=&quot;301&quot; /&gt;&lt;/cfif&gt;
&lt;/code&gt;
&lt;p&gt;Hope this helps!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Search Engine Optimization</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Wed, 17 Mar 2010 12:35:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/3/17/How-to-StripRemove-the-SiteID-From-the-URL-in-Mura-CMS</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Mura CMS Full Day Training Course on April 21, 2010</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/3/9/Mura-CMS-Full-Day-Training-Course-on-April-21-2010</link>
				<description>
				
				&lt;p&gt;How would you like  to spend a full day with the folks who created &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt; from the ground up? Are you in or around the Minneapolis, Minnesota region ... and if not, can you get there by April 21, 2010?&lt;/p&gt;
&lt;p&gt;Well, &lt;a href=&quot;http://www.getmura.com/index.cfm/blog/cfobjective-2010-pre-conference-training/&quot; target=&quot;_blank&quot;&gt;Team Mura recently announced&lt;/a&gt; they would be offering an in-depth, full-day &amp;quot;Programmers Guide to Mura CMS&amp;quot; on Wednesday, April 21st, 2010. This is technically a &amp;quot;&lt;a href=&quot;http://www.cfobjective.com/precon.cfm&quot; target=&quot;_blank&quot;&gt;cf.Objective() 2010 Pre-Conference&lt;/a&gt;&amp;quot; event, however, &lt;strong&gt;you &lt;em&gt;don&apos;t&lt;/em&gt; have to attend the full conference&lt;/strong&gt; to take advantage of this great opportunity.&lt;/p&gt;
&lt;p&gt;Here are  a few of the topics that will be covered:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Programmatically working with content in Mura CMS&lt;/li&gt;
	&lt;li&gt;Working with Mura CMS objects&lt;/li&gt;
	&lt;li&gt;Understanding the Mura CMS event model&lt;/li&gt;
	&lt;li&gt;Integrating Existing or 3rd Party Applications&lt;/li&gt;
	&lt;li&gt;Building Mura CMS Plugins&lt;/li&gt;
	&lt;li&gt;Extending and customizing Mura CMS while staying on the upgrade path&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This full day course will be limited to the first 20 students and costs only $500. Considering the number of Team Mura developers that will be on hand, you probably won&apos;t be able to find a better student to instructor ratio. Oh, and for what it&apos;s worth, I&apos;ll be there too!&lt;/p&gt;
&lt;p&gt;Before you say no to this awesome deal, I ask you to take something else into consideration. Have you ever attended a training event only to go back to your office, sit at your desk and not truly applied the newly learned knowledge? If you are a web site developer and have either looked at,  used Mura CMS, or are even a seasoned Mura CMS developer and want to build sites more efficiently while allowing your clients the ability to manage their own content ... then you &lt;em&gt;will&lt;/em&gt;  most definitely be able to bring what you&apos;ve learned back to your office and apply it to your job the very next day. Yes, I mean that if you attend on Wednesday, by Thursday you will be more productive, period.&lt;/p&gt;
&lt;p&gt;Again, only the first 20 students will be accepted, so &lt;a href=&quot;https://www.bestmeetings.com/registration/cfobjective/cfobjective.cfm&quot; target=&quot;_blank&quot;&gt;register now&lt;/a&gt; before it&apos;s too late!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Presentations</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Tue, 09 Mar 2010 08:29:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/3/9/Mura-CMS-Full-Day-Training-Course-on-April-21-2010</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Using jQuery to Pass an Index Value to a Shadowbox.js Gallery</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/3/8/Using-jQuery-to-Pass-an-Index-Value-to-a-Shadowboxjs-Gallery</link>
				<description>
				
				&lt;p&gt;I ran into a bit of a hair-pulling incident recently and I really couldn&apos;t find any help on the web with this one. So I thought I&apos;d share my frustration and the solution I came up with in case anyone else runs into a similar problem ... or heck, maybe you&apos;ve got a better solution for me. In short, I needed to be able to pass an index value to Shadowbox.js when a gallery was launched so that it would begin at the desired position. However, I personally find it more interesting to understand the evoution of the problem and the eventual solution. If you&apos;re &lt;em&gt;not&lt;/em&gt; like me, feel free to &lt;a href=&quot;#jquery&quot;&gt;jump down to the jQuery and HTML code&lt;/a&gt; below.&lt;/p&gt;
&lt;h3&gt;The &lt;span style=&quot;text-decoration:line-through&quot;&gt;Problem&lt;/span&gt; &lt;em&gt;Challenge&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;Well, this all started out when one of my clients wanted one of those fancy-dancy &amp;quot;hover-over-a-group-of-thumbnails-and-swap-a-medium-sized-image&amp;quot; thing-a-ma-bobs. Trust me, this was &lt;em&gt;not&lt;/em&gt; the challenge ... using a few lines of &lt;a href=&quot;http://jquery.com/&quot; target=&quot;_blank&quot;&gt;jQuery&lt;/a&gt; and fancy-dancy-be-done.&lt;/p&gt;
&lt;p&gt;Then, after looking things over a bit, the client wanted to be able to click on the thumbnail and open a modal window of the original, much larger, image. Again, no worries ... using a bit of &lt;a href=&quot;http://shadowbox-js.com/&quot; target=&quot;_blank&quot;&gt;Shadowbox.js&lt;/a&gt; magic, and client-be-happy.&lt;/p&gt;
&lt;p&gt;Finally, after reviewing my jQuery/Shadowbox/programming magic, the client was happy ... but they wanted one more thing ... to be able to click on the medium-sized image and have it launch a modal window of the original, much larger, image too. So, after a little extra thought and tweaking around, I got it working ... well, sort of.&lt;/p&gt;
&lt;h3&gt;Here&apos;s the Deal&lt;/h3&gt;
&lt;p&gt;Everything worked just fine except for the fact that if I enabled the &apos;continuous&apos; attribute so that people could click &amp;quot;Next&amp;quot; and &amp;quot;Previous&amp;quot; links, something odd occurred.&lt;/p&gt;
&lt;p&gt;If I clicked a thumbnail, the Shadowbox opened and did its thing as expected. If there were four (4) image thumbnails, then when the modal window opened, the &amp;quot;Next&amp;quot; and &amp;quot;Previous&amp;quot; links would cycle through four (4) images. But when I clicked the medium-sized image, the larger version of the image would appear twice in the modal window for a total of five (5) images.&lt;/p&gt;
&lt;p&gt;Anyway, I realized fairly quickly that by default, Shadowbox creates a cached array of things such as all links with a &apos;rel&apos; attribute of &apos;shadowbox&apos; when the page loads. You can easily override this feature in the Shadowbox init() method by setting the &apos;skipSetup&apos; attribute to true. But that&apos;s not what I really needed, or wanted, to do. I already had the thumbnails working and just wanted to get the &apos;Medium&apos; sized image to also open the Shadowbox.&lt;/p&gt;
&lt;h3&gt;&lt;span style=&quot;text-decoration:line-through&quot;&gt;The&lt;/span&gt; &lt;em&gt;My&lt;/em&gt; Solution&lt;/h3&gt;
&lt;p&gt;Ultimately, I needed a way to keep track of the index of each Shadowbox link element so that I could use it when calling a Shadowbox function I hadn&apos;t used before called &amp;quot;Shadowbox.open().&amp;quot; I knew there just had to be a way of passing the index value to Shadowbox so that way when the modal window would open, it would just cue up to the cached index in Shadowbox.&lt;/p&gt;
&lt;p&gt;So I created a custom attribute for the &amp;quot;a&amp;quot; link of the thumbnail images called &amp;quot;idx&amp;quot; and since I was already outputting the thumbnails from a query, this was pretty easy to do. However, since I was using a ColdFusion loop to output an array of the images, I couldn&apos;t just use the index value of the loop since ColdFusion arrays start at 1 while just about every other programming language, including JavaScript, have their arrays start at zero (0). So for you ColdFusion peeps, just remember you&apos;ll want to add your own &amp;quot;counter&amp;quot; variable that starts at zero and then increment it at the end of each iteration of the loop.&lt;/p&gt;
&lt;p&gt;Once I had an attribute I could access using jQuery, I knew I was in business. The next thing I needed to find out was how to pass this index value to Shadowbox. Again, nothing on the web helped me out here. I did stumble across someone&apos;s &lt;a href=&quot;http://n2.nabble.com/Feature-request-Shadowbox-open-index-tp3968316ef1309102.html&quot; target=&quot;_blank&quot;&gt;post in the Shadowbox forum&lt;/a&gt; about how they modified the source code to accommodate something like this, but I chose not to go that route. In addition, this was a site using &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt; and I really didn&apos;t want to make any alterations to any included third-party code if I really didn&apos;t have too.&lt;/p&gt;
&lt;p&gt;After studying the &lt;a href=&quot;http://trac.blueriver.com/mura/browser/branches/5.2/www/default/js/shadowbox.js&quot; target=&quot;_blank&quot;&gt;Shadowbox source code&lt;/a&gt; for a bit, I found this line of code in the Shadowbox.open() method (&lt;a href=&quot;http://trac.blueriver.com/mura/browser/branches/5.2/www/default/js/shadowbox.js#L2122&quot; target=&quot;_blank&quot;&gt;around line 2122&lt;/a&gt;):&lt;/p&gt;
&lt;code&gt;
// is it a link?
if(isLink(obj)){
	if(typeof obj.shadowboxCacheKey == &apos;undefined&apos; || typeof cache[obj.shadowboxCacheKey] == &apos;undefined&apos;){
		// link element that hasn&apos;t been set up before
		// create an object on-the-fly
		obj = this.buildCacheObj(obj, opts);
	}else{
		// link element that has been set up before, get from cache
		obj = cache[obj.shadowboxCacheKey];
	}
}
&lt;/code&gt;

&lt;p&gt;Notice the &amp;quot;shadowboxCacheKey&amp;quot; bit? Bingo! Now I knew all I needed to do was tweak my jQuery code to add this sweet little attribute to the link and then call the Shadowbox.open() method along with some options to tell Shadowbox which gallery I wanted to use and at what index to begin! Can you tell I was a little excited?&lt;/p&gt;
&lt;p&gt;So instead of continuing to bore the crap out of you, I&apos;ll just go ahead and show you what I came up with.&lt;/p&gt;
&lt;h3&gt;&lt;a name=&quot;jquery&quot; id=&quot;jquery&quot;&gt;&lt;/a&gt;The jQuery&lt;/h3&gt;
&lt;code&gt;
$(document).ready(function() {
	$(&quot;.imageThumb&quot;).hover(
		function() { // handlerIn
			var mediumImage = $(this).find(&apos;a&apos;).attr(&apos;medium&apos;);
			var imgLink = $(this).find(&apos;a&apos;).attr(&apos;href&apos;);
			// this holds the &apos;Shadowbox&apos; cacheKey index value!
			var imgIndex = $(this).find(&apos;a&apos;).attr(&apos;idx&apos;);
			$(&apos;#swapImg&apos;).attr({src:mediumImage}).fadeIn(800);
			$(&apos;#swapLink&apos;).attr({href:imgLink,idx:imgIndex});
			return false;
		}
	);

	$(&quot;#featuredImage &gt; a#swapLink&quot;).click(function(event) {
		event.preventDefault();
		// grab the &apos;Shadowbox&apos; cacheKey index value
		var idx = $(&apos;#featuredImage&apos;).find(&apos;a&apos;).attr(&apos;idx&apos;);
		// now add the index key to the link so that when we call open, it knows this link already exists
		this.shadowboxCacheKey = idx;
		Shadowbox.open(this,{gallery:&quot;products&quot;,continuous:true});
	});

});
&lt;/code&gt;

&lt;h3&gt;The HTML&lt;/h3&gt;
&lt;code&gt;
&lt;div id=&quot;imageThumbs&quot;&gt;
	&lt;div class=&quot;imageThumb&quot;&gt;&lt;a rel=&quot;shadowbox[products];options={continuous:true};&quot; idx=&quot;0&quot; href=&quot;img1.jpg&quot; title=&quot;&quot; medium=&quot;img1-med.jpg&quot;&gt;&lt;img src=&quot;img1-thumb.jpg&quot; alt=&quot;&quot; width=&quot;70&quot; height=&quot;70&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
	&lt;div class=&quot;imageThumb&quot;&gt;&lt;a rel=&quot;shadowbox[products];options={continuous:true};&quot; idx=&quot;1&quot; href=&quot;img2.jpg&quot; title=&quot;&quot; medium=&quot;img2-med.jpg&quot;&gt;&lt;img src=&quot;img2-thumb.jpg&quot; alt=&quot;&quot; width=&quot;70&quot; height=&quot;70&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
	&lt;div class=&quot;imageThumb&quot;&gt;&lt;a rel=&quot;shadowbox[products];options={continuous:true};&quot; idx=&quot;2&quot; href=&quot;img3.jpg&quot; title=&quot;&quot; medium=&quot;img3-med.jpg&quot;&gt;&lt;img src=&quot;img3-thumb.jpg&quot; alt=&quot;&quot; width=&quot;70&quot; height=&quot;70&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
	&lt;div class=&quot;imageThumb&quot;&gt;&lt;a rel=&quot;shadowbox[products];options={continuous:true};&quot; idx=&quot;3&quot; href=&quot;img4.jpg&quot; title=&quot;&quot; medium=&quot;img4-med.jpg&quot;&gt;&lt;img src=&quot;img4-thumb.jpg&quot; alt=&quot;&quot; width=&quot;70&quot; height=&quot;70&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;productImages&quot;&gt;
	&lt;div id=&quot;featuredImage&quot;&gt;&lt;a idx=&quot;0&quot; id=&quot;swapLink&quot; href=&quot;img1.jpg&quot; &gt;&lt;img id=&quot;swapImg&quot; src=&quot;img1-med.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/code&gt;

&lt;p&gt;That&apos;s it! I hope this helps someone else and saves some hair pulling. Enjoy!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Shadowbox.js</category>				
				
				<category>jQuery</category>				
				
				<category>JavaScript</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Mon, 08 Mar 2010 08:43:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/3/8/Using-jQuery-to-Pass-an-Index-Value-to-a-Shadowboxjs-Gallery</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Issue with Mura CMS, ColdFusion, ISAPI and IIS6</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/2/26/Issue-with-Mura-CMS-ColdFusion-ISAPI-and-IIS6</link>
				<description>
				
				&lt;p&gt;Awhile back I ran into an issue installing &lt;a href=&quot;http://www.getmura.com/&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt; on a dedicated Windows server running, &lt;a href=&quot;http://www.adobe.com/products/coldfusion/&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt;, &lt;a href=&quot;http://www.isapirewrite.com/&quot; target=&quot;_blank&quot;&gt;ISAPI&lt;/a&gt; and IIS6. The issue wasn&apos;t blatantly obvious at first because Mura would install just fine and the home page would show up so I thought everything was just fine. However, once I began adding pages to the site and then attempted to view those pages, they wouldn&apos;t show up. I would get the ever popular &apos;The page cannot be found&apos; screen. The first thing I did was check some other Mura sites I had already had installed on the server and each one of them had the same issue. This was extremely odd to me because all of my Mura sites had worked just fine before and I never noticed any problems. &lt;/p&gt;
&lt;p&gt;So after tinkering around a little I began thinking about any software I had installed recently that might even remotely affect what was going on. Well, the only thing I could think of was ISAPI. I had just installed it with the previous day or so and  wasn&apos;t really using ISAPI yet. So I uninstalled it, then checked my sites and they all seemed to work just fine. Well, that&apos;s great, isn&apos;t it? Sure, if you don&apos;t really use or need ISAPI, which was my case at the time so I just went about my business and never dug any further into the issue.&lt;/p&gt;
&lt;p&gt;So, a few months went by and some developers who were in the process of evaluating Mura shot me a message asking for a little direction on a problem. &amp;quot;We have Mura up, but cannot go to sub pages. I think it is a SEO URL thing that IIS6 is not handling correctly ...&amp;quot; and they attached a couple of screen shots for me to look at. It took me a minute to remember, but I asked them if they had ISAPI installed. Sure enough, they did. So I proceeded to let them know if my recent experience, but wasn&apos;t able to help them really solve the problem ... because see, they actually used ISAPI and needed to have it play nicely with Mura.&lt;/p&gt;
&lt;p&gt;A short time later, one of the developers had a &amp;quot;eureka!&amp;quot; moment. In hopes of guiding any other people running into this problem, I&apos;ve opted to post his entire response below. Many thanks (and congrats) to Ken Payne for solving this problem!&lt;/p&gt;
&lt;style type=&quot;text/css&quot;&gt;
.letter { font-family: &quot;Times New Roman&quot;, Times, serif; color: black; }
&lt;/style&gt;
&lt;blockquote class=&quot;letter&quot;&gt;
	&lt;p&gt;Steve,&lt;/p&gt;
	&lt;p&gt;I just figured out our iis6/cf8 404 problem and I thought you might like to know what its was.&lt;/p&gt;
	&lt;p&gt;By default CF8 is not SES enabled.&amp;nbsp; I saw how to correct this early on in my investigation, by uncommenting the appropriate entries in the web.xml file.&amp;nbsp; This had no apparent effect and we assumed it wasn&apos;t even hitting CF anyway since it was a IIS 404 error.&amp;nbsp; So after your hint that it may be ISAPI we edited IIS and did a restart and voila the SES URL&apos;s now worked.&amp;nbsp; On 1 but not on the other 2 installs.&amp;nbsp; I hadn&apos;t restarted the other 2 cf instances after editing their web.xml...&amp;nbsp; &lt;/p&gt;
	&lt;p&gt;So after monkeying with restarting IIS and the other CF instances they magically worked at some point.&amp;nbsp; Enter the new developer with his own CF instance and we have the same problem.&amp;nbsp; It didn&apos;t take me long to puzzle it out by dumb luck on my first try.&lt;/p&gt;
	&lt;p&gt;So the correct sequence is:&lt;/p&gt;
	&lt;ul&gt;
		&lt;li&gt;Edit web.xml to enable ses&lt;/li&gt;
		&lt;li&gt;Restart the CF instance&lt;/li&gt;
		&lt;li&gt;Restart IIS&lt;/li&gt;
		&lt;li&gt;Done!&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;So simple once I see what&apos;s going on. &amp;nbsp; IIS was smart enough to know that CF didn&apos;t have a servlet for handle the ses url so it just didn&apos;t pass it.&amp;nbsp;  This was not obvious since at one point it did indeed pass it on during  my testing when I re-commented the ses servlet declarations and tried  accessing with ses url.&amp;nbsp; But of course I had not restarted IIS yet so  it thought CF could handle it etc.&lt;/p&gt;
	&lt;p&gt;Hope that made sense.&lt;/p&gt;
&lt;/blockquote&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>ISAPI</category>				
				
				<category>IIS</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Fri, 26 Feb 2010 10:46:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/2/26/Issue-with-Mura-CMS-ColdFusion-ISAPI-and-IIS6</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Launched ColdFusion + Mura CMS Powered Sites for EBL Canopy Zipline Tours</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/2/25/Launched-ColdFusion--Mura-CMS-Powered-Sites-for-EBL-Canopy-Zipline-Tours</link>
				<description>
				
				&lt;p&gt;&lt;a href=&quot;http://www.ebl.org&quot; target=&quot;_blank&quot;&gt;EBL Canopy Tours&lt;/a&gt;, launched their completely revamped online presence at &lt;a href=&quot;http://www.ebl.org&quot; target=&quot;_blank&quot;&gt;www.ebl.org&lt;/a&gt;. Technically speaking, three (3) separate sites have been launched for EBL. The &lt;a href=&quot;http://www.ebl.org&quot; target=&quot;_blank&quot;&gt;main site&lt;/a&gt; has become more of a &amp;quot;landing&amp;quot; page allowing visitors to choose the direction they wish to proceed: &lt;a href=&quot;http://adventures.ebl.org&quot; target=&quot;_blank&quot;&gt;Canopy Zipline Adventures&lt;/a&gt; and &lt;a href=&quot;http://installations.ebl.org&quot; target=&quot;_blank&quot;&gt;Canopy Zipline Installations&lt;/a&gt;. The &amp;quot;&lt;a href=&quot;http://adventures.ebl.org&quot; target=&quot;_blank&quot;&gt;adventures&lt;/a&gt;&amp;quot; site is geared towards those seeking zipline and canopy tour adventures, while the &amp;quot;&lt;a href=&quot;http://installations.ebl.org&quot; target=&quot;_blank&quot;&gt;installations&lt;/a&gt;&amp;quot; site is geared towards those seeking the &amp;quot;premier installer of Canopy Zipline Tours.&amp;quot;&lt;/p&gt;
&lt;p&gt;All of the sites are powered by &lt;a href=&quot;http://www.adobe.com/coldfusion&quot; target=&quot;_blank&quot;&gt;Adobe&amp;reg; ColdFusion&amp;reg;&lt;/a&gt; and &lt;a href=&quot;http://www.microsoft.com/sql/default.mspx&quot; target=&quot;_blank&quot;&gt;Microsoft&amp;reg; SQL Server&lt;/a&gt; with online content management provided via &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt;. &lt;a href=&quot;http://www.ignition-studio.com/about/meet-the-team/pages/?id=5&quot; target=&quot;_blank&quot;&gt;Jaci M.&lt;/a&gt;&lt;a href=&quot;http://www.ignition-studio.com/about/meet-the-team/pages/?id=6&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&apos;s  fully customized designs were easily integrated into Mura CMS to allow our client the ability to add and edit content while maintaining the original design&apos;s integrity.&lt;/p&gt;
&lt;p&gt;The sites feature a brand new Mura plugin I&apos;ve developed called MuraMediaPlayer&amp;trade; which will soon be released to the general public. MuraMediaPlayer allows our client to easily add &lt;a href=&quot;http://adventures.ebl.org/index.cfm/locations/scream-time-ziplines/video-promotional/&quot; target=&quot;_blank&quot;&gt;media files&lt;/a&gt; to any page on their site. I also set up an &lt;a href=&quot;http://aws.amazon.com/s3/&quot; target=&quot;_blank&quot;&gt;Amazon S3&lt;/a&gt; for storage of site assets and &lt;a href=&quot;http://aws.amazon.com/cloudfront/&quot; target=&quot;_blank&quot;&gt;Amazon CloudFront&lt;/a&gt; account to allow for streaming video. In addition, the adventures and installations sites both feature a &amp;quot;weighted-randomized&amp;quot; header for the home pages. Using some Mura class extensions, I enabled the client to upload a header, location details, up to five (5) additional location images and also determine the &amp;quot;Weight for Randomness&amp;quot; for each canopy zipline tour location.&lt;/p&gt;
&lt;p&gt;This was definitely a fun project to be a part of and hopefully one of these days, our client will invite us to one of his canopy zipline locations (hint hint!). Congratulations to everyone at EBL, and I look forward to working with you again soon.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.ebl.org&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://www.stephenwithington.com/blog/images//blog/uploadimages/ebl.jpg&quot; alt=&quot;EBL&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Designer: &lt;a href=&quot;http://www.ignition-studio.com/about/meet-the-team/pages/?id=5&quot; target=&quot;_blank&quot;&gt;Jaci M.&lt;/a&gt; | Developer: Stephen Withington | Content Management System: &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt;&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Web Site Projects</category>				
				
				<category>Amazon Web Services</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Thu, 25 Feb 2010 12:32:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/2/25/Launched-ColdFusion--Mura-CMS-Powered-Sites-for-EBL-Canopy-Zipline-Tours</guid>
				
			</item>
			
		 	
			</channel></rss>