Ok, the title isn’t entirely accurate. The process discussed here isn’t so much “building” a module as “adding ColdBox functionality” to an existing ForgeBox package - boxifying it, one might say. I’ve never built a ColdBox application, but I’ve been increasingly interested in the framework, so this was a helpful and straightfoward first step toward better understanding it.
I was lucky enough to attend (and speak) at this year’s Into the Box conference in Houston, TX. The event is organized by Ortus Solutions, the team that created CommandBox, TestBox, and all other manner of Box products. Ortus is undeniably the leader in creating cutting edge CFML tooling and features, and I left the conference incredibly impressed at the work they’re doing.
ForgeBox.io, in case you didn’t know, is directory of CFML packages - bits of code both large and small - written and shared by the developer community to make all of our lives easier. I’ve written a number of open source projects hosted on Github, so I figured it was time that I began adding them to ForgeBox. For posterity (or just my own reference), here’s the process.
At Adobe’s ColdFusion Summit (2017), I was able to attend Brian Klaas’s presentation, “Level Up Your Web Apps With Amazon Web Services.” Brian is an engaging speaker - he conveyed excitement, knowledge, and real-world insights into the often overwhelming AWS ecosystem. I was particularly intrigued when he explained that ColdFusion could interact directly with AWS, via the Java SDK.
I’ve recently begun working on a CFML project that involves interacting with AWS Lambda. I’ll be posting more on that later, but one of the helpful bits of code that came out of the project was a small function to parse Amazon Resource Names (ARNs) into their component parts.
I’m flying home from my first CFSummit - what a great conference! I gave a ColdFusion-centric version of my send.Better() - Giving Email a REST presentation (slides here) in the first slot of the first day, so I was able to focus on and enjoy the rest of the sessions.
I’m speaking next month at Adobe ColdFusion Summit 2017 in Las Vegas. In preparation, I was reading the documentation for
cfmail and was surprised to learn that it had a boolean
debug attribute. While it might not be a hidden gem, if you’re sending emails via STMP, you might find this option helpful to, yes, debug email issues.
Admission: I’ve only recently started using tags to version my Git repositories. I had the (mistaken) idea that the process was difficult and never bothered learning the specifics. Working more with open source projects eventually lead to the realization that tags and versioning provided a developer-friendly road-map for interacting with the codebase. When I decided to familiarize myself with Git’s tagging workflow, I was pleasantly surprised how simple it was.
This past weekend I had the opportunity to present at NCDevCon in Raleigh, NC. The title of my session was send.Better() - Giving Email a REST.
My latest side project has been developing SendGrid.cfc a CFML wrapper for the SendGrid API (v3). This post isn’t about the API or SendGrid.cfc though; it’s about the Builder Pattern. Apparently this approach to handling complex objects is well-known in the Java world, but I had not encountered it in ColdFusion before. So, if you’re new to this design pattern (like I was), or you just want to see a real-world application of it, read on…