<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Alex Gravely's Dev Blog]]></title><description><![CDATA[I talk about C#, ColdFusion, or whatever I'm fiddling with.]]></description><link>https://blog.alexgravely.dev</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 02:32:53 GMT</lastBuildDate><atom:link href="https://blog.alexgravely.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[5 ColdFusion Resources for your Everyday Life]]></title><description><![CDATA[Here's a short list of ColdFusion resources I've either found handy or use almost daily in my career. These'll go in reverse order, where #5 will be the one that I use most frequently.
1 - Lucee
There's a few ways to go about diving into ColdFusion, ...]]></description><link>https://blog.alexgravely.dev/5-coldfusion-resources-for-your-everyday-life</link><guid isPermaLink="true">https://blog.alexgravely.dev/5-coldfusion-resources-for-your-everyday-life</guid><dc:creator><![CDATA[Alex Gravely]]></dc:creator><pubDate>Wed, 18 Nov 2020 22:33:20 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1605738839735/vt5bvfN67.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here's a short list of ColdFusion resources I've either found handy or use almost daily in my career. These'll go in reverse order, where #5 will be the one that I use most frequently.</p>
<h2 id="1-lucee">1 - Lucee</h2>
<p>There's a few ways to go about diving into ColdFusion, all starting with the development environment you choose to go with. <a target="_blank" href="https://www.adobe.com/products/coldfusion-family.html">Adobe</a> is great, but expensive once you start looking at the licensing. <a target="_blank" href="https://www.newatlanta.com/products/bluedragon/index.cfm">BlueDragon</a> is what we use at my job, since we also work closely with .NET Code, but that's a story for another day. If you're wanting to get your feet wet, <a target="_blank" href="https://www.lucee.org/">Lucee</a> is the free and open source CFML Engine for you. With a massive community, frequent updates, and great documentation, I can't recommend this engine enough for either getting started or being the backbone of your production applications.</p>
<h2 id="2-learn-cf-in-a-week">2 - Learn CF In a Week</h2>
<p><a target="_blank" href="http://www.learncfinaweek.com/course/index">Learn CF in a Week</a> was an absolute godsend when I first got hired onto my job and I need to reteach myself ColdFusion after not having touched it for several years. From the very basics such as the syntax of the language to a detailed overview of keeping your applications safe from XSS and SQL injection, <a target="_blank" href="https://www.twitter.com/dcepler">David Epler</a> and <a target="_blank" href="https://www.twitter.com/pfreitag">Pete Freitag</a> have authored a fantastic guide if you're looking to get into CFML or need a refresher on any concept.</p>
<h2 id="3-ortus-solutions">3 - Ortus Solutions</h2>
<p><a target="_blank" href="https://www.ortussolutions.com/products">Ortus Solutions</a> has an entire catalog of ColdFusion products that fill several roles for development. <a target="_blank" href="https://www.ortussolutions.com/products/commandbox">CommandBox</a> is the biggest one of note, allowing you to very easily spin up your own development instances, have a command line REPL for quickly testing out code, and a package manager. <a target="_blank" href="https://www.ortussolutions.com/products/testbox">TestBox</a> is available for those of you bitten by the unit testing bug.  <a target="_blank" href="https://www.ortussolutions.com/products/forgebox">ForgeBox</a> is the aforementioned package management system, serving as CFML version of NuGet or NPM. </p>
<h2 id="4-cflint">4 - CFLint</h2>
<p>Who doesn't love linters? <a target="_blank" href="https://github.com/cflint/CFLint">CFLint</a> is an open source, java powered linter for ColdFusion, allowing you to enforce style guidelines on your CFML codebases. I personally use this in conjunction with the <a target="_blank" href="https://marketplace.visualstudio.com/items?itemName=KamasamaK.vscode-cflint">VS Code CFLint Extension</a> and the <a target="_blank" href="https://marketplace.visualstudio.com/items?itemName=KamasamaK.vscode-cfml">VS Code CFML Language Extension</a> to serve as a very powerful and almost IDE-like experience when at work.</p>
<h2 id="5-cfdocs">5 - CFDocs</h2>
<p><a target="_blank" href="https://cfdocs.org/">CFDocs</a> is an open-sourced documentation website for ColdFusion, that is the best of all worlds of this language's ecosystem. Every tag and function is thoroughly documented, and provides outbound links to the various engines (Adobe, Lucee, and BlueDragon/OpenBD). There are also various guides on concepts such as authentication, security, using the ORM features provided by the language. If you ever find items on the site you think could be described better or even corrected, <a target="_blank" href="https://cfdocs.org/how-to-contribute">contributions are gladly accepted</a>. My favourite part about the site though is how cleverly the URL pattern was set up, such that you can go directly to https://cfdocs.org/ and get exactly what you want. Not a day goes by that I don't visit this site to either familiarize myself on a tag's attributes, or look through a list of functions to see if there's one that already exists that suits my needs. </p>
]]></content:encoded></item><item><title><![CDATA[ColdFusion - Display Names for CFMail]]></title><description><![CDATA[I had an interesting client request come in last week, they wanted the ability to have prettier names show up for their From: email addresses. E.G, having the from address be their company name, rather than displaying in inboxes as info@company.com. ...]]></description><link>https://blog.alexgravely.dev/coldfusion-display-names-for-cfmail</link><guid isPermaLink="true">https://blog.alexgravely.dev/coldfusion-display-names-for-cfmail</guid><category><![CDATA[email]]></category><dc:creator><![CDATA[Alex Gravely]]></dc:creator><pubDate>Tue, 27 Oct 2020 16:01:06 GMT</pubDate><content:encoded><![CDATA[<p>I had an interesting client request come in last week, they wanted the ability to have prettier names show up for their From: email addresses. E.G, having the from address be their company name, rather than displaying in inboxes as info@company.com. Surely, this would be a simple thing to accommodate, and ColdFusion definitely supported this out of the box, but I did run into a hiccup and hopefully I can save someone else the time I spent trying to figure this all out!</p>
<p>Generally when you're using the  <a target="_blank" href="https://cfdocs.org/cfmail">CFMail</a> tag, you're using email addresses as is. If you're just using this tag as is, then you can follow this format to get display names to show up for the email.</p>
<pre><code class="lang-cfml">&lt;!--- Would show the email as from "Alex Gravely" in your inbox ---&gt;
&lt;cfmail from='Alex Gravely&lt;alex@example.com&gt;' /&gt;

&lt;!--- If you have special characters, you can wrap the display name in double quotes ---&gt;
&lt;cfmail from='"Alex Jr. @ Freelance"&lt;alex@example.com&gt;' /&gt;
</code></pre>
<p>Now here's where my pitfall was: we use a customized CFMail tag that ends up using C#'s <code>System.Net.Mail.SmtpClient</code>, and as part of that custom tag's validation, we use the <a target="_blank" href="https://cfdocs.org/isvalid">IsValid</a> function for validating the email format. Surprisingly enough, trying to do this display name format actually fails this function's validation, despite working properly in the CFMail tag. </p>
<p>If you do want validation support for this format as well, this regex pattern does the job: <code>(?:"?([^"]*)"?\s)?(?:&lt;?(.+@[^&gt;]+)&gt;?)/gi</code></p>
]]></content:encoded></item></channel></rss>