Modernize or Die® - CFML News for February 22nd, 2022 - Episode 136
Gavin Pickin and Daniel Garcia host the this weeks CFML News Podcast. They talked about CBWire on fire with all of their releases, with turbo and testing api now. They talked about a new release for ContentBox, a ElasticSearch Search Provider extension. They also talked about Lucee 184.108.40.206 which has no more Log4j 1.x anymore, which means the latest alpha of CommandBox is Log4j 1.x free too. They talked about upcoming Webinars from Ortus, Adobe, as well as Hawaii CFUG... and more workshops from Adobe. They discuss the latest CFCasts content and some upcoming conferences, including some tentative dates for ITB later in the year. They spotlight a lot of great blog posts, tweets, videos and podcasts, too many to list, so listen to the show. They announce some jobs from getCfmlJobs.com They show off the ForgeBox module of the Week - Elasticsearch for ContentBox - This contentbox module provides elasticsearch search capabilities for the ContentBox CMS Platform. This week's VS Code Tip of the week is Live Server - 19 million installs!!! - Launch a local development server with live reload feature for static & dynamic pages. If you want the same with CommandBox - use BrowserSync They thanked all their Patreons - they talked a little information about perks for their Patreon supporters, including Annual Memberships with a discount. For the show notes - visit the website https://cfmlnews.modernizeordie.io/episodes/modernize-or-die-cfml-news-for-february-22nd-2022-episode-136 Music from this podcast used under Royalty Free license from SoundDotCom https://www.soundotcom.com/ and BlueTreeAudio https://bluetreeaudio.com
Watch the video version on YouTube at https://youtu.be/7zZI-11tR1k
- Gavin Pickin - Senior Developer for Ortus Solutions
- Daniel Garcia - Senior Developer for Ortus Solutions
Thanks to our Sponsor - Ortus Solutions
The makers of ColdBox, CommandBox, ForgeBox, TestBox and almost every other Box out there.
A few ways to say thanks back to Ortus Solutions:
- Like and subscribe to our videos on YouTube.
- Help ORTUS reach for the Stars - Star and Fork our Repos
- Star all of your Github Box Dependencies from CommandBox with https://www.forgebox.io/view/commandbox-github
- Subscribe to our Podcast on your Podcast Apps and leave us a review
- Sign up for a free or paid account on CFCasts, which is releasing new content every week
- Buy Ortus’s Book - 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips)
We have 36 patreons providing 96% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions
News and Events
CBWire is on Fire
Testing your front-end #CBWIRE components is now a piece of cake with our simple testing API. Now available in 2.x. Enjoy!
box install cbwire@be
You can also follow Grant Copley on Twitter as he has been posting lots of great cbwire goodness lately.
ContentBox CMS now has Elasticsearch Search Provider available
This contentbox module provides elasticsearch search capabilities for the ContentBox CMS Platform. In addition, with the addition of the Ingest Attachment Plugin for Elasticsearch, it adds capabilities of ingesting PDF, MS Word, and other supported document formats from a directory you specify in the configuration.
Lucee 220.127.116.11 Release Candidate - This release removes all traces of Log4j1
With the advent of Lucee 5.3.9 -RC, we now have a build of CommandBox (5.5.0-alpha) which is 100% FREE OF LOG4J 1.x!
Please help us test and use it if you need to get those #infosec monkeys off your back! 🐒 #CFML #ColdFusion
This Week Ortus Webinar - What's new in CommandBox 5.x with Brad Wood
February 24th, 2022 at 11:00 AM Central Time (US and Canada)
In this webinar, Brad Wood, lead developer of CommandBox will cover all the new features available in CommandBox 5.x. Tune in to make sure you're getting the most out of your CLI.
This Week Hawaii CFUG - Using CFCs in your ColdFusion Applications with John Barrett
Friday, February 25, 2022 - 5:00 PM CT - Central Time (US and Canada)
This will be a talk on using CFCs in your ColdFusion applications. Creating and developing applications using CFCs enables you to separate the code logic from the design and presentation. Utilizing CFCs and creating a clear structured format for your code will help reduce the complexity of logic within your pages and improve the application speed. Having a clearly structured, the well-organized code base will make it easier to develop as an individual and share resources within a team. This is the instant benefit of CFC development.
This Week Adobe Webinar - Cloud Report Building Using ColdFusion & PDF
THURSDAY, FEBRUARY 24, 2022
10:00 AM PST
Join Mark Takata as he leverages the power of Adobe ColdFusion and Adobe PDF to build reports using cloud based no-code data-sources. Mark will be connecting to Google Sheets and generating PDF based reports with pagination, charting and data grids using GraphQL, CFML and PDF services.
Join the Adobe ColdFusion Workshop to learn how you and your agency can leverage ColdFusion to create amazing web content. This one-day training will cover all facets of Adobe ColdFusion that developers need to build applications that can run across multiple cloud providers or on-premise
ICYMI - WEDNESDAY, FEBRUARY 16, 2022
9:00 AM EST
WEDNESDAY, MARCH 9, 2022
9:00 AM CET
Damien Bruyndonckx (Brew-en-dohnx)
Full list - https://meetus.adobeevents.com/coldfusion/
CFCasts Content Updates
- Using DocBox Commands https://cfcasts.com/series/using-docbox/videos/using-docbox-commands
Nice quick video on how to use DocBox Commands to generate documentation using CommandBox
Conferences and Training
DevNexus 2022 - The largest Java conference in the US
April 12-14, 2022
Brad & Luis will be speaking
Luis - Alpine.js: Declare and React with Simplicity
Brad - What's a Pull Request? (Contributing to Open Source)
US VueJS Conf
FORT LAUDERDALE, FL • JUNE 8-10, 2022
Beach. Code. Vue.
Workshop day: June 8
Main Conference: June 9-10
CFP now open! - Deadline: February 28
Into The Box 2022
Tentative dates - September 27-30
Into the Box Latam 2022
Tentative dates - Dec 1-2
Need more conferences, this site has a huge list of conferences for almost any language/community.
Blogs, Tweets, and Videos of the Week
Blog - Wil De Bruin - Cborm event handling: tracking some Lucee problems.
In my previous post on logging database changes with Logbox I wanted to show how to log database changes with interceptors in a cborm system. This should be quite simular to the quick example from the previous post. It just needs an extra step, you have to configure this in Application.cfc:
Blog - Ben Nadel - Storing Encryption Key Version As A Prefix On The Encrypted Field In MySQL
A while back, in one of our ColdFusion applications, I had to rotate the encryption key being used to encrypt a column in our MySQL database. This particular feature wasn't powered by a native database encryption control - all the encryption and decryption was being performed within the ColdFusion application itself using the encrypt() and decrypt() functions. After all was said and done, I added a new column to the database table to hold the "version" of the encryption key being used for each record. But, in retrospect, I wish I had just included the "version" of the key as a prefix on the field value itself.
Blog - Grae Desmond - Rounding large numbers for easier display
ow do you round down a large number so that you can display it easier. How I got stuck on a what turned out to be a simple solution.
So I am building some reports where there are all kinds of variations of numbers. Some are billions of dollars, some are hundreds of people, some are dozens of degrees, etc. The format is always the same, a single chart and a single table underneath. So an obvious case for reuse. Just refresh the page with each filter applied of what they want to see.
Blog - Ben Nadel - Irrational Guilt Over Returning Queries From My Data-Access Layer (DAL) In ColdFusion
For years, I've carried around an irrational guilt over returning Query objects from the data-access layer (DAL) of my ColdFusion applications. The basis of this guilt stems from the fact that I've long-thought of the DAL as a "black box" that simply persists data in an abstract fashion. And, by returning a query object, I've always feared that I was letting my data persistence implementation details - the very fact that I'm even using a relational database - leak out into my service layer.
Blog - Mark Takata - Adobe - Blog series: Building a data import workflow using Cloud datasources and CFML
Alrighty! So this is going to be the first post introducing a little project I’m going to be building up and sharing the code to on Github for folks to use if they would like. I’ve actually had this workflow requirement come up several times in my development career, so I’m going to assume it is something the community might find useful.
Blog - Mark Takata - Adobe - Blog series: Part 1: Building a data import workflow using Cloud datasources and CFML
We’re going to kind of go backwards here with this web series, but I wanted to make sure we build out our scaffolding before we get into the meat of the actual code. As a reminder, we’ll be building a system which pulls data from a Google Sheet using BaseQL to generate a GraphQL endpoint (read-only) which will feed a page that allows the user to edit those items prior to pushing them into our DynamoDB No-SQL cloud database on AWS.
Blog - Ben Nadel - Ignoring Loopback WebSocket Events From Pusher In Lucee CFML 18.104.22.168
I've been using Pusher WebSockets with ColdFusion for over a decade now and I absolutely love the Pusher SaaS product. It removes all of the complexity around managing a WebSocket platform, allowing me to focus purely on the User Experience (UX) and near-realtime updates within our products. That said, one thing that I've struggled with from the start is dealing with "loopback events". That is, a browser reacting to WebSocket events that the browser itself triggered. To fix this problem, I'm going to start injecting a universally-unique browser ID (a ColdFusion UUID) into my AJAX calls using HTTP interceptors. Then, I'm going to echo that browser UUID in my WebSocket events on the Lucee CFML side of my application.
Blog - Mark Takata - Adobe - Using GraphQL to interact with Google Sheets using BaseQL
Last time I posted, I added a write functionality to my already existing talks on reading from Airtable APIs using GraphQL by integrating with the BaseQL plugin. There’s been some cool updates there and I wanted to share them, as they potentially open up an amazing and exciting new arena for using ColdFusion to write sites that leverage low-code/no-code sources for data.
The bigger news (in my opinion anyhow) is the addition of Google Sheets as a datasource.
Blog - Mark Takata - Adobe - Learning about CFML: Resources & Ideas
I’ve been a CFML developer for a long time, as have a lot of you. But everyone can always learn something new. There’s also a new generation of devs hungry for resources to learn about CFML, figure out how to move over their existing knowledge, or just get certified as they search for their first ColdFusion position.
I get a lot of questions about where to go for CFML knowledge, so I thought I might compile a few things here, so there’s a one stop shop to hit up when looking for info. So, without further
Several positions available on https://www.getcfmljobs.com/
Listing over 42 ColdFusion positions from 26 companies across 26 locations in 5 Countries.
1 new job listed
Full-Time - ColdFusion Developers at Kochi, Kerala - India
Other Job Links
ForgeBox Module of the Week
Elasticsearch for ContentBox
This contentbox module provides elasticsearch search capabilities for the ContentBox CMS Platform. With the addition of the Ingest Attachment Plugin for Elasticsearch, it adds capabilities of ingesting PDF, MS Word, and other supported document formats from a directory you specify in the configuration.
VS Code Hint Tips and Tricks of the Week
Live Server - 19 million installs!!!
Launch a local development server with live reload feature for static & dynamic pages.
- A Quick Development Live Server with live browser reload.
- Start or Stop server by a single click from status bar.
- Open a HTML file to browser from Explorer menu.[Quick Gif Demo].
- Support for excluding files for change detection.
- Hot Key control.
- Customizable Port Number, Server Root, default browser.
- And much more
For similar functionality with CommandBox, try BrowserSync
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
- Now offering Annual Memberships, pay for the year and save 10% - great for businesses.
- 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
- Eric Hoffman
- Gary Knight
- Mario Rodrigues
- Giancarlo Gomez
- David Belanger
- Dan Card
- Jonathan Perret
- Jeffry McGee - Sunstar Media6
- Dean Maunder
- Joseph Lamoree
- Don Bellamy
- Jan Jannek
- Laksma Tirtohadi
- Carl Von Stetten
- Jeremy Adams
- Didier Lesnicki
- Matthew Clemente
- Daniel Garcia
- Scott Steinbeck - Agri Tracking Systems
- Ben Nadel
- Brett DeLine
- Kai Koenig
- Charlie Arehart
- Jonas Eriksson
- Jason Daiger
- Shawn Oden
- Matthew Darby
- Ross Phillips
- Edgardo Cabezas
- Patrick Flynn
- Stephany Monge
- John Whish
- Kevin Wright
- Peter Amiri
You can see an up to date list of all sponsors on Ortus Solutions' Website
Switch to Modernize or Die ® Podcast - SoapBox Edition - Switch to Modernize or Die ® Podcast - Conference Edition
Music from this podcast used under Royalty Free license from SoundDotCom and BlueTreeAudio© 2019 Ortus Solutions