Modernize or Die® - CFML News for February 23rd, 2021 - Episode 92
2021-02-23 Weekly News - Episode 92
Watch the video version on YouTube at https://youtu.be/ZebdKMn4X0E
Brad Wood - Software Consultant for Ortus Solutions
Eric Peterson- Software Consultant for Ortus Solutions
Thanks to our Sponsor - Ortus Solutions
One way to say thanks back to Ortus Solutions, is to support CFCasts, which is releasing new content every week
We have 33 patreons providing 69% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. If you love our podcasts and all we do for the #coldfusion #cfml community considers chipping in, we are almost there!
News and Events
Last week Adobe ColdFusion 2016 was EOL’ed
Feb 17, 2021 - end of core support for Adobe CF 2016 and CF Builder 2016
Extended Support ends 2/17/22
CF 2018 core support ends 7/13/2023
CF 2021 core support ends 11/10/2025
PrismJS now supports CFML - thanks to Matthew Clemente
No live coding last week, but Matthew was excited to see that his PR to add CFScript support to @prismjs was merged:
It only took *checks calendar* 5 or 6 livestreams to complete 😅
Looking forward to #CFML syntax highlighting!
Adobe Webinar - SQL, I know enough to break everything - Dave Ferguson
February 24th 2021
8 AM PT
If you are reading this you have probably written SQL in one form or another. I would also bet that you have written SQL that looked great but didn't act great. Looking back at it was more like a little puppy that tilts its head at strange sounds. We all have, even the "experts" among, us have written SQL that had intentional consequences. On the other hand, maybe you support a system that has SQL that you just don't quite understand. If some of this is true, this session is for you.
This session will take a look at why SQL may not run the way it was intended. We will look well beyond just the select statement and look deeper into how SQL runs. We will go over what the DBA's keep to themselves as well as other metrics. We will also look at some well-intended SQL and why the results were less than ideal.
Online CF Meetup - "The Golden Hammer: Confessions of a Recovering Database Abuser", w/ Shawn Oden
Thursday, February 25, 2021
11:00 AM to 12:00 PM CST
Early in my dev career, I often (unwittingly) abused my systems. My code didn't care about things like databases or networks, as long as the results were right. I had a cfHammer, and I needed to pound out a solution. I never knew I was an anti-pattern.
Meetup Link: https://www.meetup.com/coldfusionmeetup/events/276405673/
Ortus Webinar - Take Control of Logging and Error handling with Stachebox with Jon Clausen
Friday, February 26th - 11:00 AM CDT (GMT -6:00 )
Tracking, handling, and resolving bugs between different tiers can be challenging, especially in containerized or cloud environments. In this webinar, Jon Clausen will introduce you to capturing your back end and front-end error messages, and consolidating them in to one single, aggregated platform - backed by the power of Elasticsearch.
ICYMI - Mid Michigan CFUG - Docker with John Farrar
Feb 16th - 7pm
I will be doing a Docker meeting for the Mid Michigan CFUG this month. It is Rick Mason’s user group and details will follow. I am going to put a special emphasis on Traefik if anyone is interested. I am a user now, not an expert but find it a better experience than Apache, HAProxxy, IIS or Nginx so far. Your experience may vary.
CFUG Website: http://www.mmcfug.org/
Updated ForgeBox pricing
Reminder about the new Ortus Community
Ortus has rolled out our new Ortus Community site to help consolidate all of our community support and interaction. As part of that effort, all our Google Group threads have been imported to the new Ortus Community and effective immediately, our Google Groups are closed for further posting.
If you're a member of our Google groups, don't worry-- your user has already been imported into the community forum and as soon as you sign up, you will be automatically associated with all of your old posts so you can pick up your conversations right where you left off! We've even added single sign on options for Github, Facebook, Google, and Twitter (coming soon). If your new account is under a different E-mail address, let us know and we can merge your accounts together.
CFCasts Content Updates
- CommandBox Zero to Hero
- Config Settings and History
- Other Execution Examples
- The Backtick Expression
- More CommandBox Hero to Zero
Send your suggestions at https://cfcasts.com/support
Conferences and Training
Virtual: Apr 20-21
Call for speakers end Feb 14 - https://sessionize.com/redisconf2021/
May 27th 2021
Ortus Workshops - Dates coming soon
Lead by the creator of Quick himself, Eric Peterson.
More dates to come
- CommandBox Zero to Hero
- ColdBox Zero to Hero
- ColdBox Hero to SuperHero
Ortus’s Possible Conferences for 2021
Dates subject to change
Due to Online conference overload, we are thinking about not expanding the number of events, but more content in more timezones with a different format.
ITB - Developer Week Style??
With some European Timezone Friendly slots from our European Community Members
Call for speakers coming soon
Need more conferences, this site has a huge list of conferences for almost any language/community.
CFML Is now on the list - https://confs.tech/conferences/new
Blogs, Tweets and Videos of the Week
Blogs - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 184.108.40.206, Part IX
In an attempt to round-out the set of ColdFusion custom tags that I might need in my DSL (Domain Specific Language) for HTLM emails, I wanted to take a look a the
tags. Thetag, specifically, is an interesting topic since it has special properties that don't pertain to the rest of HTML. That is, it maintains the whitespace that is present in the underlying markup. This poses a fun challenge because my ColdFusion custom tags actually try to remove most superfluous whitespace in order to minify the content and manage line-breaks. As such, I had take special measures for these two semantic tags.
Blogs - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 220.127.116.11, Part X
The other day, I tweeted that the "Left Arrow" ← and "Right Arrow" → were my new favorite HTML entities. I love the fact that there is a (mostly consistent) set of unicode characters that I can use in lieu of graphic images. After that tweet, it got me thinking about my DSL (Domain Specific Language) for HTLM emails; and, whether or not I can safely use these kind of HTML entities in my HTML emails. As such, I wanted to do a quick test in Lucee CFML 18.104.22.168.
Blog - Ben Nadel - Using ColdFusion Custom Tags To Create An HTML Email DSL In Lucee CFML 22.214.171.124, Part XI
In an earlier post, I looked at several encapsulation techniques that I can use in my ColdFusion custom tag DSL (Domain Specific Language) for HTLM emails. A technique like "attribute passing" works well when you are passing data one layer down. However, as HTML email layouts become more complex, sometimes you need to make data accessible several layers down in your custom tag DOM (Document Object Model). In order to avoid so-called "prop drilling" (a term used in the React.js world), I wanted to borrow a concept from Angular: Providers. In my DSL, a "provider" is just a key-value pair defined at a high-level that can then be referenced at a lower-level in your HTML email markup.
Blog - Ben Nadel - Replacing Blank Lines Using Multiline Mode RegEx Patterns In POSIX And Java In Lucee CFML 126.96.36.199
While working on my ColdFusion custom tag DSL for HTML emails, I ran into an interesting problem when performing a multiline RegExp replace on my generated email content. This is not the first time that I've tripped over issues with multiline (?m) Regular Expression patterns and line-breaks. Though, in this case, the issue was that my RegEx pattern was failing to match adjacent lines if the pattern ended with a line-break. Or rather, it was failing in POSIX (the default ColdFusion Regular Expression engine); but, it was succeeding in Java in Lucee CFML 188.8.131.52.
Blog - Ben Nadel - Finding All Unique Paths In A Tree Structure In Lucee CFML 184.108.40.206
At InVision, I've been working with Holger Schueler to generate some internal reports regarding how different users end up in an enterprise context. One of the reports creates a Tree structure of cascading "invitations" (ie, this user invited another user who, in turn, invited three more users). In addition to rendering the tree structure visually, Holger would also like to download the tree structure as a CSV (Comma-Separated Values) file in which each row in the CSV contains a distinct path within the tree structure. This is a data translation that I've never actually done before. So, I wanted to sit down and figure it out in Lucee CFML 220.127.116.11.
Podcast - Working Code Podcast - Episode 010: Scaling
An engineer at SquareSpace once referred to his company as "an overnight success, 7-years in the making." This cheeky insight pays homage to the marathon of work that is often required when building a successful product and / or business. Which begs the question: when is it appropriate to start thinking about scale? Should you be taking it into account during early ideation and the construction of your MVP (Minimum Viable Product)? Or, should you kick the can down the road with the assumption that you can always throw money at the problem later (either by hiring smart people or by vertically scaling your existing compute resources)?
Tweet - James Moberg - Lucee has Unit Tests available with their source
I just discovered that Lucee #cfml has unit tests available with their source. That is so awesome! (In the past, I've asked whether there were any public unit tests for ACF and never got an official response.)
Blog - Ortus Solutions - First Workshop of the Year Announced: Up and Running with Quick
On our first workshop of the year (March 11 - 12) we will get Up and Running with Quick. For those of you unfamiliar with the topic, Quick is an ORM (Object Relational Mapper) written in CFML for CFML.With it you can map database tables to entities (CFCs), create relationships between entities, query and manipulate data, and persist all your changes to your database. Quick helps you give relevant names to important bits of SQL code, compose queries at runtime to get exactly the data you want in the most efficient way, and gets out of your way when you need or want to write barebones SQL.
Several positions available on https://www.getcfmljobs.com/
Listing over 45 ColdFusion positions from 27 companies across 32 locations in 5 Countries since Dec 1st.
2 new jobs this week
Full-Time - Sr. Software Engineer - ColdFusion/Java at West Palm Beach, .. - United States
Posted Feb 19
Full-Time - ColdFusion Developer at Saint Paul, MN - United States
Posted Feb 18
ForgeBox Module of the Week
Navigate for CommandBox
Navigate allows you to traverse previously viewed working directories, both backwards and forwards (much like a web browser).
VS Code Hint Tips and Tricks of the Week
A visual source code plugin for maintaining local history of files.
Every time you modify a file, a copy of the old contents is kept in the local history. At any time, you can compare a file with any older version from the history. It can help you out when you change or delete a file by accident. The history can also help you out when your workspace has a catastrophic problem.
Thank you to all of our Patreon Supporters
These individuals are personally supporting our open source initiatives to ensure the great toolings like CommandBox, ForgeBox, ColdBox, ContentBox, TestBox and all the other boxes keep getting the continuous development they need, and funds the cloud infrastructure at our community relies on like ForgeBox for our Package Management with CommandBox.
You can support us on Patreon here https://www.patreon.com/ortussolutions
- Bronze Packages and up, now get a ForgeBox Pro and CFCasts subscriptions as a perk for their Patreon Subscription.
- All Patreon supporters have a Profile badge on the Community Website
- All Patreon supporters have their own Private Forum access on the Community Website
John Wilson Synaptrix
Carl Von Stetten
You can see an up to date list of all sponsors on Ortus Solutions' Website