<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>Stephen (Steve) Withington</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>Thu, 17 May 2012 16:23:30 -0700</pubDate>
			<lastBuildDate>Wed, 01 Feb 2012 21:25:00 -0700</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>stephenwithington@gmail.com</managingEditor>
			<webMaster>stephenwithington@gmail.com</webMaster>
			
			
			
			
			
			<item>
				<title>Open Source Conference For CFML Developers</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2012/2/1/Open-Source-Conference-For-CFML-Developers</link>
				<description>
				
				&lt;p&gt;Just in case you didn&apos;t know...there&apos;s a pretty cool conference coming up called &lt;a href=&quot;http://opencfsummit.org/&quot; target=&quot;_blank&quot;&gt;OpenCF Summit&lt;/a&gt;. It&apos;s a conference where you can listen to, meet, speak with, and even yell at many of the lead geeks and engineers working feverishly on a slew of free and open source software from the CFML world (that&apos;s ColdFusion Markup Language for you non-CFML-knowing peeps).&lt;/p&gt;
&lt;p&gt;The conference runs February 24-26, 2012 in Dallas, Texas. Considering the conference costs only $72, it&apos;s quite the steal! Plus, did I mention there&apos;s a ton of free and open source software?&lt;/p&gt;
&lt;p&gt;So get on over to &lt;a href=&quot;http://opencfsummit.org/&quot; target=&quot;_blank&quot;&gt;http://opencfsummit.org&lt;/a&gt; to learn more and register now!&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Open Source</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Wed, 01 Feb 2012 21:25:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2012/2/1/Open-Source-Conference-For-CFML-Developers</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Sublime Text 2 and .less Syntax Highlighting</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2012/2/1/Sublime-Text-2-and-less-Syntax-Highlighting</link>
				<description>
				
				&lt;p&gt;So you&apos;ve hopped onto the &lt;a href=&quot;http://www.sublimetext.com/2&quot; target=&quot;_blank&quot;&gt;Sublime Text 2&lt;/a&gt; bandwagon and ready to roll with &lt;a href=&quot;http://lesscss.org/&quot; target=&quot;_blank&quot;&gt;{less}&lt;/a&gt;. Now you simply want to enable syntax highlighting while working on .less files...right? Well, it&apos;s actually quite simple!&lt;/p&gt;
&lt;p&gt;First, open a .less file in Sublime Text 2. Then &lt;strong&gt;View &amp;gt; Syntax &amp;gt; Open all with current extension as... &amp;gt; CSS&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.stephenwithington.com/blog/images//blog/uploadimages/sublime-less.jpg&quot; rel=&quot;shadowbox&quot;&gt;&lt;img src=&quot;http://www.stephenwithington.com/blog/images/blog/uploadimages/sublime-less-thumb.jpg&quot; width=&quot;460&quot; height=&quot;302&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;OR...&lt;/h3&gt;
&lt;p&gt;After originally publishing this, of course I stumble across a github project called &lt;a href=&quot;https://github.com/danro/LESS-sublime&quot; target=&quot;_blank&quot;&gt;Less-sublime&lt;/a&gt;. Using the &lt;a href=&quot;http://wbond.net/sublime_packages/package_control&quot; target=&quot;_blank&quot;&gt;Package Control&lt;/a&gt; plugin, it&apos;s an absolute breeze to setup. Even if you don&apos;t, simply follow the installation directions on the github project.&lt;/p&gt;
&lt;p&gt;So there you go...two methods for getting {less} syntax highlighting for you! Either way works great, but obviously the github project offers a bit more {less}-specific syntax support.&lt;/p&gt;
&lt;p&gt;Hope that helps...cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>LESS</category>				
				
				<category>Sublime Text 2</category>				
				
				<pubDate>Wed, 01 Feb 2012 15:12:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2012/2/1/Sublime-Text-2-and-less-Syntax-Highlighting</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>ColdFusion CFScript Query of Queries Example</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2012/1/17/ColdFusion-CFScript-Query-of-Queries-Example</link>
				<description>
				
				&lt;p&gt;This post is more for me than anything else...but I couldn&apos;t find a decent example of how to write a query of queries in ColdFusion&apos;s CFScript syntax. Below you&apos;ll see two queries; the first one is a simple query using ColdFusion&apos;s auto-generated dsn, the second one narrows the result set just a bit.&lt;/p&gt;

&lt;code&gt;&lt;cfscript&gt;
	// Basic Query Syntax
	q1 = new Query();
	q1.setDatasource(&apos;cfartgallery&apos;);
	q1.setSQL(&apos;select * from artists&apos;);
	rs1 = q1.execute().getResult();
	WriteDump(var=rs1,label=&apos;RS1&apos;);
	
	// Query of Queries
	q2 = new Query();
	q2.setDBType(&apos;query&apos;);
	q2.setAttributes(rs=rs1); // needed for QoQ
	q2.addParam(name=&apos;state&apos;, value=&apos;CO&apos;, cfsqltype=&apos;cf_sql_varchar&apos;);
	q2.setSQL(&apos;SELECT * FROM rs where state = :state&apos;);
	q2.setMaxRows(2); // limit max rows, if desired
	rs2 = q2.execute().getResult();
	WriteDump(var=rs2,label=&apos;RS2&apos;);
&lt;/cfscript&gt;&lt;/code&gt;

&lt;p&gt;This should produce something similar to the following output:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;shadowbox&quot; href=&quot;/blog/images/blog/uploadimages/qoq-example.png&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;/blog/images/blog/uploadimages/qoq-example.png&quot; width=&quot;490&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope this helps...cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>SQL</category>				
				
				<pubDate>Tue, 17 Jan 2012 12:30:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2012/1/17/ColdFusion-CFScript-Query-of-Queries-Example</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Removing index.cfm From Mura CMS URLs on Windows/IIS7</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2011/9/15/Removing-indexcfm-From-Mura-CMS-URLs-on-WindowsIIS7</link>
				<description>
				
				&lt;p&gt;If you have an installation of &lt;a href=&quot;http://getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt; on Windows running IIS7+ and you&apos;re looking to remove &amp;quot;index.cfm&amp;quot; from the URL for search engine optimization (SEO) or any other reason, then here&apos;s a pretty simple and painless method to do just that.&lt;/p&gt;
&lt;p&gt;First, IIS7 does not have their &lt;a href=&quot;http://www.iis.net/download/URLRewrite&quot; target=&quot;_blank&quot;&gt;URL Rewrite Module&lt;/a&gt; installed by default. So you&apos;ll need to download and install &lt;a href=&quot;http://www.iis.net/download/URLRewrite&quot; target=&quot;_blank&quot;&gt;URL Rewrite Module 2.0&lt;/a&gt; for your server (&lt;a href=&quot;http://go.microsoft.com/?linkid=9722533&quot; target=&quot;_blank&quot;&gt;x86&lt;/a&gt; / &lt;a href=&quot;http://go.microsoft.com/?linkid=9722532&quot; target=&quot;_blank&quot;&gt;x64&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;After that&apos;s done, your next decision is to choose whether or not you wish to have the SiteID display in the URL. Some users prefer to have that, and some don&apos;t depending on their particular usage of Mura.&lt;/p&gt;
&lt;h4&gt;Option 1: Allow For Missing SiteID AND index.cfm From The URL&lt;/h4&gt;
&lt;p&gt;Create a &amp;quot;web.config&amp;quot; file with the following code and place it at the root of your Mura installation:&lt;/p&gt;
&lt;code&gt;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;configuration&gt;
	&lt;system.webServer&gt;
		&lt;rewrite&gt;
			&lt;rules&gt;
				&lt;rule name=&quot;Mura CMS Rewrite Option 1&quot; enabled=&quot;true&quot;&gt;
					&lt;match url=&quot;^([a-zA-Z0-9/-]+)$&quot; ignoreCase=&quot;false&quot; /&gt;
					&lt;conditions logicalGrouping=&quot;MatchAll&quot;&gt;
						&lt;add input=&quot;{DOCUMENT_ROOT}{URL}&quot; matchType=&quot;IsDirectory&quot; ignoreCase=&quot;false&quot; negate=&quot;true&quot; /&gt;
					&lt;/conditions&gt;
					&lt;action type=&quot;Rewrite&quot; url=&quot;/index.cfm{URL}&quot; /&gt;
				&lt;/rule&gt;
			&lt;/rules&gt;
		&lt;/rewrite&gt;
		&lt;defaultDocument&gt;
			&lt;files&gt;
				&lt;remove value=&quot;index.cfm&quot; /&gt;
				&lt;add value=&quot;index.cfm&quot; /&gt;
			&lt;/files&gt;
		&lt;/defaultDocument&gt;
	&lt;/system.webServer&gt;
&lt;/configuration&gt;&lt;/code&gt;

&lt;p&gt;Then, update your settings.ini.cfm file with the following settings and from the Admin &amp;gt; Reload Application:&lt;/p&gt;
&lt;code&gt;siteidinurls=0
indexfileinurls=0&lt;/code&gt;


&lt;h4&gt;Option 2: Allow For Missing  index.cfm From The URL, But Keep SiteID&lt;/h4&gt;
&lt;p&gt;Create a &amp;quot;web.config&amp;quot; file with the following code and place it at the root of your Mura installation:&lt;/p&gt;
&lt;code&gt;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;configuration&gt;
	&lt;system.webServer&gt;
		&lt;rewrite&gt;
			&lt;rules&gt;
				&lt;rule name=&quot;Mura CMS Rewrite Option 2&quot; enabled=&quot;true&quot;&gt;
					&lt;match url=&quot;^([a-zA-Z0-9-]{1,})/([a-zA-Z0-9/-]+)$&quot; ignoreCase=&quot;false&quot; /&gt;
					&lt;conditions logicalGrouping=&quot;MatchAll&quot;&gt;
						&lt;add input=&quot;{DOCUMENT_ROOT}{URL}&quot; matchType=&quot;IsDirectory&quot; ignoreCase=&quot;false&quot; negate=&quot;true&quot; /&gt;
					&lt;/conditions&gt;
					&lt;action type=&quot;Rewrite&quot; url=&quot;/{R:1}/index.cfm/{R:2}&quot; /&gt;
				&lt;/rule&gt;
			&lt;/rules&gt;
		&lt;/rewrite&gt;
		&lt;defaultDocument&gt;
			&lt;files&gt;
				&lt;remove value=&quot;index.cfm&quot; /&gt;
				&lt;add value=&quot;index.cfm&quot; /&gt;
			&lt;/files&gt;
		&lt;/defaultDocument&gt;
	&lt;/system.webServer&gt;
&lt;/configuration&gt;&lt;/code&gt;

&lt;p&gt;Then, update your settings.ini.cfm file with the following settings and from the Admin &amp;gt; Reload Application:&lt;/p&gt;
&lt;code&gt;siteidinurls=1
indexfileinurls=0&lt;/code&gt;

&lt;p&gt;Your site should now be able to handle URLs that are missing index.cfm.&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>IIS</category>				
				
				<category>Search Engine Optimization</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Thu, 15 Sep 2011 09:06:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2011/9/15/Removing-indexcfm-From-Mura-CMS-URLs-on-WindowsIIS7</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>How to Create  Dynamic Content Display Objects in Mura CMS with MuraFW1 Plugins</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2011/8/31/How-to-Create--Dynamic-Content-Display-Objects-in-Mura-CMS-with-MuraFW1-Plugins</link>
				<description>
				
				&lt;p&gt;If you&apos;ve ever created a &lt;a href=&quot;https://github.com/stevewithington/MuraFW1&quot;&gt;MuraFW1&lt;/a&gt; plugin for &lt;a href=&quot;http://getmura.com&quot;&gt;Mura CMS&lt;/a&gt; (which this article assumes by the way!), you may have wondered how to go about creating dynamic Content Display Objects. Doing so would enable an end-user to edit a page, go to the Content Objects tab, select Plugins from the Available Content Objects dropdown, select your plugin, then select your &amp;quot;dynamic display object&amp;quot; which would then fire off and return yet form field containing the dynamic list of options available to be assigned to the desired content display region.&lt;/p&gt;
&lt;p&gt;Still with me? Great!&lt;/p&gt;
&lt;p&gt;Ultimately, there&apos;s three main parts to this:&lt;/p&gt;
&lt;blockquote&gt;
	&lt;p&gt;1. Create the display method, i.e., &lt;strong&gt;myDisplay&lt;/strong&gt;&lt;/p&gt;
	&lt;p&gt;2. Then create an &amp;quot;OptionsRender&amp;quot; display method which follows the naming convention of &lt;strong&gt;myDisplay&lt;span style=&quot;color:red;&quot;&gt;OptionsRender&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
	&lt;p&gt;3. Finally, we&apos;ll add the basic display method (i.e., myDisplay) to the &lt;strong&gt;config.xml.cfm&lt;/strong&gt;&apos;s list of available &lt;strong&gt;displayObjects&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;1. Create The Display Method&lt;/h3&gt;
&lt;p&gt;In the pluginEventHandler.cfc, we can add our basic display method. Ultimately, we should eventually expect a JSON formatted variable to be passed in via $.event(&apos;params&apos;). Obviously, we&apos;ll need to deserialize the JSON, and once we do that, we can do whatever we like with it. An easy way to pass this information over to FW/1 is to stuff any desired variables into the URL scope ... and then call the typical renderApp() method and let FW/1 take over from there. Check out our simple example below which is expecting to find &amp;quot;&lt;strong&gt;whateverID&lt;/strong&gt;&amp;quot; to be in the unpacked params:&lt;/p&gt;
&lt;code&gt;&lt;cffunction name=&quot;dspWhatever&quot; output=&quot;false&quot; returntype=&quot;any&quot;&gt;
	&lt;cfargument name=&quot;$&quot; hint=&quot;mura scope&quot; /&gt;
	&lt;cfscript&gt;
		var local = {};

		// grab everything that&apos;s been passed in from OptionsRender() and unpack the JSON option values that were saved
		local.params = DeserializeJSON($.event(&apos;params&apos;));

		// stuff selected WhateverID into the url scope so that fw1 will pick it up
		if ( StructKeyExists(local.params, &apos;whateverid&apos;) ) {
			url.whateverid = local.params.whateverid;
		};

		// something went wrong ... so let&apos;s not bomb everything
		if ( not StructKeyExists(url, &apos;whateverid&apos;) ) {
			return &apos;&apos;;
		} else {
			return renderApp($,&apos;public:main.default&apos;);
		};
	&lt;/cfscript&gt;
&lt;/cffunction&gt;&lt;/code&gt;

&lt;h3&gt;2. Create An &amp;quot;OptionsRender&amp;quot; Method&lt;/h3&gt;
&lt;p&gt;Now for the magical part! Whatever you named your displayMethod, you simply append &amp;quot;OptionsRender&amp;quot; to the end of it. So if you have dspWidgets, then you would have dspWidgetsOptionsRender as an available method. In the example below, I&apos;m creating a simple recordset which we&apos;ll then loop over to output the options and dynamically generate the option value which is &lt;strong&gt;a tilde (~) separated list where the last item in the list is a JSON formatted list of params&lt;/strong&gt;...yes, the very same params our display method in step one is expecting to find!&lt;/p&gt;

&lt;code&gt;&lt;cffunction name=&quot;dspWhateverOptionsRender&quot; output=&quot;false&quot; returntype=&quot;any&quot;&gt;
	&lt;cfargument name=&quot;$&quot; /&gt;
	&lt;cfscript&gt;
		var local = {};
		
		// this recordset could come from anywhere ... doesn&apos;t even have to be a recordset, could be anything that contains data that you want to grab options from
		local.rs = QueryNew(&apos;WhateverID,WhateverTitle,WhateverField&apos;, &apos;VarChar,VarChar,VarChar&apos;);

		QueryAddRow(local.rs, 1);
		QuerySetCell(local.rs,&apos;WhateverID&apos;, &apos;anyid-1&apos;, 1);
		QuerySetCell(local.rs,&apos;WhateverTitle&apos;, &apos;My Awesome Title&apos;, 1);
		QuerySetCell(local.rs, &apos;WhateverField&apos;, &apos;Hi Ho Cherry-O&apos;, 1);

		QueryAddRow(local.rs, 1);
		QuerySetCell(local.rs, &apos;WhateverID&apos;, &apos;anyid-2&apos;, 2);
		QuerySetCell(local.rs, &apos;WhateverTitle&apos;, &apos;Another Great Title&apos;, 2);
		QuerySetCell(local.rs, &apos;WhateverField&apos;, &apos;Knick Knack Paddy Whack&apos;, 2);
	&lt;/cfscript&gt;
	&lt;cfsavecontent variable=&quot;local.str&quot;&gt;
		&lt;cfif local.rs.recordcount&gt;
			&lt;select name=&quot;availableObjects&quot; id=&quot;availableObjects&quot; class=&quot;dropdown&quot;&gt;
				&lt;!--- we&apos;re going to pack everything up into a tilde (~) separated list where the last item in the is a JSON formatted list of params to be passed over to the display method ---&gt;
				&lt;cfoutput query=&quot;local.rs&quot;&gt;
					&lt;option value=&quot;plugin~#HTMLEditFormat(Replace(WhateverTitle,&apos;~&apos;,&apos;&apos;,&apos;ALL&apos;))#~#$.event(&apos;objectid&apos;)#~{&apos;whateverid&apos;:&apos;#WhateverID#&apos;,&apos;anotherfield&apos;:&apos;#WhateverField#&apos;}&quot;&gt;
						#HTMLEditFormat(WhateverTitle)#
					&lt;/option&gt;
				&lt;/cfoutput&gt;
			&lt;/select&gt;
		&lt;cfelse&gt;
			&lt;p&gt;&lt;em&gt;Please create some Whatevers first.&lt;/em&gt;&lt;/p&gt;
		&lt;/cfif&gt;
	&lt;/cfsavecontent&gt;
	&lt;cfreturn local.str /&gt;
&lt;/cffunction&gt;&lt;/code&gt;

&lt;h3&gt;3. Add The Rendering Method To config.xml.cfm&lt;/h3&gt;
&lt;p&gt;The final step in all this is to add your basic displayMethod to your config.xml.cfm file so that it will be registered with Mura CMS. Once it is, then we should expect to see it show up in the Content Objects tab when someone selects our plugin.&lt;/p&gt;

&lt;code&gt;&lt;displayobjects location=&quot;global&quot;&gt;
	&lt;displayobject name=&quot;Display Whatever&quot; displaymethod=&quot;dspWhatever&quot; component=&quot;pluginEventHandler&quot; persist=&quot;false&quot; /&gt;
&lt;/displayobjects&gt;&lt;/code&gt;

&lt;p&gt;That&apos;s it! Hopefully this helps anyone else who is creating FW/1 plugins for Mura CMS.&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Mura Plugins</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Wed, 31 Aug 2011 08:26:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2011/8/31/How-to-Create--Dynamic-Content-Display-Objects-in-Mura-CMS-with-MuraFW1-Plugins</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Amazon Announces ElastiCache: An In-Memory Cache in the Cloud</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2011/8/23/Amazon-Announces-ElastiCache-An-InMemory-Cache-in-the-Cloud</link>
				<description>
				
				&lt;p&gt;It was only a matter of time before Amazon&apos;s offerings would include an in-memory cache service via their amazon webservices (aws) cloud architecture and today is the day! If you&apos;re looking for a scalable object caching system, you might want to seriously consider &lt;a href=&quot;http://aws.amazon.com/elasticache/&quot;&gt;Amazon&apos;s ElastiCache&lt;/a&gt;. Although it&apos;s currently in beta (what isn&apos;t these days), it&apos;s open for business and ready to handle your caching needs.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://docs.amazonwebservices.com/AmazonElastiCache/latest/UserGuide/&quot;&gt;documentation&lt;/a&gt; is farily robust considering it&apos;s &apos;beta&apos; status. I found their section on &lt;a href=&quot;http://docs.amazonwebservices.com/AmazonElastiCache/latest/UserGuide/index.html?ChooseACacheNodeType.html&quot;&gt;choosing cache node type and the number of cache nodes&lt;/a&gt; particularly helpful.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://aws.amazon.com/resources/webinars/?f=product/amazon-elasticache_v1-1&amp;t=mov&amp;s=s1i8hyopmhj1ma&amp;p=playlists/product_playlist.xml&amp;state=play&amp;parent=http://localhost/test_video/iframe.html?f&amp;d=product_playlist.xml&quot;&gt;Be sure to check out this cool little demo of ElastiCache &amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>Amazon Web Services</category>				
				
				<pubDate>Tue, 23 Aug 2011 09:27:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2011/8/23/Amazon-Announces-ElastiCache-An-InMemory-Cache-in-the-Cloud</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Dynamically Define a Mura CMS Theme&apos;s Display Regions</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2011/8/16/Dynamically-Define-a-Mura-CMS-Themes-Display-Regions</link>
				<description>
				
				&lt;p&gt;A question came up recently regarding &lt;a href=&quot;http://getmura.com&quot;&gt;Mura CMS&lt;/a&gt; and how to alter the available content object display regions. This is actually quite simple to control from within the Admin area of the site by going to Site Settings &amp;gt; Select the Site &amp;gt; Select the Display Regions Tab and then choose the &lt;strong&gt;Number of Display Regions&lt;/strong&gt;, select the&lt;strong&gt; Primary Display Region&lt;/strong&gt; and define the &lt;strong&gt;Display Region Names&lt;/strong&gt; as a carrot &amp;quot;^&amp;quot; delimited list.&lt;/p&gt;
&lt;p&gt;However, this particular inquisitor was actually interested in how to control these settings from within a specific theme itself. Luckily, as with most things in Mura, it really isn&apos;t all that difficult to do.&lt;/p&gt;
&lt;p&gt;Since this is not something we would want to happen everytime a page loads, it would probably work best to use the &lt;strong&gt;onApplicationLoad()&lt;/strong&gt; method in the theme&apos;s &lt;strong&gt;eventHandler.cfc&lt;/strong&gt;. This way, it will only be executed whenever the entire application is loaded. The next thing we need to figure out is what methods we need to call and how to tell Mura to save our settings.&lt;/p&gt;
&lt;p&gt;So, as I&apos;ve pointed other people in the past, most all of the important methods that comprise the Mura engine can be found under the /&lt;strong&gt;requirements/mura/&lt;/strong&gt; directory. Since we&apos;re dealing with Site Settings, we&apos;ll want to review the methods available to us under the &apos;&lt;strong&gt;settings&lt;/strong&gt;&apos; directory. There you&apos;ll find  &lt;strong&gt;settingsManager.cfc&lt;/strong&gt; among other files. Within this file, you&apos;ll be able to locate a method called &lt;strong&gt;update()&lt;/strong&gt; which takes an argument called data which is required to be a struct/object. The data object should have a key which contains the siteid of the site we wish to edit the settings for. Then, we can update any of the available settings we wish! &lt;/p&gt;
&lt;p&gt;Here&apos;s some code for you to play around with:&lt;/p&gt;

&lt;code&gt;&lt;cffunction name=&quot;onApplicationLoad&quot;&gt;
	&lt;cfargument name=&quot;$&quot; /&gt;
	&lt;cfscript&gt;
		var local = {};
		
		// dynamically alter the available display regions from within a theme
		local.data = {
			siteID = $.siteConfig(&apos;siteid&apos;)
			, columnCount = 5
			, primaryColumn = 3
			, columnNames = &apos;Test^Left Column^Main Content^Right Column^Footer&apos;
		};
		local.siteBean = $.getBean(&apos;settingsManager&apos;);
		local.siteBean.update(local.data);
	&lt;/cfscript&gt;
&lt;/cffunction&gt;&lt;/code&gt;

&lt;p&gt;If you&apos;re wondering what settings are available to you, simply do a dump of all the existing values:&lt;/p&gt;
&lt;code&gt;&lt;cfdump var=&quot;#$.siteConfig().getAllValues()#&quot; /&gt;&lt;/code&gt;

&lt;p&gt;Hope that helps someone else trying to update their Mura Site Settings from within the theme itself.&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Tue, 16 Aug 2011 15:03:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2011/8/16/Dynamically-Define-a-Mura-CMS-Themes-Display-Regions</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>SQL Syntax To Get Columns From Database</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2011/7/1/SQL-Syntax-To-Get-Columns-From-Database</link>
				<description>
				
				&lt;p&gt;Have you ever wanted a simple way to get the column names of a database table, but just didn&apos;t know how to go about doing it? I&apos;ve seen this question come up from time-to-time in the wild and thought I would share my simple solution using straightforward SQL syntax.&lt;/p&gt;

&lt;p&gt;Obviously, most programming languages offer methods to obtain this information as well, however I thought this might be helpful to ColdFusion/CFML developers or any other SQL users who are looking for a quick and painless way to get what they need.&lt;/p&gt;

&lt;h3&gt;MySQL Syntax&lt;/h3&gt;
&lt;code&gt;
&lt;!--- MySQL syntax to get column names ---&gt;
&lt;cfquery name=&quot;rsMySQLColumns&quot; datasource=&quot;MyDSN&quot;&gt;
	SHOW COLUMNS from MyTable
&lt;/cfquery&gt;
&lt;cfset MySQLColumns = ValueList(rsMySQLColumns.Field)&gt;
&lt;/code&gt;

&lt;h3&gt;MS SQL Syntax&lt;/h3&gt;
&lt;code&gt;
&lt;!--- MS SQL syntax to get column names ---&gt;
&lt;cfquery name=&quot;rsMSSQLColumns&quot; datasource=&quot;MyDSN&quot;&gt;
	SELECT column_name,*
	FROM information_schema.columns
	WHERE table_name = &apos;MyTable&apos;
	ORDER BY ordinal_position
&lt;/cfquery&gt;
&lt;cfset MSSQLColumns = ValueList(rsMSSQLColumns.column_name)&gt;
&lt;/code&gt;

&lt;p&gt;Cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>SQL</category>				
				
				<pubDate>Fri, 01 Jul 2011 10:54:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2011/7/1/SQL-Syntax-To-Get-Columns-From-Database</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Please Help Me Run in Chicago to Help Mitchell Swaback Charities</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2011/4/22/Please-Help-Me-Run-in-Chicago-to-Help-Mitchell-Swaback-Charities</link>
				<description>
				
				&lt;p&gt;Shortly after becoming the lead web developer for &lt;a href=&quot;http://www.ignition-studio.com&quot; target=&quot;_blank&quot;&gt;Ignition Studio&lt;/a&gt; in early 2007, I was introduced to one of our clients, Bob Swaback and &lt;a href=&quot;http://www.mitchellswabackcharities.org&quot; target=&quot;_blank&quot;&gt;Mitchell Swaback Charities&lt;/a&gt;. I don&apos;t care who you are, or what your background is...if all you do is read &lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/mitchs-story/&quot; target=&quot;_blank&quot;&gt;the story of Bob and Gaye&apos;s son Mitch&lt;/a&gt; and why this organization even exists today...you can&apos;t help but be inspired. If you continue to read his &lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/mitchs-story/mitchs-journal/&quot; target=&quot;_blank&quot;&gt;journal entries&lt;/a&gt;, &lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/mitchs-story/tributes/&quot; target=&quot;_blank&quot;&gt;the testimonials&lt;/a&gt;, and &lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/projects/&quot; target=&quot;_blank&quot;&gt;the lives that have been touched by this group&lt;/a&gt;, you will be moved. I&apos;ve watched from the sidelines; posting story after story, reading everyones comments, posting new projects, events, and all of the updates, pictures and videos that go along with them. I&apos;ve attended the annual golf outings and dinners and listened as friends and family shared their memories of Mitch. I&apos;ve helped put together the &lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/media/e-newsletter-archive/&quot; target=&quot;_blank&quot;&gt;monthly e-blasts&lt;/a&gt;...and yes, even &lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/mitchs-story/mitchs-anniverary-e-blasts/&quot; target=&quot;_blank&quot;&gt;the ones on Mitch&apos;s Anniversary&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Isn&apos;t it beautiful though, to see all of the great things that have been done with the loss of this young man?&lt;/strong&gt;&amp;nbsp; It&apos;s painful...and beautiful...all at the same time.&lt;/p&gt;
&lt;p&gt;However, the impetus for me to &lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/events/2011-chicago-half-marathon/steve-withington/&quot; target=&quot;_blank&quot;&gt;run the half marathon&lt;/a&gt; this year goes back to that first year I became involved. In 2007, MSC had a similar fundraiser where several people signed up to run either the &lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/events/2007-banco-popular-chicago-half-marathon/&quot; target=&quot;_blank&quot;&gt;half&lt;/a&gt; of &lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/events/2007-chicago-marathon/&quot; target=&quot;_top&quot;&gt;full marathon&lt;/a&gt; in Chicago. Mitch&apos;s dad, Bob, committed to running both!&amp;nbsp; Together, they raised nearly $100,000 that year. At that time, I was nearly sixty pounds heavier and wouldn&apos;t have been able to run around the block without taking a break...trust me, I tried.&amp;nbsp; I told my coworkers at Ignition Studio that if MSC would do this fundraiser again, I would run...well, here I am.&lt;/p&gt;
&lt;p&gt;I might not be ready to run the full thirteen miles yet, but with the help of my son Parker, my daugher Meredith and all of my family, friends and supporters....&lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/events/2011-chicago-half-marathon/&quot; target=&quot;_blank&quot;&gt;I&apos;m gonna run&lt;/a&gt;...one step at a time.&lt;/p&gt;
&lt;p&gt;Please consider supporting me with either a kind word, or even a &lt;a href=&quot;http://www.mitchellswabackcharities.org/index.cfm/events/2011-chicago-half-marathon/steve-withington/&quot; target=&quot;_blank&quot;&gt;token donation to Mitchell Swaback Charities by sponsoring my run&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you&apos;re interested, please feel free to follow my training activites and updates at &lt;a href=&quot;http://twitter.com/#!/runwithsteve&quot;&gt;http://twitter.com/RunWithSteve&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Social Media</category>				
				
				<category>Twitter</category>				
				
				<category>Faith</category>				
				
				<category>Family + Friends</category>				
				
				<pubDate>Fri, 22 Apr 2011 07:21:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2011/4/22/Please-Help-Me-Run-in-Chicago-to-Help-Mitchell-Swaback-Charities</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Beware of Implicit Structs Bug in ColdFusion 9,0,1</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2011/1/13/Beware-of-Implicit-Structs-Bug-in-ColdFusion-901</link>
				<description>
				
				&lt;p&gt;This has been driving me nuts and I&apos;m not sure how well documented this is, but I&apos;ve stumbled across a bug in ColdFusion 9,0,1,274733 where implicit structs can end up as &apos;undefined&apos; and crash your application.&lt;/p&gt;
&lt;p&gt;I was working through an example from &lt;a href=&quot;http://www.amazon.com/gp/product/1935182323?ie=UTF8&amp;tag=stephewithin-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1935182323&quot;&gt;jQuery in Action, Second Edition&lt;/a&gt;&lt;img src=&quot;http://www.assoc-amazon.com/e/ir?t=stephewithin-20&amp;l=as2&amp;o=1&amp;a=1935182323&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;border:none !important; margin:0px !important;&quot; /&gt; (you know, because I was trying to figure something &lt;em&gt;else&lt;/em&gt; out) when this happened to me again and I thought I would go ahead and share a simple way for others to test and let me know if it&apos;s happening to them.&lt;/p&gt;
&lt;p&gt;Create a page called test.cfm and drop this code in it, point your browser to it and you&apos;ll probably see an error of &apos;&lt;strong&gt;Variable TERMS is undefined&lt;/strong&gt;&apos;.&lt;/p&gt;
&lt;code&gt;
&lt;cfscript&gt;
	if ( not IsDefined(&apos;term&apos;) ) {
		term = &apos;unknown&apos;;
	};
	term = lcase(term);

	terms = {
		&apos;oil-tanned&apos; = &apos;A method of leather tanning in which oils or fats are used to cure the leather. Such leather is usually very supple and has a matte or &amp;quot;oily&amp;quot; finish and is not generally polishable.&apos;,
		&apos;full-grain&apos; = &apos;Leather which has not been altered beyond hair removal. Full-grain leather is the most genuine type of leather, as it retains all of the original texture and markings of the original hide.&apos;,
		&apos;vibram&apos; = &apos;A brand of boot and shoe sole created by Vitale Bramani in the 1930s, orginally for climbing boots. They are easily identified by the distinctive yellow Vibram&amp;reg; octagon. The Vibram&amp;reg; brand is recognized worldwide as the leader in high performance soling products for outdoor, dress casual, and service footwear.&apos;,
		&apos;goodyear welt&apos; = &apos;The Goodyear welt is a method of attaching the sole of a shoe to the upper that is hand-stitched and allows multiple sole replacements, extending the life of the footwear.&apos;,
		&apos;cambrelle&apos; = &apos; A non-woven synthetic fabric used primarily as a lining for shoes, boots and slippers.&apos;,
		&apos;cordura&apos; = &apos;A certified fabric from INVISTA used in a wide range of products from luggage and backpacks to boots, to military wear and performance apparel. Cordura&amp;reg; is resistant to abrasions, tears and scuffs.&apos;,
		&apos;gore-tex&apos; = &apos;A water-proof and breathable fabric that offers superior insulating abilities in a light-weight fabric.&apos;,
		&apos;stitch-down&apos; = &apos;A method of boot construction that helps seal the boot against dirt, mud, and water and maximizes flexibility.&apos;,
		&apos;unknown&apos; = &apos;Unknown term.&apos;
	};
&lt;/cfscript&gt;
&lt;cfoutput&gt;#terms[term]#&lt;/cfoutput&gt;
&lt;/code&gt;


&lt;p&gt;The funny thing is, if I move the code at the top of the page below the implicit struct, the page loads fine! Here&apos;s some code that should work now:&lt;/p&gt;
&lt;code&gt;
&lt;cfscript&gt;	
	terms = {
		&apos;oil-tanned&apos; = &apos;A method of leather tanning in which oils or fats are used to cure the leather. Such leather is usually very supple and has a matte or &amp;quot;oily&amp;quot; finish and is not generally polishable.&apos;,
		&apos;full-grain&apos; = &apos;Leather which has not been altered beyond hair removal. Full-grain leather is the most genuine type of leather, as it retains all of the original texture and markings of the original hide.&apos;,
		&apos;vibram&apos; = &apos;A brand of boot and shoe sole created by Vitale Bramani in the 1930s, orginally for climbing boots. They are easily identified by the distinctive yellow Vibram&amp;reg; octagon. The Vibram&amp;reg; brand is recognized worldwide as the leader in high performance soling products for outdoor, dress casual, and service footwear.&apos;,
		&apos;goodyear welt&apos; = &apos;The Goodyear welt is a method of attaching the sole of a shoe to the upper that is hand-stitched and allows multiple sole replacements, extending the life of the footwear.&apos;,
		&apos;cambrelle&apos; = &apos; A non-woven synthetic fabric used primarily as a lining for shoes, boots and slippers.&apos;,
		&apos;cordura&apos; = &apos;A certified fabric from INVISTA used in a wide range of products from luggage and backpacks to boots, to military wear and performance apparel. Cordura&amp;reg; is resistant to abrasions, tears and scuffs.&apos;,
		&apos;gore-tex&apos; = &apos;A water-proof and breathable fabric that offers superior insulating abilities in a light-weight fabric.&apos;,
		&apos;stitch-down&apos; = &apos;A method of boot construction that helps seal the boot against dirt, mud, and water and maximizes flexibility.&apos;,
		&apos;unknown&apos; = &apos;Unknown term.&apos;
	};

	if ( not IsDefined(&apos;term&apos;) ) {
		term = &apos;unknown&apos;;
	};
	term = lcase(term);
&lt;/cfscript&gt;
&lt;cfoutput&gt;#terms[term]#&lt;/cfoutput&gt;
&lt;/code&gt;
&lt;p&gt;If I&apos;m doing something wrong, please don&apos;t hesitate to point it out to me. Thanks!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>jQuery</category>				
				
				<pubDate>Thu, 13 Jan 2011 16:16:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2011/1/13/Beware-of-Implicit-Structs-Bug-in-ColdFusion-901</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>How to Force Mura CMS to Use Primary Domains in SEO-Friendly Way</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/12/15/How-to-Force-Mura-CMS-to-Use-Primary-Domains-in-SEOFriendly-Way</link>
				<description>
				
				&lt;p&gt;&lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt; allows you to have multiple URLs assigned to each particular site. For example, you could have &lt;strong&gt;http://domain.com&lt;/strong&gt; be your &apos;primary&apos; domain and &lt;strong&gt;http://www.domain.com&lt;/strong&gt; and &lt;strong&gt;http://www.anotherdomain.com&lt;/strong&gt; set up as &apos;domain aliases&apos; so that when you navigate to any one of these domains, Mura will serve up the desired site. This is pretty cool actually and there are a number of use cases out there on why you would want that to happen. However, if you want the &apos;primary&apos; domain to be the one and only one used for SEO purposes and such, then you&apos;ll need to make just a couple of minor tweaks to make that happen. The best part is, I&apos;ll show you just how easy this is!&lt;/p&gt;
&lt;p&gt;The first thing you&apos;ll need to do is copy the following method into your local contentRenderer.cfc. It&apos;s located at /{siteid}/includes/contentRenderer.cfc (&lt;em&gt;or if you want this to be &apos;theme-specific&apos; then edit the one located at /{siteid}/includes/themes/{themeName}/contentRenderer.cfc&lt;/em&gt;).&lt;/p&gt;

&lt;code&gt;&lt;cffunction name=&quot;doEnforceDomain&quot; access=&quot;public&quot; output=&quot;false&quot; returntype=&quot;any&quot; hint=&quot;By default, I will redirect users in an SEO-friendly way to your primary domain ... you may optionally override this by giving me an alternate &apos;primary&apos; domain to enforce.&quot;&gt;
	&lt;cfargument name=&quot;domain&quot; required=&quot;false&quot; default=&quot;#$.siteConfig(&apos;domain&apos;)#&quot; /&gt;
	&lt;cfscript&gt;
		var local = StructNew();
		local.doRedirect = false;
		local.servername = getPageContext().getRequest().getServerName();
		if ( local.servername neq arguments.domain ) {
			local.doRedirect = true;
			local.servername = arguments.domain;
			local.baseurl = getPageContext().getRequest().getScheme() &amp; &apos;://&apos; &amp; local.servername;
			// if not using a standard port, we should prolly include it
			local.port = getPageContext().getRequest().getServerPort();
			if ( local.port neq &apos;80&apos; and local.port neq &apos;443&apos; ) {
				local.baseurl = local.baseurl &amp; &apos;:&apos; &amp; local.port;
			};
			// uri returns &apos;/index.cfm/path/to/page/&apos;
			local.uri = getPageContext().getRequest().getRequestURI();
			local.urlstr = local.baseurl &amp; local.uri;
			// append query string, if any
			if ( len(trim(getPageContext().getRequest().getQueryString())) ) {
				local.urlstr = local.urlstr &amp; &apos;?&apos; &amp; getPageContext().getRequest().getQueryString();
			};
		};
	&lt;/cfscript&gt;		
	&lt;cfif local.doRedirect&gt;
		&lt;cflocation url=&quot;#local.urlstr#&quot; addtoken=&quot;false&quot; statuscode=&quot;301&quot; /&gt;
		&lt;cfelse&gt;
		&lt;cfreturn /&gt;
	&lt;/cfif&gt;
&lt;/cffunction&gt;
&lt;/code&gt;


&lt;p&gt;The last thing you&apos;ll need is an itsy-bitsy, teeny-weeny line of code that can actually be dropped in a number of different places. More on that in a second. However, if you want your entire site to always use the primary domain, then drop the following line of code into your local eventHandler.cfc in the onRenderStart() method. This is located in the same locations as the contentRenderer.cfc.&lt;/p&gt;

&lt;code&gt;&lt;cffunction name=&quot;onRenderStart&quot;&gt;
	&lt;cfargument name=&quot;$&quot; /&gt;
	&lt;cfset $.getContentRenderer().doEnforceDomain() /&gt;
&lt;/cffunction&gt;
&lt;/code&gt;

&lt;p&gt;Remember how I mentioned you could drop this in a number of different places? Well, let me explain. Let&apos;s say you have an area of the site that uses a particular template and you want ONLY that area of the site to use a specific domain...for example &apos;http://docs.domain.com&apos; for a documents area. Well instead of using the eventHandler.cfc route, you could just drop this at the top of the template and then anytime someone visits this area, they&apos;ll get re-routed properly and in a SEO-friendly manner. Isn&apos;t that sweet?&lt;/p&gt;
&lt;code&gt;&lt;cfscript&gt;
	$.getContentRenderer().doEnforceDomain(&apos;docs.domain.com&apos;);
&lt;/cfscript&gt;
&lt;/code&gt;

&lt;p&gt;As always, I hope this helps!&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Search Engine Optimization</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Wed, 15 Dec 2010 18:45:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/12/15/How-to-Force-Mura-CMS-to-Use-Primary-Domains-in-SEOFriendly-Way</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>cf.Objective() 2011 Pricing Announced</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/12/2/cfObjective-2011-Pricing-Announced</link>
				<description>
				
				&lt;p&gt;Yo! ColdFusion peeps! It&apos;s hard to believe it, but &lt;a href=&quot;http://www.cfobjective.com/&quot; target=&quot;_blank&quot;&gt;cf.Objective() 2011&lt;/a&gt;, the world&apos;s only enterprise engineering conference for ColdFusion, will be here before you know it. The conference will be held in sunny downtown Minneapolis, MN and runs May 12-14, 2011. In fact, pricing has just been announced and is available on the &lt;a href=&quot;http://www.cfobjective.com/&quot; target=&quot;_blank&quot;&gt;cf.Objective() web site&lt;/a&gt;. Oh, and register by February 14th, 2011 and save an extra $100!
&lt;/p&gt;
&lt;p&gt;So, when you prepare your budget for next year, if you haven&apos;t already done so, don&apos;t forget to include cf.Objective() 2011.&lt;/p&gt;
&lt;h3&gt;Hey, CFUnited Attendees ...&lt;/h3&gt;
&lt;p&gt;If you have &lt;em&gt;EVER&lt;/em&gt; been an attendee of CFUnited, you are eligible for a $100 Alumni Discount! How cool is that?&lt;/p&gt;
&lt;h3&gt;Vote Now!&lt;/h3&gt;
&lt;p&gt;While you&apos;re at it, tell cf.Objective() what you&apos;re interested in learning about by completing a brief &lt;a href=&quot;http://engage.cfobjective.com/&quot; target=&quot;_blank&quot;&gt;Topic Suggestion Survey &amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope to see you there!&lt;/p&gt;
				
				</description>
						
				
				<category>Flex</category>				
				
				<category>OO</category>				
				
				<category>Presentations</category>				
				
				<category>ColdFusion</category>				
				
				<category>jQuery</category>				
				
				<category>JavaScript</category>				
				
				<pubDate>Thu, 02 Dec 2010 14:45:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/12/2/cfObjective-2011-Pricing-Announced</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Removing index.cfm From Mura CMS URLs on Windows/IIS</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/11/4/Removing-indexcfm-From-Mura-CMS-URLs-on-WindowsIIS</link>
				<description>
				
				&lt;p&gt;While it&apos;s fairly easy to find out how to remove &apos;index.cfm&apos; from your URL if you are using Apache (see &lt;a href=&quot;http://jamiekrug.com/blog/index.cfm/2010/8/31/cfml-tomcat-apache-ajp-proxy-redux&quot; target=&quot;_blank&quot;&gt;Jamie Krug&apos;s blog&lt;/a&gt; and &lt;a href=&quot;http://blog.mattwoodward.com/eliminating-indexcfm-from-mura-urls-with-apac&quot; target=&quot;_blank&quot;&gt;Matt Woodward&apos;s&lt;/a&gt; too), I haven&apos;t found any information on how to go about doing it if you&apos;re using Windows with IIS. As with anything else in this world, there are definitely more ways than one to accomplish this. However, I hope to show you an extremely painless and easy way to set this up.&lt;/p&gt;
&lt;p&gt;Since everyone has different configurations, I&apos;ll point out here that this should work with IIS6+.&lt;/p&gt;
&lt;h3&gt;Step 1&lt;/h3&gt;
&lt;p&gt;Purchase and install &lt;a href=&quot;http://www.helicontech.com/isapi_rewrite/&quot; target=&quot;_blank&quot;&gt;ISAPI/rewrite/3&lt;/a&gt; from &lt;a href=&quot;http://www.helicontech.com&quot; target=&quot;_blank&quot;&gt;Helicon Tech&lt;/a&gt;. As of the date and time of the writing of this article, it&apos;s only $99 per server and includes a free 45-day trial period. I do NOT recommend the freeware ISAPI_Rewrite Lite version since it does not allow for distributed .htaccess configurations, directory or web site level configurations. &lt;a href=&quot;http://www.helicontech.com/isapi_rewrite/doc/litever.htm&quot; target=&quot;_blank&quot;&gt;Other Lite version limitations can be found here.&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Step 2&lt;/h3&gt;
&lt;p&gt;Now we need to create and  add a &lt;strong&gt;.htaccess&lt;/strong&gt; file to the root of our site with the appropriate rewrite rules. However, you need to determine whether or not you want to include the &apos;SiteID&apos; in the URL.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt;, you have the option to either &lt;em&gt;include&lt;/em&gt; the &apos;SiteID&apos; in the URL (which is the default behavior) or &lt;em&gt;exclude&lt;/em&gt; the &apos;SiteID&apos; from the URL. You can alter this behavior by simply editing the settings.ini.cfm file located under the &apos;config&apos; directory.&lt;/p&gt;
&lt;p&gt;For example, locate the &lt;strong&gt;siteidinurls&lt;/strong&gt; and if you haven&apos;t changed it, it&apos;s probably set to&lt;strong&gt; siteidinurls=1&lt;/strong&gt;. Assuming yours is set this way, your URL would would be rendered like &lt;strong&gt;http://www.mydomain.com/siteid/index.cfm/path/to/page/&lt;/strong&gt;. If you change that to &lt;strong&gt;siteidinurls=0&lt;/strong&gt;, then your URL would be rendered as &lt;strong&gt;http://www.mydomain.com/index.cfm/path/to/page/&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;So depending on whether or not you &lt;em&gt;want&lt;/em&gt; the SiteID to appear in your URL, you&apos;ll want to use either Option A or Option B below.&lt;/p&gt;

&lt;h4&gt;Option A &amp;mdash; Remove SiteID AND index.cfm&lt;/h4&gt;
&lt;p&gt;Update your settings.ini.cfm file with the following settings:&lt;/p&gt;
&lt;code&gt;siteidinurls=0
indexfileinurls=0&lt;/code&gt;
&lt;p&gt;Then, drop the following code into your .htaccess file&lt;/p&gt;
&lt;code&gt;RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^([a-zA-Z0-9/-]+)$ /index.cfm%{REQUEST_URI} [PT]&lt;/code&gt;

&lt;h4&gt;Option B &amp;mdash; Keep SiteID but Remove index.cfm&lt;/h4&gt;
&lt;p&gt;Update your settings.ini.cfm file with the following settings:&lt;/p&gt;
&lt;code&gt;siteidinurls=1
indexfileinurls=0&lt;/code&gt;
&lt;p&gt;Then, drop the following code into your .htaccess file:&lt;/p&gt;
&lt;code&gt;RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^([a-zA-Z0-9-]{1,})/([a-zA-Z0-9/-]+)$ /$1/index.cfm/$2 [PT]&lt;/code&gt;

&lt;p&gt;That should be it. Hope that helps our friendly Windows IIS + Mura CMS users out there.&lt;/p&gt;
&lt;p&gt;Peace.&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>IIS</category>				
				
				<category>ISAPI</category>				
				
				<category>Search Engine Optimization</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Thu, 04 Nov 2010 09:55:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/11/4/Removing-indexcfm-From-Mura-CMS-URLs-on-WindowsIIS</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Learn Mura CMS at RIAUnleashed Boston 2010</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/11/3/Learn-Mura-CMS-at-RIAUnleashed-Boston-2010</link>
				<description>
				
				&lt;p&gt;&lt;a href=&quot;http://riaunleashed.com/page.cfm/workshops/building-a-website-in-mura-cms-in-2-hours-or-less&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I recently found out that I will be presenting &lt;a href=&quot;http://www.riaunleashed.com/page.cfm/workshops/building-a-website-in-mura-cms-in-2-hours-or-less&quot; target=&quot;_blank&quot;&gt;Learn How to Build a Website in Mura CMS in 2 Hours or Less&lt;/a&gt; at &lt;a href=&quot;http://www.riaunleashed.com&quot; target=&quot;_blank&quot;&gt;RIAUnleashed Boston 2010&lt;/a&gt;. The session appears to be slated for the afternoon of Thursday, November 11th. So if you want to get your hands on &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt; and grab some basic skills to get up and running, bring your laptop and stop on by.&lt;/p&gt;
&lt;h3&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;Because this is intended to be a hands-on session, having Mura installed and running on your laptop is highly recommended. We&apos;ll be covering the install process briefly for those who do not have access to a local working environment, but we won&apos;t be able to spend any time troubleshooting if issues arise.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.getmura.com/index.cfm/download/index.cfm&quot; target=&quot;_blank&quot;&gt;Download Mura &amp;gt;&amp;gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://docs.getmura.com/index.cfm/installation-set-up/&quot; target=&quot;_blank&quot;&gt;View Installation Docs &amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Presentations</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Wed, 03 Nov 2010 07:54:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/11/3/Learn-Mura-CMS-at-RIAUnleashed-Boston-2010</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Steve Withington Joins Blue River Interactive Group / Team Mura</title>
				<link>http://www.stephenwithington.com/blog/index.cfm/2010/10/12/Steve-Withington-Joins-Blue-River-Interactive-Group--Team-Mura</link>
				<description>
				
				&lt;p&gt;I am excited  to announce that I have formally accepted a position as an Application Engineer with&lt;a href=&quot;http://www.blueriver.com&quot; target=&quot;_blank&quot;&gt; Blue River Interactive Group&lt;/a&gt;, the creators of &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt;. Anyone who follows or knows me in any way should not be shocked by this announcement. I have been working with Mura CMS since &lt;a href=&quot;http://www.cfobjective.com&quot; target=&quot;_blank&quot;&gt;cf.Objective()&lt;/a&gt; 2009. (&lt;em&gt;Speaking of which, I am also happy to announce that I have been given the honor of serving on the cf.Objective() 2011 Steering Committee!&lt;/em&gt;) In addition to using Mura CMS on a vast number of projects at my day job, I have also been using it on nearly all of my freelance projects as well as providing support for a number of clients. So, needless to say, I have been active in the &lt;a href=&quot;http://www.getmura.com/forum/&quot; target=&quot;_blank&quot;&gt;Mura Support Forums&lt;/a&gt; and worked directly with many team members from Blue River over the past year or so. Obviously, &lt;a href=&quot;http://www.blueriver.com/go/br/services/&quot; target=&quot;_blank&quot;&gt;Blue River does much more than content management&lt;/a&gt;, and so do I. Mura has simply become one of my favorite tools in my &apos;software development toolbox.&apos;&lt;/p&gt;
&lt;p&gt;Whenever an opportunity presents itself, often difficult decisions have to be made... and trust me, this has not been as easy of a decision as one might think. Accepting this new position meant that I would be leaving my position with my current company, &lt;a href=&quot;http://www.ignition-studio.com&quot; target=&quot;_blank&quot;&gt;Ignition Studio, Inc.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I have been extremely fortunate over the past several years to have had the opportunity to work with an extraordinarily  talented and fun  group of people at Ignition Studio. It&apos;s so rare these days to find a job that does not feel like a job and one that you can  actually look forward to doing each and every day. That is exactly how I felt working with Lee, Gordon, Jaci, Greg, Kristen and Jessica ... the people who over the years have been a part of Team Ignition. In addition, I have had the honor of working on numerous projects with some of the best clients anyone could ever hope for. I sincerely wish my former teammates and clients continued success and hope we will continue our friendships into the future.&lt;/p&gt;
&lt;p&gt;I do not want to end on such a sad note though ... so, to all of my future teammates at Blue River, I cannot wait to begin working with you! I look forward to seeing many of you next week on my visit to Sacramento, California.&lt;/p&gt;
&lt;p&gt;Cheers!&lt;/p&gt;
				
				</description>
						
				
				<category>ColdFusion</category>				
				
				<category>Family + Friends</category>				
				
				<category>Mura CMS</category>				
				
				<pubDate>Tue, 12 Oct 2010 08:48:00 -0700</pubDate>
				<guid>http://www.stephenwithington.com/blog/index.cfm/2010/10/12/Steve-Withington-Joins-Blue-River-Interactive-Group--Team-Mura</guid>
				
			</item>
			
		 	
			</channel></rss>
