<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PANESAR.net &#187; Development</title>
	<atom:link href="http://www.panesar.net/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.panesar.net</link>
	<description>The secrets of a system integrator. My Journey of Startup, Product + Project Development</description>
	<lastBuildDate>Fri, 14 Oct 2011 14:53:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Important update to Mura FW/1 Plugin &#8211; packageNameAction instead of Action</title>
		<link>http://www.panesar.net/2011/09/19/important-update-to-mura-fw1-plugin-packagenameaction-instead-of-action/</link>
		<comments>http://www.panesar.net/2011/09/19/important-update-to-mura-fw1-plugin-packagenameaction-instead-of-action/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 22:19:21 +0000</pubDate>
		<dc:creator>Jas Panesar</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Framework One FW/1]]></category>
		<category><![CDATA[Mura CMS]]></category>

		<guid isPermaLink="false">http://www.panesar.net/?p=429</guid>
		<description><![CDATA[Given that I've recently released some slides and material on building plugins / applications using the Mura FW/1 plugin, the demo gods continue to smile down on me, except in a good way this time.

One of the things I'm really liking about Mura is the number of very, very smart people who care about making Mura as easy and painless to use as possible to do amazing things.   Many are developers who are outside of Blue River and it's a testament to the team behind Mura as well the codebase.

The long and short of it is this:  As we're using Mura FW/1 plugin template, and plugins in general, we're seeing some places we could enhance and have some benefit.  One area is ensuring multiple Mura plugins can work and play side by side without little issue.

I had the chance to take part in a conversation with some of the Blue River team and a few of us heavy Mura Developers, and the result of that conversation was to implement a simple change to  the official Mura FW/1 Plugin.  There is a notable difference in the Mura FW/1 template moving forward  should you download it moving forward from today:  Instead of appending an ?action=CfcName.FunctionName, the action has been expanded to be [packagename]action=CFCname.FunctionName.]]></description>
			<content:encoded><![CDATA[<p>Given that I&#8217;ve recently released some slides and material on building plugins / applications using the <a href="http://bit.ly/mura-fw1-plugin" target="_blank">Mura FW/1 plugin</a>, the demo gods continue to smile down on me, except in a good way this time.</p>
<p>One of the things I&#8217;m really liking about Mura is the number of very, very smart people who care about making Mura as easy and painless to use as possible to do amazing things. Â  Many are developers who are outside of Blue River and it&#8217;s a testament to the team behind Mura as well the codebase.</p>
<p>The long and short of it is this: Â As we&#8217;re using theÂ <a href="http://bit.ly/mura-fw1-plugin" target="_blank">Mura FW/1 plugin template</a>, and plugins in general, we&#8217;re seeing some places we could enhance and have some benefit. Â One area is ensuring multiple Mura plugins can work and play side by side without little issue.</p>
<p>I had the chance to take part in a conversation with some of the Blue River team and a few of us heavy Mura Developers, and the result of that conversation was to implement a simple change to Â the official Mura FW/1 Plugin. Â There is a notable difference in the Mura FW/1 template moving forward Â should you download it moving forward from today: Â Instead of appending an ?<strong>action</strong>=CfcName.FunctionName, the action has been expanded to be <strong>[packagename]action</strong>=CFCname.FunctionName.</p>
<p>So, for example if I gave my plugin the unique package name of JasPlugin , the action name in the URL would be<br />
<strong> </strong></p>
<pre><strong>
<pre class="brush: plain; title: ;">?JasPluginAction=CFCName.FunctionName</pre>
<p> </strong></pre>
<p>Where might this impact you? Â It shouldn&#8217;t as long as you use #buildUrl(subsystem:CFCName.FunctionName)# to generate your links. Â If you don&#8217;t you will have to make sure you write out the url correctly.</p>
<p style="font-weight: bold; "><strong>Why was this changeÂ necessary?</strong></p>
<p>One of the reasons is the Mura admin is written in FW/1 as well, and embedding FW/1 apps inside FW/1 apps can cause some confusion. Â By having a unique action name by default for each plugin, the opportunity for a crossed signal is greatly eliminated.</p>
<p>Secondly, having a shared request context between plugins is also a potential issue for cross-contamination during a request. Â This is also being worked on for a future update, but in the meantime, the above update will greatly help things.</p>
<p><strong>What about existing plugins?</strong></p>
<p>TheyÂ shouldÂ continue to work fine. Â If you&#8217;d like to change them to be consistent with the current plugin, the update is a cinch.</p>
<p>If you open the root of your plugin folder up and edit fw1config.cfm</p>
<p>Change this line:</p>
<pre class="brush: plain; title: ;">framework.action = 'action';</pre>
<p>to something unique like:</p>
<pre class="brush: plain; title: ;">framework.action = 'jaspluginaction';</pre>
<p><strong>Documentation?</strong></p>
<p>Steve Withington, Manager of the Mura FW/1 plugin at BlueRiver has modified the github page to reflect this. Â I suspect it will show up in documentation shortly but I thought I would put it here so it could be found as well.</p>
<p>I have updated my recent slides for <a href="http://www.panesar.net/2011/09/02/building-mura-cms-plugins-with-fw1-my-muracon-2011-preso/" target="_blank">Building Plugins Mura Plugins with FW/1</a> from MuraCon 2011 to reflect this like it was always the case. Â Please feel free to hit me up or anyone on the Mura Forums.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.panesar.net/2011/09/19/important-update-to-mura-fw1-plugin-packagenameaction-instead-of-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Mura CMS Plugins with FW/1 &#8211; My MuraCon 2011 Preso</title>
		<link>http://www.panesar.net/2011/09/02/building-mura-cms-plugins-with-fw1-my-muracon-2011-preso/</link>
		<comments>http://www.panesar.net/2011/09/02/building-mura-cms-plugins-with-fw1-my-muracon-2011-preso/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 19:54:23 +0000</pubDate>
		<dc:creator>Jas Panesar</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Framework One FW/1]]></category>
		<category><![CDATA[Mura CMS]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.panesar.net/?p=407</guid>
		<description><![CDATA[I had the pleasure of presenting at MuraCon 2011 last week in Sacramento, California.  It was nice to put a face to so many names and get to know the Blue River Team behind Mura CMS much better, and start so many new friendships.  

I presented two main Plugin topics for designers, developers and managers.

Why Plugins are important not just for you, but Mura,
How easy Plugins are to build for Mura using FW/1.]]></description>
			<content:encoded><![CDATA[<p>I had the pleasure of presenting at MuraCon 2011 last week in Sacramento, California. Â It was nice to put a face to so many names and get to know the Blue River Team behind Mura CMS much better, and start so many new friendships.</p>
<p><strong>I presented two main Plugin topics for designers, developers and managers. </strong></p>
<ol>
<li><strong>Why Plugins are important not just for you, but Mura,</strong></li>
<li><strong>How easy Plugins are to build for Mura using FW/1.</strong></li>
</ol>
<p>The MuraCon website will have slides posted soon, but I hadÂ receivedÂ a few requests for them and promised them, so here they are.</p>
<p>Please note the demo coding videos I presented at MuraCon ended up being over 500 mb, I am planning on re-shooting them if possible. Â In the meantime most of what I covered is available in <a href="http://www.getmura.com/linkservid/7CC55B06-7216-40D7-890C07A3D242E6A4/showMeta/0/" target="_blank">Mura Show #47</a>, which I also hosted so it should fit pretty well:</p>
<div id="__ss_9111898" style="width: 425px;"><strong><a title="Building Mura CMS Plugins with FW/1 at MuraCon 2011" href="http://www.slideshare.net/jpanesar/building-mura-cms-plugins-with-fw1-at-muracon-2011" target="_blank">Building Mura CMS Plugins with FW/1 at MuraCon 2011</a></strong> <object id="__sse9111898" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=muracon2011-final-110902115444-phpapp01&amp;stripped_title=building-mura-cms-plugins-with-fw1-at-muracon-2011&amp;userName=jpanesar" /><param name="name" value="__sse9111898" /><param name="allowfullscreen" value="true" /><embed id="__sse9111898" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=muracon2011-final-110902115444-phpapp01&amp;stripped_title=building-mura-cms-plugins-with-fw1-at-muracon-2011&amp;userName=jpanesar" name="__sse9111898" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.panesar.net/2011/09/02/building-mura-cms-plugins-with-fw1-my-muracon-2011-preso/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mura FW/1 Plugin Links from MuraCon</title>
		<link>http://www.panesar.net/2011/08/25/mura-fw1-plugin-links-from-muracon/</link>
		<comments>http://www.panesar.net/2011/08/25/mura-fw1-plugin-links-from-muracon/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 00:02:40 +0000</pubDate>
		<dc:creator>Jas Panesar</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Framework One FW/1]]></category>
		<category><![CDATA[Mura CMS]]></category>

		<guid isPermaLink="false">http://www.panesar.net/?p=402</guid>
		<description><![CDATA[A few folks asked for the links from my presentation to start building their own quick plugin while attending Muracon. Below are the quicklinks I shared for accessing Mura and FW/1 resources to build your plugins.  

Let's talk after the last presentation of the day is is over to get your plugin released and on github!
]]></description>
			<content:encoded><![CDATA[<p>A few folks asked for the links from my presentation to start building their own quick plugin while attending Muracon. Below are the quicklinks I shared for accessing Mura and FW/1 resources to build your plugins.</p>
<p>Let&#8217;s talk after the last presentation of the day is is over to get your plugin released and on github!</p>
<blockquote><p><strong>Base Mura FW/1 Plugin (links to the Mura Marketplace):</strong> <a href="http://bit.ly/mura-fw1-plugin" target="_blank">http://bit.ly/mura-fw1-plugin</a></p>
<p><strong>FW/1 Cheatsheet (links to FW/1 project on Github) :</strong> <a href="http://bit.ly/fw1cheatsheet" target="_blank">http://bit.ly/fw1cheatsheet</a></p>
<p><strong>Submit your plugin to the Mura Marketplace (Links to getmura.com): </strong><a href="http://bit.ly/submit-fw1-plugin" target="_blank">http://bit.ly/submit-fw1-plugin</a></p>
<p><strong>Last, but not least, release your plugin on <a href="http://github.com" target="_blank">github.com</a>!</strong></p></blockquote>
<p><strong></strong>I&#8217;ll be posting my slides shortly as well, I want to see if I can find a way to share the embedded videos easily.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.panesar.net/2011/08/25/mura-fw1-plugin-links-from-muracon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I got started in ColdFusion</title>
		<link>http://www.panesar.net/2011/08/01/how-i-got-started-in-coldfusion/</link>
		<comments>http://www.panesar.net/2011/08/01/how-i-got-started-in-coldfusion/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 21:59:54 +0000</pubDate>
		<dc:creator>Jas Panesar</dc:creator>
				<category><![CDATA[Coldfusion]]></category>

		<guid isPermaLink="false">http://www.panesar.net/?p=382</guid>
		<description><![CDATA[Today&#8217;s post is joining many others around the internet from a great idea by Steve Bryant for using August 1st to share &#8220;How I got started in ColdFusion&#8221; day.
In writing this post it&#8217;s kind of funny looking back how all the dots have connected together in the past to have me at a keyboard this [...]]]></description>
			<content:encoded><![CDATA[<p>Today&#8217;s post is joining many others around the internet from a great idea by <a href="http://www.bryantwebconsulting.com/blog/index.cfm/2011/7/20/August-1-2011-is-How-I-Started-ColdFusion-Day" target="_blank">Steve Bryant</a> for using August 1st to share &#8220;How I got started in ColdFusion&#8221; day.</p>
<p>In writing this post it&#8217;s kind of funny looking back how all the dots have connected together in the past to have me at a keyboard this moment. Â I was trying to avoid writing a background to it all but for some reason I feel it&#8217;s a more meaningful share if I do. Â You can jump straight to &#8220;How ColdFusion Happened&#8221; if you&#8217;re more interested in that.</p>
<p><strong>ColdFusion is the one community that I&#8217;m part of which has introduced me to developers who come from so many a diverse backgrounds. Â Many were artists, designers, scientists, engineers, mathematicians, business folks, marketers, and more. Â All needed to do something on the web. Â They somehow started with ColdFusion and many became very proficient self-taught programmers. </strong></p>
<p>I want to express my thanks to Adobe for keeping ColdFusion releasing and updating it, Macromedia for pushing what it could do with Flash, and Allaire for starting it all. Â I&#8217;m also very happy that we have at least two very capable open source CFML engines in Railo and OpenBD for those so inclined.</p>
<p>Even though I have worked with over a dozen languages in the last 15 years in competent intimacy, and a world where people jump from one hot thing to the next, ColdFusion has stayed hyper-productive, relevant and really, really, good at building just for the web. Â So relevant and hyper-productive that the community doesn&#8217;t do a very good job tooting it&#8217;s own horn because we&#8217;re so busy just building. Â Where there&#8217;s less materials out there for working through problems.. I think it&#8217;s because most developers just don&#8217;t have as many when starting out with ColdFusion. Â For the rest, we have all experienced the holy quinity of <a href="http://www.forta.com" target="_blank">Ben Forta</a>, <a href="http://www.coldfusionjedi.com" target="_blank">Ray Camden</a>,Â <a href="http://www.corfield.org" target="_blank">Sean Corfield</a> and <a href="http://www.bennadel.com" target="_blank">Ben Nadel</a>.</p>
<p>I&#8217;d like to break this post into two parts, first the story of how I landed in tech and ColdFusion, and why I&#8217;ve found myself still primarily using it, despite the latest and greatest that seems to pop up or fade away every few years.</p>
<h2><strong>My Background.</strong></h2>
<p>I kind of had a weird childhood when it came to technology. Â I always wanted a computer, but I didn&#8217;t get my own until I was about 14-15. Â From the 8th grade onward I spent a lot of time in the computer labs at school getting my 10,000 hours in. Â I had two teachers who shaped and mentored me incredibly in ways I found out many years later, secretlyÂ clearingÂ the path for me to do a lot of things I had no business doing. Â As teachers, they had a group of talented computer students who had the potential to make their life a living hell, so they did the unthinkable, they disarmed us with a little bit of respect and asked us to help them run the computer labs. Â This meant we could play Doom II on the network, years before online gaming became so prevalent. <img src='http://www.panesar.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2><strong>How it started.</strong></h2>
<p><strong>Like most days, I was in the computer lab one day.</strong> Beside me sat down a nice guy in a suit and we started chatting. Â It turned out he did the work on the teachers network that I wasn&#8217;t allowed to touch as a student. Â  Â Turns out he was the owner of a local VAR (Value Added Reseller) specializing in setting up networks and servicing them throughout the province. Â Strangely, I was working on my resume ironically enough looking for a summer job.Â  He said he was looking for a summer student and gave me his card to call him when I was free in the summer. Â It&#8217;s a tadÂ unbelievableÂ how one little meeting and conversation would set up the rest of my life.</p>
<p><strong>Summer came, and I didn&#8217;t call.</strong> I didn&#8217;t think he was serious. Â Who hires a student like that? Â After a talking to by my father, I called half way into the summer to apologize for not calling them to let them know either way. Â Surprisingly I got a &#8220;We&#8217;ve been waiting for you to call, we didn&#8217;t take your number!&#8221; Â  Odd. Â The next day, I had a job. Â A job that would incredibly fuel my experience first in IT, and then software for the next 5 years.</p>
<h2><strong>How ColdFusion happened.</strong></h2>
<p><strong>Now, I had a job where the boss gave me his visa to buy the books I wanted to learn anything I wanted to.</strong> He bought every gadget when it came out, became bored of it in 2 weeks and put it on a shelf alowing employees to sign it out for their own use. Â Even though it was 1996, I had a Palm Pilot, a Laptop and a ton of other gear I had no business having. Â Since I learnt hardware, repairs, setting up servers, and networking, I was allowed to pull $10,000 servers from inventory to configure and play with them. Â One day I got bored and started playing around with Netscape webserver. They didn&#8217;t just make a web browser, you know. Â I was on the internet a lot more and wanted to see how I could publish my own pages. Â Man, that would be sweet. Â After setting up a server at work and getting a basic company website up, theÂ next fall I setup a Netscape Web Server for the school&#8217;s website, and managed to convince my school and score my own dedicated 128k ISDN line to run this server.</p>
<p><strong>Word spread I was the king of the spreadsheets and internets. Â I ended up in touch with someone who wanted a website built.</strong> He was an avid coin collector and wanted to put his coins online to showcase and sell. Â D&#8217;oh. Static pages, sure, but I couldn&#8217;t do that with 1000+ coins! Â I&#8217;m too lazy to maintain something like that, even if I didn&#8217;t know how to make &#8220;dynamic web pages&#8221;. What a nightmare. Â The year was 1998 and a friend pointed me towards picking up CGI or Perl for the task of speaking to a database, so I set off to find an ISP that could host it for us.</p>
<blockquote><p>I called a company in Edmonton called Internet Crossroads and the helpful owner on the other line asked me <strong><em>&#8220;Why would you use PERL or CGI? Why not use Cold Fusion?&#8221;</em> </strong>I had no good reply except <em>&#8220;<strong>I have a friend who uses Perl who can help me through connecting to the database, and he&#8217;s played with CGI&#8221;</strong></em><strong>.</strong> He said, <strong><em>&#8220;If you know HTML you will be able to get things done way faster in ColdFusion, even if you learn it from scratch compared to PERL or CGI.&#8221;</em> </strong>Me.<strong> &#8220;Okay, thanks&#8221;.</strong></p></blockquote>
<p><strong>Thats all there was to it. Â I never even got his name. Â They got bought out and maybe I can thank and meet him one day.</strong></p>
<p><strong>I found the online Cold Fusion docs on Allaire&#8217;s website just as 4.0 had come out.</strong> I laser printed out all the documentation (about 900 pages) and put them into huge 4&#8243; binders. Â I got through about 200 pages when I stopped reading the documentation and was up and building a proof-of-concept of the coin site. Â It wasn&#8217;t my best work knowing what ColdFusion could do, but it blew away my coin collecting customer. Sadly once he saw that his dreams were a lot more work than hiring a student for $10/hr, we went ourÂ separateÂ ways and I kept my code.</p>
<p>One year later I found my first consulting client to Â a web catalog in ColdFusion for what became my first client, and now old friend, mentor. Â I moved on to do work to drive a website for a large enterprise company for almost 10 years with a team of 2-3 people outside of their infrastructure, entirely written and delivered in ColdFusion.</p>
<h2>Why ColdFusion appealed to me, then and now.</h2>
<p>Even though I was in Computing Science in university, I didn&#8217;t really enjoy programming. Â I was pretty good at it and could coast on my math skills to solve problems with some clear thinking. Â Interest wise, I was so busy loving developing for the internet that it was painful to come back to earth and use a normal &#8220;application&#8221; language. Â Who wanted to build desktop apps anymore when I could connect anything and everything to the web? Â Sure, there was always the issue of my internet not becoming popular and the new way that <strong>everyone did everything</strong>, but, that worry seems to have gone away.. Â and the world has come to the web.</p>
<p>Over 10 years later, I now have developed a consulting practice that focuses less on theÂ technologiesÂ we use, but the solutions we create and the change we enable because of those solutions. Â If there&#8217;s a web problem to be solved, ColdFusion is usually at the center of it because it&#8217;s so incredibly capable out of the box. Â And we should be creatures of familiarity to create great value for our customers, not experiment and play on their dime. Â If CF isn&#8217;t in place, or not a fit, I don&#8217;t fret too much, it usually just takes more time (and way more money to pay for developers time) to get through it. Â I still enjoy my CF projects the most and look forward to starting new ones with it because it still has not let me down, while other platforms celebrate adding features, performance,Â stability, capabilities that I&#8217;ve enjoyed for many years thanks to the marriage of ColdFusion and Java. Â Even though I didn&#8217;t enjoy Java, I knew the millions Sun spent pressure testing andÂ performanceÂ enhancing it put me in good hands.</p>
<p>The rest is the future. Â ColdFusion now has a few great open source engines in addition to the paid offering from Adobe. Â The majority of opinions out there are outdated, ironically by geeks being judgemental in ways they were likely judged and picked on in school. Â Still, its up to us to start creating remarkable applications for the world in a record amount of time, that&#8217;s what has given other communities their legitimate and well earned reputations. Â Most people don&#8217;t know this and a lot of other things and their opinions are based entirely on hearsay and zero experience. Â We could fault them&#8230; or start sharing and creating remarkable apps that we are passionate about. Â  More to come about this in a future post.. <img src='http://www.panesar.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.panesar.net/2011/08/01/how-i-got-started-in-coldfusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m speaking at MuraCon 2011 about Mura CMS Plugins using FW/1!</title>
		<link>http://www.panesar.net/2011/07/04/im-speaking-at-muracon-2011-about-mura-cms-plugins-using-fw1/</link>
		<comments>http://www.panesar.net/2011/07/04/im-speaking-at-muracon-2011-about-mura-cms-plugins-using-fw1/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 19:30:21 +0000</pubDate>
		<dc:creator>Jas Panesar</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Mura CMS]]></category>

		<guid isPermaLink="false">http://www.panesar.net/?p=356</guid>
		<description><![CDATA[Hi everyone,

This is a bit of an overdue blog post -- I have written a lot of drafts and a recent spell of travel has meant I haven't been able to polish and publish much.. Sorry!

I do have one big piece of news to announce, the gang over at Mura CMS (Blue River Interactive) have asked me to speak at MuraCon 2011 in Sacramento, California on August 25-26th!]]></description>
			<content:encoded><![CDATA[<p>Hi everyone,</p>
<p>This is a bit of an overdue blog post &#8212; I have written a lot of drafts and a recent spell of travel has meant I haven&#8217;t been able to polish and publish much.. Sorry!</p>
<p>I do have one big piece of news to announce, the gang over at Mura CMS (Blue River Interactive) have asked me to speak at <a href="http://www.muracon.com" target="_blank">MuraCon</a> 2011 in Sacramento, California on August 25-26th!</p>
<p>Mura&#8217;s community is growing rapidly and a conference a perfect boost for it! Â There&#8217;s a bunch of very cool <a href="http://www.muracon.com/schedule/" target="_blank">speakers and sessions</a>, I can&#8217;t wait to attend and learn myself when I&#8217;m there from some of the best and brightest in the Mura community.</p>
<p>Pricing is a reasonable $99 for two whole days of Mura content&#8230; a steal if I ever saw one. I know they have very few seats left, get your seat registered right away if you can get to Sacramento then.</p>
<p>My session will be covering <strong>Mura CMS Plugins using FW/1</strong>.. I guest hosted <a href="http://http://getmura.com/linkservid/7CC55B06-7216-40D7-890C07A3D242E6A4/showMeta/0/" target="_blank">Mura Show #47</a> about an intro to plugins and I plan on covering a bit more in this talk about plugin development, the plugin ecosystem and how we all can benefit from creating and supporting plugins.</p>
<p>If you are a designer or developer interested/experienced in Mura, I&#8217;d love to hear about your experience (or lack therof) with Mura CMS plugins, hit me up!</p>
<p><a href="http://www.muracon.com"><img class="alignnone" title="MuraCon 2011 Speaker" src="http://www.muracon.com/tasks/sites/muracon2011/assets/Image/muracon-200x262.png" alt="" width="200" height="262" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.panesar.net/2011/07/04/im-speaking-at-muracon-2011-about-mura-cms-plugins-using-fw1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting your Apache URL rewrites working with Mura CMS</title>
		<link>http://www.panesar.net/2011/07/02/getting-your-apache-url-rewrites-working-with-mura-cms/</link>
		<comments>http://www.panesar.net/2011/07/02/getting-your-apache-url-rewrites-working-with-mura-cms/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 00:29:35 +0000</pubDate>
		<dc:creator>Jas Panesar</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Mura CMS]]></category>
		<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://www.panesar.net/?p=362</guid>
		<description><![CDATA[Instead of having a link that says http://www.yoursite.com/siteid/index.cfm/about-us, I want it to be:

http://www.yoursite.com/about-us
]]></description>
			<content:encoded><![CDATA[<p>This might be a post that gets updated in the future&#8230;</p>
<p>Instead of having a Mura link that says <strong>http://www.yoursite.com/<span style="color: #ff0000;">siteid</span>/<span style="color: #ff0000;">index.cfm</span>/about-us</strong>, I want it to be:</p>
<p><strong><span style="color: #008000;">http://www.yoursite.com/about-us</span></strong></p>
<p>Nice, and clean for SEO.</p>
<p>In Mura, if you edit <strong>/config/settings.ini.cfm</strong> and set</p>
<pre class="brush: plain; title: ;">
siteidinurls=0
indexfileinurls=0</pre>
<p>Now, Mura will render the links without the <strong><span style="color: #ff0000;">siteid</span></strong> or <span style="color: #ff0000;"><strong>index.cfm</strong></span>.</p>
<p>Just one problem, it seems Apache still needs the reference for index.cfm&#8230; enter rewrite rules and Apache&#8217;s mod_rewrite library.</p>
<p>This has been giving me a bit of grief (it didn&#8217;t work instantly in 1.2 seconds) and no real time to figure it out. Apache for some reason seems to ignoreÂ .htaccess files in a folder, on both Windows and Linux servers.</p>
<p>Where I should be able to put the following code into an .htaccess file in the root folder of my Mura directory:</p>
<pre class="brush: plain; title: ;">
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^([a-zA-Z0-9/-]+)$ /index.cfm%{REQUEST_URI} [PT]
</pre>
<p>The .htaccess file seems to get ignored.</p>
<p>The temporary fix I have in place is to modify it directly in the virtualhost declaration in my httpd.conf or virtualhosts conf file depending on how your Apache is configured. Â Just place the rewrite rules right inside the &lt;virtualhost&gt; &lt;/virtualhost&gt; tags as follows</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;VirtualHost *:80&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">ServerAdmin help@damaag.com</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">DocumentRoot /var/www/html/buzzerful</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">ServerName www.buzzerful.com</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">ServerAlias new.buzzerful.com</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">ServerAlias buzzerful.com</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">ErrorLog logs/buzzerful.com-error_log</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">CustomLog logs/buzzerful.com-access_log common</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">RewriteEngine On</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">RewriteRule ^([a-zA-Z0-9/-]+)$ /index.cfm%{REQUEST_URI} [PT]</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/VirtualHost&gt;</div>
<pre class="brush: plain; title: ;">
&lt;VirtualHost *:80&gt;

        ServerAdmin help@yoursite.com
        DocumentRoot /var/www/html/yoursite.com (Or a windows path of your choice)
        ServerName www.yoursite.com
        ServerAlias yoursite.com
        ErrorLog logs/yoursite.com-error_log
        CustomLog logs/yoursite.com-access_log common

        RewriteEngine On
        RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
        RewriteRule ^([a-zA-Z0-9/-]+)$ /index.cfm%{REQUEST_URI} [PT]

&lt;/VirtualHost&gt;
</pre>
<p>This seems to work well so far, let&#8217;s see how it goes. Â Next, is getting the rewrite rules working correctly using ColdFusion and Railo&#8217;s built-in web servers, so my server and development environment will be the same.</p>
<p>P.S., if you&#8217;re looking to get the same working with CF/Railo and IIS, check out this great guide on <a href="http://cfwheels.org/docs/1-1/chapter/url-rewriting" target="_blank">how to enable rewrite rules for IIS</a> so you can use the rule in this post. Â Thanks to the cfwheels team for putting this together, it&#8217;s a really well written guide.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.panesar.net/2011/07/02/getting-your-apache-url-rewrites-working-with-mura-cms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips to install Mura CMS in Linux</title>
		<link>http://www.panesar.net/2011/07/01/tips-to-install-mura-cms-in-linux/</link>
		<comments>http://www.panesar.net/2011/07/01/tips-to-install-mura-cms-in-linux/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 03:12:12 +0000</pubDate>
		<dc:creator>Jas Panesar</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Mura CMS]]></category>

		<guid isPermaLink="false">http://www.panesar.net/?p=357</guid>
		<description><![CDATA[Recently I decided to move a Mura CMS site to linux.  Off I went to pickup a VPS and transfer my installation.  

After installing CentOS with the Apache/MySQL/Railo trimmings, I downloaded Mura directly to my server and started installing and learnt a few steps that may or may not be documented somewhere.

It seems that if your CFML engine of choice is running as nobody in Linux (I know ACF does install as nobody as default), You will have to go to your root htdocs/html directory and run the following:]]></description>
			<content:encoded><![CDATA[<p>Recently I decided to move a Mura CMS site to linux. Â Off I went to pickup a VPS and transfer my installation.</p>
<p>After installing CentOS 5.6 with the Apache/MySQL/Railo trimmings, I downloaded Mura directly to my server and started installing and learnt a few steps that may or may not be documented somewhere.</p>
<p><strong>1. You can download the latest Mura directly using the current download link on getmura.com. </strong> In my case on CentOS I can hop to /var/www/html, create a folder &lt;mura directory&gt; where I might install mura, and issue the following commands:</p>
<p style="padding-left: 30px;">
<pre class="brush: plain; title: ;">wgetÂ http://www.getmura.com/index.cfm/?LinkServID=62611A40-FAD0-94F4-54E16A8FC4614BD2&amp;showMeta=0</pre>
</p>
<p style="padding-left: 30px;">To unzip, simply</p>
<p style="padding-left: 30px;">
<pre class="brush: plain; title: ;">unzip mura-5.4.4579.zip (your file name may be a newer version)</pre>
</p>
<p><strong>2. Set your Linux Permissions.</strong> It seems that if your CFML engine of choice is running as nobody in Linux (I know ACF does install as nobody as default), You will have to go to your root htdocs/html directory and run the following:</p>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace; padding-left: 30px;"><strong>
<pre class="brush: plain; title: ;">chmod -R 777 &lt;mura directory&gt;</pre>
<p></strong></pre>
<p style="padding-left: 30px;">This will allow Mura to do its&#8217; thing, otherwise you may face a slew of read/write/create errors with files. Â Do this before you run the Mura installer in your web browser.</p>
<p style="padding-left: 30px;">Theres probably other permissions that are better but this seems to be the catch all to make it work everywhere when the nobody user is in use.</p>
<p><strong>3. Â Don&#8217;t forget to delete the config folder when you&#8217;re done. </strong> It&#8217;s in the root of your config folder.</p>
<p>Got some other tips&#8230;? Let me know on twitter!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.panesar.net/2011/07/01/tips-to-install-mura-cms-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guest hosting the Mura Show tomorrow at 2 PM MST! Intro Using the Mura FW/1 Plugin to build features/apps</title>
		<link>http://www.panesar.net/2011/03/29/guest-hosting-the-mura-show-tomorrow-at-2-pm-mst-intro-using-the-mura-fw1-plugin-to-build-featuresapps/</link>
		<comments>http://www.panesar.net/2011/03/29/guest-hosting-the-mura-show-tomorrow-at-2-pm-mst-intro-using-the-mura-fw1-plugin-to-build-featuresapps/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 02:21:43 +0000</pubDate>
		<dc:creator>Jas Panesar</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Mura CMS]]></category>

		<guid isPermaLink="false">http://www.panesar.net/?p=353</guid>
		<description><![CDATA[The Mura gang over at Blue River have slotted me in to guest host a Mura Show!

The Mura show has been a big help for me in both of it's formats when there's a set topic and open help for anything I've been working on.  Several times I learnt to solve or avoid problems I didn't know I'd be having when someone else asked.

I'm going to walk through a basic introduction to using the Mura FW/1 Template Plugin.  It's been recently re-written and provides some cool functionality.]]></description>
			<content:encoded><![CDATA[<p>The Mura gang over at Blue River have slotted me in to guest host a Mura Show!</p>
<p>The Mura show has been a big help for me in both of it&#8217;s formats when there&#8217;s a set topic and open help for anything I&#8217;ve been working on. Â Several times I learnt to solve or avoid problems I didn&#8217;t know I&#8217;d be having when someone else asked.</p>
<p>I&#8217;m going to walk through a basic introduction to using the Mura FW/1 Template Plugin. Â It&#8217;s been recently re-written and provides some cool functionality.</p>
<p>I know my own experience when learning Mura to want to know &#8220;how does this all work so I can quickly start playing around with it&#8221;.. and that&#8217;s what I hope to share in my time.</p>
<p>If your&#8217;e interested Â Mura Show #46 covers how to build a plugin from scratch and will probably give more detail than what I&#8217;ll be getting into.</p>
<p>Tomorrow&#8217;s show will assume a basic OO / MVC understanding as well as some Mura concepts. Â We won&#8217;t go in detail to how FW/1 works and be mostly focusing on how to <strong>build</strong> something with the goodness that is already in place.</p>
<p>2 PM Mountain Standard time, 1 PM Pacific. Â <img src='http://www.panesar.net/wp-includes/images/smilies/' alt='' class='wp-smiley' /> </p>
<p><a href="http://www.getmura.com/support/mura-show/" target="_blank">http://www.getmura.com/support/mura-show/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.panesar.net/2011/03/29/guest-hosting-the-mura-show-tomorrow-at-2-pm-mst-intro-using-the-mura-fw1-plugin-to-build-featuresapps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where does a Mura Form post to?</title>
		<link>http://www.panesar.net/2011/03/27/where-does-a-mura-form-post-to/</link>
		<comments>http://www.panesar.net/2011/03/27/where-does-a-mura-form-post-to/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 04:02:56 +0000</pubDate>
		<dc:creator>Jas Panesar</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Mura CMS]]></category>
		<category><![CDATA[MuraCMS]]></category>

		<guid isPermaLink="false">http://www.panesar.net/?p=347</guid>
		<description><![CDATA[When working with Mura's built in forms on the public side, there's a few notes to self to keep in mind:

1) Mura's public side (admin, built in display objects) are kind of legacy code.  The code is well written and pretty straight forward to follow, but some of the conventions you might get used to on the plugin side of things aren't quite the same. Fingers crossed that this can all be written as FW/1 logic eventually, but in the meantime, just know that tracing through display objects will be different than working on your own plugins.
]]></description>
			<content:encoded><![CDATA[<p>When working with Mura&#8217;s built in forms (ie., display objects) on the public side, there&#8217;s a few notes to self to keep in mind:</p>
<p><strong>1) Mura&#8217;s public side (admin, built in display objects) is kind of legacy code.</strong> The code is well written and pretty straight forward to follow, but some of the conventions you might get used to on the plugin side of things aren&#8217;t quite the same. Fingers crossed that this can all be written as FW/1 logic eventually, but in the meantime, just know that tracing through display objects will be different than working on your own plugins. Â I ran into this mostly when trying to create a custom login process and saw a difference.</p>
<p><strong>2) Built-in Mura CMS forms generally post to themselves.</strong> When modifying built-in form sets like the Paypal integration, there&#8217;s obviously more to it.</p>
<p><strong>3) When the form posts to itself,</strong> they can look for a value such as<em> form.submitted</em> to be defined before processing the form results. Â If you&#8217;re used to havingÂ separateÂ files, self-posting forms offer a nice degree of simplicity and encapsulation of logic when customizing Mura, it&#8217;sÂ definitelyÂ worth trying out and getting used to.</p>
<p><strong>4) If you want to decide where the form should go <em>after</em> the form, </strong>be sure to include a hidden field in the form called <em>redirect_url</em>, such as</p>
<pre class="brush: plain; title: ;">

&lt;input Â name = &quot;redirect_url&quot; Â type = &quot;hidden&quot; Â value = &quot;/[siteid]/different/page&quot; /&gt;
</pre>
<p>That&#8217;s it for now. Â I&#8217;m pretty sure I&#8217;ve missed a few things and will update this post as it comes up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.panesar.net/2011/03/27/where-does-a-mura-form-post-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Including custom headers in Mura CMS</title>
		<link>http://www.panesar.net/2011/03/27/including-custom-headers-in-html-section-of-a-page-ie-in-mura-cms/</link>
		<comments>http://www.panesar.net/2011/03/27/including-custom-headers-in-html-section-of-a-page-ie-in-mura-cms/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 00:31:17 +0000</pubDate>
		<dc:creator>Jas Panesar</dc:creator>
				<category><![CDATA[Coldfusion]]></category>
		<category><![CDATA[Mura CMS]]></category>

		<guid isPermaLink="false">http://www.panesar.net/?p=337</guid>
		<description><![CDATA[Sometimes we need to include a custom header in the HTML tags on just one page.

One example is caching.  When it comes to making every browser do the same thing (not cache a page), we end up with a number of commands that need to be placed at the top of a page only when it shouldn't be cached.

Here's some tags that could belong in the head tag of a specific page... (I'm sure this can be accomplished much easier in another way but I picked the first example that came to my head)..]]></description>
			<content:encoded><![CDATA[<p>Sometimes we need to include a custom header in the HTML tags on just one page.</p>
<p>One example is caching. Â When it comes to making every browser do the same thing (not cache a page), we end up with a number of commands that need to be placed at the top of a page only when it shouldn&#8217;t be cached.</p>
<p>Here&#8217;s some tags that could belong in the head tag of a specific page&#8230; (I&#8217;m sure this is already accomplished much easier/better with the built-in cache-o-matic in Mura, I just want to illustrate adding code to the header file..</p>
<pre class="brush: plain; title: ;">

&lt;META http-equiv=Content-Type content=&quot;text/html; charset=windows-1252&quot;&gt;
&lt;meta http-equiv=&quot;pragma&quot; content=&quot;no-cache&quot;&gt;
&lt;meta http-equiv=&quot;cache-control&quot; content=&quot;no-cache&quot;&gt;
&lt;meta http-equiv=&quot;expires&quot; content=&quot;-1&quot;&gt;
</pre>
<p>For this example, if I was going to add something like this in between the HEAD tags,Â I might edit <em>dsp_edit_profile.cfm</em> and see if they show up in my HTML. Â I&#8217;mÂ arbitrarilyÂ picking this file because it&#8217;s one I&#8217;ve spent some time in recently.</p>
<p>First, I&#8217;m going to make a page called NoCacheHeader.cfm and place it in my <em>[siteid]/includes/display_objects/custom/ folder</em>.</p>
<p>Inside <em><strong>NoCacheHeader.cfm</strong></em> I placed the following code.</p>
<pre class="brush: plain; title: ;">
&lt;META http-equiv=Content-Type content=&quot;text/html; charset=windows-1252&quot;&gt;
&lt;meta http-equiv=&quot;pragma&quot; content=&quot;no-cache&quot;&gt;
&lt;meta http-equiv=&quot;cache-control&quot; content=&quot;no-cache&quot;&gt;
&lt;meta http-equiv=&quot;expires&quot; content=&quot;-1&quot;&gt;
</pre>
<p>Now, inside my <strong><em>[siteid]/includes/display_objects/custom/dsp_edit_profile.cfm</em></strong> (which I copied there to customize it), I&#8217;m going to reference this include file.</p>
<pre class="brush: plain; title: ;">
 &lt;cfset addToHTMLHeadQueue ( &quot;custom/noCacheHeader.cfm&quot; ) /&gt;
</pre>
<p>What seems really neat about the snippet above is it didn&#8217;t work when I simply specificed noCacheHeader.cfm as the file.. but I put in a partial path and Mura CMS located it leading me to believe Mura, in fact finds it magically for you <img src='http://www.panesar.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>One last thing I noticed in the <em>dsp_edit_profile.cfm </em>is a command that loads the javascript BEFORE the customizations. Â You can edit this however you like in this file, however in other places in Mura, it might be worth paying attention to whether you&#8217;re adding your custom code (be it javascript, etc) before or after what&#8217;s already being loaded by MuraCMS. Â The lines of code that lead me to this were:</p>
<pre class="brush: plain; title: ;">&lt;span&gt;&lt;cfset&lt;/span&gt; loadJSLib&lt;span&gt;()&lt;/span&gt;&lt;span&gt;&gt;
&lt;/span&gt;&lt;cfset addToHTMLHeadQueue(&quot;htmlEditor.cfm&quot;)&gt;
&lt;!--- in this case, I Added my noHeaderCache.cfm AFTER these commands ---&gt;
&lt;cfset addToHTMLHeadQueue(&quot;custom/noCacheHeader.cfm&quot;) /&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.panesar.net/2011/03/27/including-custom-headers-in-html-section-of-a-page-ie-in-mura-cms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

