Modernize or Die® - CFML News for December 8th, 2020 - Episode 82

Brad and Gavin host this weeks episode. They discuss the Hotfix released for CF2021 date mask compatibility issues. They discuss a link shared by James Moberg, pointing to Adobe CF2021 Deprecated Features. They touch on some sad news, Wil Genovese, a valuable CFML Community member lost his battle with cancer. Preside Christmas Release, v10.13.0 was released with a "treasure trove" of new features. They discuss Github Universe going on this week. They discuss this weeks Online CF Meetup on CommandBox Servers with Brad Wood, and share the recording link for last weeks progressive webapps session, and remind you about Seattle CFUG's rescheduled Thinkific API is coming to you December 9th. They discuss Advent of Code and how you can participate. They give you an update on a post on the Sentry site, to get CFML added into the language lists. They give you an roundup of CFCasts Content Updates... including 13 ColdBox Zero to Hero videos. They discuss Github Universe and AWS re:Invent going on right now, as well as this week's Security workshop, lead by Pete Freitag from Foundeo's, called "Writing Secure CFML". They discuss last weeks Into the Box Latam conference which had a good turnout, as well as Google’s DevFest Silicon Valley recordings available on YouTube right now. They discuss how the Adobe ColdFusion Certification is still available online. 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, as well as a Senior CFML position available at Ortus Solutions. They show off the ForgeBox module of the Week, twiliolookupcfc by Matthew Clemente. A CFML wrapper for the Twilio Lookup API. Use Twilio's Lookup API to retrieve information about phone numbers, including region-specific formatting, carrier information, and caller name. This week's VS Code Tip of the week is npm. This extension supports running npm scripts defined in the package.json file and validating the installed modules against the dependencies defined in the package.json. For the show notes - visit the website https://cfmlnews.modernizeordie.io/episodes/modernize-or-die-cfml-news-for-december-8th-2020-episode-82 Music from this podcast used under Royalty Free license from SoundDotCom https://www.soundotcom.com/ and BlueTreeAudio https://bluetreeaudio.com
2020-12-08 Weekly News - Episode 82

Watch the video version on YouTube at https://youtu.be/7AFUizKXnZk

Hosts:

Gavin Pickin - Software Consultant for Ortus Solutions
Brad Wood - Software Consultant for Ortus Solutions


Thanks to our Sponsor - Ortus Solutions

CFCasts is releasing new Free and Paid content every week, now including the ColdBox Zero to Hero training series


Patreon Support

We have 33 patreons providing 57% 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!
https://www.ortussolutions.com/blog/we-need-your-help



News and Events



Hotfix released for CF2021 date-mask compatibility issue

Good news to share: if you're concerned about being impacted by a pressing compatibility issue in ColdFusion 2021 (regarding using "D" in a dateformat mask), Adobe released a fix for the problem last week. There are 3 simple steps to implementing that hotfix.
For more on the problem, see see my recent post on the issue. For more on the fix, see that Adobe technote or read on for some additional details.
https://www.carehart.org/blog/client/index.cfm/2020/12/7/cf2021_hotfix_datemask_compatibility_issue   

Scott Steinbeck: Here is the regex ((?<=l?s?(dateformat|dateformat|datetimeformat)).+[DY]+[^\#]+)
You have to use java pattern matcher with the regex above ☝it uses a lookbehind



Adobe ColdFusion 2021 Deprecated Features

Thanks to James Moberg for sharing the link to this valuable information via Twitter
https://helpx.adobe.com/coldfusion/user-guide.html/coldfusion/deprecated-features.ug.html



Sad News - Wil Genovese lost his battle with Cancer

It's a sad moment, we lost a well known member of the CFML Community this week. Our thoughts and prayers go out to his friends and family.
We have a Blog post below remembering Wil.



Preside Christmas Release - V10.13.0

The 10.13.0 release brings another treasure trove of new features and improvements to Preside. Highlights include a new form builder data model, UX improvements to the filter system and a solution to "Widgetception"! Special thanks to Brayden Tan, Guust Nieuwenhuis, Jan Jannek, Jasmin Tsai, Johnson Cheng, Kar Hong, Russel Cole, Seb Duggan, Teon Ooi and Vivien Wong for code contributions (+ anyone else I may have missed). Also to Jan Jannek, Marcus Egger and Sacha Moufarrege for translations.
https://www.preside.org/release-notes/release-notes-for-10-13-0.html




Conference - GitHub Universe this Week!!!!

Dec 8 - 10th - 830AM PST - 200PM PST
Join GitHub team leaders, industry icons, and artists inspired by code for three days of live interactive sessions as we explore the future of software for enterprises, developers, and students.
With 70 talks across the 3 days, 4 Channels, lots of great content
No registration required and free to watch
https://githubuniverse.com/



RESCHEDULED - Seattle CFUG - Hands-on deep-dive into interacting with the Thinkific API.

Wednesday, December 9th, 2020
6:00 PM to 7:30 PM PST
RESCHEDULED FROM Wednesday, November 11, 2020
Hosted by - William Frankhouser and Leon O'Daniel
This meeting features an hands-on deep-dive into interacting with the Thinkific API.
Thinkific is one of the top platforms for online course delivery. This meetup builds upon the concepts shared at the October 2020 Seattle ColdFusion User Group Meeting to provide a hands-on experience interacting with the Thinkific API.
https://www.meetup.com/Seattle-ColdFusion-User-Group/events/274050264/



Coldfusion Online Meetup - "Using CommandBox CLI to manage all your servers", with Brad Wood

Thursday, December 10, 2020
11:00 AM to 12:00 PM CST
CommandBox is a CLI tool designed for CFML developers to be easy to use. If you are not a fan of CLI tools, please don't pass over CommandBox until you've given it a try. It is capable of starting any version of Lucee Server or Adobe ColdFusion with no installation. Learn how to easily get started with a local development environment today, get tips to dial in your server settings, and discover how to automate your server setups. CommandBox is used across the CF space for local dev, production, and Docker. We'll cover what you need to know to get started and answer any questions you have about how it works.
https://www.meetup.com/coldfusionmeetup/events/274974315/



ICYMI - Coldfusion Online Meetup - "How to build Progressive Web Apps", with John Wargo
Thursday Dec 3 at 12pm US Eastern Time, UTC-5
Progressive Web Apps leverage modern browser capabilities to deliver additional capabilities for developers and app users. These web apps deliver capabilities that make a web app 'feel' more like traditional and mobile apps, providing offline capabilities (like the ability to run when offline or to perform background synchronization), receive push notifications, and installation on the system. In this session, John M. Wargo, the author of Pearson's Learning Progressive Web Apps (https://learningpwa.com) will introduce you to PWAs and show you how to build them.
Recording: https://www.youtube.com/watch?v=fBVozXmp3oQ
Meeting: https://www.meetup.com/coldfusionmeetup/events/274867028/



Advent of Code 2020

Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as a speed contest, interview prep, company training, university coursework, practice problems, or to challenge each other.
You don't need a computer science background to participate - just a little programming knowledge and some problem solving skills will get you pretty far. Nor do you need a fancy computer; every problem has a solution that completes in at most 15 seconds on ten-year-old hardware.
https://adventofcode.com/2020



Help us get CFML listed on Sentry.io

Giancarlo Gomez started a thread on Sentry.io to get CFML on the Create Project view. As he mentions in the thread, we have a couple of Sentry plugins available, one he created, and one by Brad.
Let’s get behind this thread, like, reply, and make a little noise for CFML.
https://forum.sentry.io/t/adding-coldfusion-as-a-platform/11875



CFCasts Content Updates

ColdBox Zero to Hero Workshop - 13 videos live already - https://cfcasts.com/series/cb-zero-to-hero

Send your suggestions at https://cfcasts.com/support



Conferences and Training



GitHub Universe

Dec 8 - 10th - 830AM PST - 200PM PST
Join GitHub team leaders, industry icons, and artists inspired by code for three days of live interactive sessions as we explore the future of software for enterprises, developers, and students.
With 70 talks across the 3 days, 4 Channels, lots of great content
No registration required and free to watch.
Videos will be on Demand ( the day following to the first day streamed ).
https://githubuniverse.com/



ColdFusion Security Training by Foundeo / Pete Freitag

Writing Secure CFML

A hands-on CFML / ColdFusion Security Training class for developers. Learn how to identify and fix security vulnerabilities in your ColdFusion / CFML applications.
When: Thursday December 10, 2020 @ 11am-2pm & Friday December 11 @ 11am-2pm
(Eastern Standard Time, UTC -5) - 6 hours in total.
Where: Online / Web Conference
Who: Taught by Pete Freitag
Cost: $600
https://foundeo.com/consulting/coldfusion/security-training/



AWS re:Invent

NOV. 30 – DEC. 18, 2020
Free
Amazon’s Premium Conference is also virtual, and a free 3-week event:
https://reinvent.awsevents.com/



ICYMI - ITB Latam was last week and FREE

Was December 3-4th
Live Virtual Conference in Spanish and English and PORTUGUESE!!!
Price: FREE- in the spirit of the holidays
Great turnout - Approx 150 attendees
Coming to CFCasts in coming weeks
https://latam.intothebox.org/

Short Videos about the Conference with Jorge from Ortus and Michela from TeraTech
https://www.youtube.com/watch?v=F-Kt89ggAek
https://www.youtube.com/watch?v=2rEIZysqIMo



ICYMI - Google’s DevFest Silicon Valley.

Saturday, December 5, 2020
10:00 AM to 2:00 PM PST
There will be 2 tracks over just 4 hours, with 4 sessions in each track and opening/closing remarks. Short and sweet, and the topics are ones that CFers may find interesting.
https://www.meetup.com/gdg-silicon-valley/events/274388593/
Track 1 Recording - https://www.youtube.com/watch?v=KKPp0nJy2R8
Track 2 Recording - https://www.youtube.com/watch?v=ktYGneT8aMg



Adobe ColdFusion Certification now available Online

Adobe Certified Professional: Adobe ColdFusion is an industry-leading certification program from Adobe, for ColdFusion developers. The course consists of 50+ online videos and is designed for professionals who have basic to advanced level proficiency in any computer language and basic understanding of how web pages work. Successfully passing an assessment test at the end of the program will reward participants with a badge and certificate from Adobe.
Introductory Offer: $499
Blog: https://coldfusion.adobe.com/2020/07/coldfusion-certification-online-now/
Register: https://www.adobe.com/products/coldfusion-family/certificate.html



More conferences: https://confs.tech/



Blogs, Tweets and Videos of the Week



Blog - Wil De Bruin - Event.buildLink: query params vs path variables
I had some issues with how event.buildlink() in Coldbox is generating a URL. To understand what’s my problem let me introduce the old-fashioned way to hit a coldbox application.
https://shiftinsert.nl/event-buildlink-query-params-vs-path-variables/


Blog - Ben Nadel - Atomically Incrementing JSON Column Values In MySQL 5.7.32 And Lucee CFML 5.3.7.47
In the last few days, I've started to look at the JSON column type that I can now leverage in MySQL 5.7.32. It's pretty cool that MySQL now allows for JSON (JavaScript Object Notation) structures; but, the offering in MySQL 5.7.x isn't as robust as it is in more specialized databases like MongoDB or Redis. That said, MySQL appears to provide most of the necessary building blocks in its initial implementation. And, one feature that I wanted to see if I could implement in MySQL 5.7.32 is the ability to atomically increment a JSON column value in Lucee CFML 5.3.7.47.
https://www.bennadel.com/blog/3935-atomically-incrementing-json-column-values-in-mysql-5-7-32-and-lucee-cfml-5-3-7-47.htm


Blog - Pete Freitag - Foundeo - Java LTS Version Roadmap and Guide
People often download and install the latest version of Java, rather than the latest LTS version of java. In most cases, especially if it is on a server you probably want to be using the LTS version of java.
https://www.petefreitag.com/item/911.cfm


Blog - CFWebtools - Remembering Wil Genovese
Our friend and colleague Wil passed away a few days ago after a hard-fought battle with cancer. Wil worked for CF Webtools for almost 10 years. His devotion and expertise are irreplaceable. He has posted on this blog frequently and was a frequent writer on his own excellent blog at Trunkful.com. His role here was as a senior architect and knowledge expert. His influence was felt throughout our staff.
https://www.coldfusionmuse.com/index.cfm/2020/12/8/Remembering-Wil-Genovese



Blog - Charlie Arehart - Hotfix released for CF2021 date-mask compatibility issue
Good news to share: if you're concerned about being impacted by a pressing compatibility issue in ColdFusion 2021 (regarding using "D" in a dateformat mask), Adobe released a fix for the problem last week. There are 3 simple steps to implementing that hotfix.
For more on the problem, see see my recent post on the issue. For more on the fix, see that Adobe technote or read on for some additional details.
https://www.carehart.org/blog/client/index.cfm/2020/12/7/cf2021_hotfix_datemask_compatibility_issue



Blog - Fusion Reactor - Basic Load Testing With Locust
o-one likes to get caught out with scaling issues. Your app or site goes viral, or you simply get a tonne of unexpected traffic through a favourable blog post, and without some preparation, all hell can break loose, your app fails and users are left disappointed (not least the business owners).
One of the most common ways in preparing for unexpected traffic is by using load testing. Load tests can range from blindingly simple (hit endpoint ‘x’ a number of times) to complex constructions which model user behaviour, including logins, logouts, mock purchases and the like.
Having a baseline test which you can replicate consistently – perhaps after an environment change – can help give you insight as to what capacity your setup has.
http://www.fusion-reactor.com/blog/basic-load-testing-with-locust/


Blog - Dominic Watson - GetHttpRequestData(): Performance gotcha
GetHTTPRequestData() is a built in CFML function that retrieves: HTTP Headers, HTTP Method, HTTP Body
Handy! However, the HTTP Body part has issues...
I discovered another issue today. Each time you call GetHttpRequestData(), Lucee will re-read the input stream of the request to populate the body, consuming memory in the process.
http://domwatson.codes/2020/12/gethttprequestdata.html


Blog - Ben Nadel - More Experimenting With The JSON Column Type In MySQL 5.7.32 And Lucee CFML 5.3.7.47
Over the weekend, I took my first look at the JSON column type in MySQL 5.7. The JSON column type introduces a Document-like feature-set on top of the traditional relational database framework. In that post, I looked at storing Entity-Attribute-Values (EAV) in a JSON field. In this post, I wanted to look at an approach that we use at InVision in which an "invitation" to the system can be associated with Prototypes and Boards. Currently, we maintain these associations with a comma-delimited list of IDs (which is a garbage approach); and, I wanted to see if it would feel less like garbage if I used a JSON column type. To explore this, I'm using MySQL 5.7.32 and Lucee CFML 5.3.7.47.
https://www.bennadel.com/blog/3934-more-experimenting-with-the-json-column-type-in-mysql-5-7-32-and-lucee-cfml-5-3-7-47.htm


Blog - kaushikl82023004 - ColdFusion Portal - MongoDB Integration with CF2021
This is a blog about the new feature in ColdFusion. You can now integrate it with MongoDB, a NoSQL database.
https://coldfusion.adobe.com/2020/12/mongodb-integration-cf2021/


Blog - Andy Peterson - Updating Lucee as Part of a Vulnerability Alert Response - Painless as Promised, or ???
While I mainly use Adobe ColdFusion, I do maintain several Lucee installs - most of which are running on auto-pilot and/or hosted/configured/maintained by the host. However, when I first heard of the Lucee vulnerability on the Modernize or Die podcast, I decided to take an inventory of where I was using Lucee to see what needed upgrades and patches. Lucee patches for this vulnerability are 5.3.5.96, 5.3.6.68, and 5.3.7.47. I was running 4.5.1.024. This Lucee install was woefully out of date, so much so that an update for 4 was not listed. Indeed, a comment from Zac Spitzer indicated that 4.5 was probably not affected.
http://ciacfug.org/blog/updating-lucee-as-part-of-a-vulnerability-alert-response


Blog - Ben Nadel - Experimenting With The JSON Column Type In MySQL 5.7.32 And Lucee CFML 5.3.7.47
At InVision, we are in the process of upgrading some of our MySQL database servers from MySQL 5.6.x to MySQL 5.7.32. While this is a "minor" upgrade (done so in order to remain within LTS - long-term support), this update does include something kind of cool: a JSON column type. I've never actually used any official JSON (JavaScript Object Notation) support in a relational database before. So, I thought it would be fun to sit down and try it out in Lucee CFML 5.3.7.47.
https://www.bennadel.com/blog/3933-experimenting-with-the-json-column-type-in-mysql-5-7-32-and-lucee-cfml-5-3-7-47.htm


Tweet - James Moberg - Date Mask Examples in CF Books
he first 6 examples of DateFormat mask attribute in 2013's #ColdFusion 8 Web Application Construction Kit book are all uppercase. #cfml
MMMM-DD-YYYY = 1
MM/DD/YY = 1
DDD, MMM DD, YYYY = 1
MM/DD/YYYY = 3
m/d/yy = 1
yyyy = 1
mmmm d = 3
dddd, mmmm d, yyyy = 3
mmmm d, yyyy = 6
https://twitter.com/gamesover/status/1334562407503421440
https://twitter.com/gamesover



Tweet - James Moberg - Yes/No & True/False aren't always interchangeable with Adobe #ColdFusion
Yes/No & True/False aren't always interchangeable with Adobe #ColdFusion.  Is this a bug or "works as expected"?  Are there other #cfml examples?
Source: https://gist.github.com/JamoCA/bc7428b9985ef560fd62b15c3b177f94
TryCF: https://www.trycf.com/gist/bc7428b9985ef560fd62b15c3b177f94
https://twitter.com/gamesover/status/1334550759279632386
https://twitter.com/gamesover


Blog - Andy Peterson - Running Adobe ColdFusion 2018 and 2021 concurrently - Use the WSConfig tool.
When CF 2021 came out just before CF Summit back in November of 2020, I was chomping at the bit to try the new features, including SAML, AWS, and Azure integration from the administrator's configuration. But just after upgrading to 2021, we discovered the date bug, and so needed to revert a site or two back to CF 2018.
I've gotten used to manipulating the cf_scripts and jakarta virtual directories manually in IIS rather than use the website configuration tool that comes with CF. Below are how those directories look in IIS.
http://ciacfug.org/blog/running-cf-2018-and-2021-concurrently-use-the-wsconfig-tool


Blog - Andy Peterson - AWS S3 and ColdFusion 2021, Part 1: The Setup
This is another stars-aligned, providential moment whereby my organization is seeking to choose a cloud provider at the same time Adobe is stepping up to the plate with a new arsenal of tools to get me there faster. After watching another excellent Brian Klaas conference session, this time at CF Summit 2020, it was time to dive in. His advice to start your cloud journey by moving local assets to the cloud resounded in my ears, and so that is what we'll be covering in this post. Part 1 will be an introduction to S3 as well as configuring in Adobe ColdFusion 2021.
http://ciacfug.org/blog/aws-s3-and-coldfusion-2021-part-1-the-setup



CFML Jobs

Several positions available on https://www.getcfmljobs.com/
Listing over 51 ColdFusion positions from 34 companies across 27 locations in 5 Countries since July 1st

4 new jobs this week.

Full-Time - Intégrateur.trice Web – ColdFusion at Montréal, QC - Canada
Posted Dec 04
https://www.getcfmljobs.com/jobs/index.cfm/canada/Intgrateurtrice-Web-ColdFusion-at-Montral-QC/11147

Full-Time - Intégrateur.trice Coldfusion at Montréal, QC - Canada
Posted Dec 03
https://www.getcfmljobs.com/jobs/index.cfm/canada/Intgrateurtrice-Coldfusion-at-Montral-QC/11146

Full-Time - ColdFusion Application Developer at Hyderabad, Telangana - India
Posted Dec 02
https://www.getcfmljobs.com/jobs/index.cfm/india/ColdFusion-Application-Developer-at-Hyderabad-Telangana/11145

Full-Time - Coldfusion and Lucee Developer at London - United Kingdom
Posted Dec 02
https://www.getcfmljobs.com/jobs/index.cfm/united-kingdom/Coldfusion-and-Lucee-Developer-at-London/11144


Ortus is hiring: Senior ColdFusion CFML Developer

At Ortus you will be:
Modernizing web applications and helping companies move out of legacy hell
Teaming up with ColdFusion Experts in order to solve complex web development problems.
Testing and integrating new web technologies in order to create custom business implementations
Pushed to innovate constantly and create new solutions to web development problems
Leading project teams that deliver software that matters

- US Timezone availability is a must
- US Citizen or Resident or Work Visa is a must

https://www.ortussolutions.com/about-us/careers


ForgeBox Module of the Week

twiliolookupcfc by Matthew Clemente

A CFML wrapper for the Twilio Lookup API. Use Twilio's Lookup API to retrieve information about phone numbers, including region-specific formatting, carrier information, and caller name.

To get started with the Twilio Lookup API, you'll need your Twilio account SID and your auth token. You can find your account SID and auth token in your console.

box install twiliolookupcfc

https://forgebox.io/view/twiliolookupcfc



VS Code Hint Tips and Tricks of the Week

npm

Vscode-npm-script by egamma - 3 million+  installs

This extension supports running npm scripts defined in the package.json file and validating the installed modules against the dependencies defined in the package.json.

The package.json validation reports warnings for modules:
 - that are defined in the package.json, but that are not installed
 - that are installed but not defined in the package.json
 - that are installed but do not satisfy the version defined in the package.json.
 - Quick fixes to run npm are provided for reported warnings.

https://marketplace.visualstudio.com/items?itemName=eg2.vscode-npm-script





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


Ben Nadel
Brett DeLine
Carl Von Stetten
Charlie Arehart
Da Li
Dan Card
Daniel Garcia
David Belanger
Didier Lesnicki
Don Bellamy
Edgardo Cabezas
Erick Hoffman
Gary Knight
Giancarlo Gomez
Jan Jannek
Jason Daiger
Jeff McClain
Jeremy Adams
Jonas Erickson
Jordan Clark
Joseph Lamoree
Kai Koenig
Laksma Tirtohadi
Mario Rodrigues
Matthew Darby
Matthew Clemente
Mingo Hagen
Patrick Flynn
Ross Phillips
Scott Steinbeck
Shawn Oden
Steven Klotz
Synaptrix
Yogesh Mathur

You can see an up to date list of all sponsors on Ortus Solutions' Website
https://ortussolutions.com/about-us/sponsors


★ Support this podcast on Patreon ★

Switch to Modernize or Die ® Podcast - SoapBox Edition - Switch to Modernize or Die ® Podcast - Conference Edition

Powered by

Music from this podcast used under Royalty Free license from SoundDotCom and BlueTreeAudio

© 2019 Ortus Solutions