Modernize or Die® - CFML News Podcast for November 1st, 2022 - Episode 170

2022-11-01 Weekly News - Episode 170

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

Hosts: 

  • Gavin Pickin - Senior Developer at Ortus Solutions
  • Daniel Garcia- Senior Developer at Ortus Solutions

Thanks to our Sponsor - Ortus Solutions
The makers of ColdBox, CommandBox, ForgeBox, TestBox and all your favorite box-es out there. 
A few ways  to say thanks back to Ortus Solutions:

 
Patreon Support ( amazing )
Goal 1 - We have 42 patreons providing 100% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions.
Goal 2 - We are 32% of the way to fully fund the hosting of ForgeBox.io

News and Announcements

ICYMI - Hacktoberfest 2022
HERE’S WHAT YOU NEED TO KNOW TO PARTICIPATE AND COMPLETE HACKTOBERFEST:
Register anytime between September 26 and October 31
Pull requests can be made in any GITHUB or GITLAB hosted project that’s participating in Hacktoberfest (look for the “hacktoberfest” topic)
Project maintainers must accept your pull/merge requests for them to count toward your total
Have 4 pull/merge requests accepted between October 1 and October 31 to complete Hacktoberfest
The first 40,000 participants (maintainers and contributors) who complete Hacktoberfest can elect to receive one of two prizes: a tree planted in their name, or the Hacktoberfest 2022 t-shirt.
https://hacktoberfest.com/
Ortus Blog about Hacktoberfest - https://www.ortussolutions.com/blog/october-is-here-and-that-means-hacktoberfest

Gavin and Daniel both ordered their T-Shirts!!!

New Releases and Updates

CBWIRE v2.1 Released

CBWIRE, our ColdBox module that makes building reactive, modern CFML apps delightfully easy, just dropped its 2.1 release. This release contains mostly bug fixes and also the ability to create your UI templates directly within your CBWIRE component using the onRender() method.
We've added an example of using onRender() to our ever growing CBWIRE-Examples Repo that you can run on your machine locally. https://github.com/grantcopley/cbwire-examples

https://www.ortussolutions.com/blog/cbwire-2-1-released

ICYMI - MasaCMS v7.3.9 released

  • Update filebrowser.cfc by @jimblesphere in #128
  • fix empty admin minified JS files
  • replace We Are Orange with We Are North

https://github.com/MasaCMS/MasaCMS/releases/tag/7.3.9

Other Masa Links
https://github.com/MasaCMS/MasaCMS/discussions/135 
https://github.com/MasaCMS/MasaCMS/discussions/136
https://github.com/MasaCMS/MasaCMS/discussions/137 

ICYMI - Image Extension 2.0.0.16 BETA

Image Extension 2.0.0.16-BETA is available for testing

  • fixes some locking issues on windows
  • major refactoring
  • optional support for commercial Jdeli and/or Apose Imaging jars when available in the classpath (i.e /lib dir)
  • Latest Twelve Monkeys 2 3.9.3 (including lossless WEBP support) previous was 3.8.2

JDeli for example supports HEIC images

Version 2 will bundled with Lucee 6.0, but it also works with Lucee 5.3
We will be backporting the image locking fixes to the 1.0 branch, which is a blocker for the 5.3.10 release
https://dev.lucee.org/t/image-extension-2-0-0-16-beta/11293


Webinar / Meetups and Workshops

Ortus Event Calendar for Google

https://calendar.google.com/calendar/u/0?cid=Y181NjJhMWVmNjFjNGIxZTJlNmQ4OGVkNzg0NTcyOGQ1Njg5N2RkNGJiNjhjMTQwZjc3Mzc2ODk1MmIyOTQyMWVkQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20

Embeddable Link: https://calendar.google.com/calendar/embed?src=c_562a1ef61c4b1e2e6d88ed7845728d56897dd4bb68c140f773768952b29421ed%40group.calendar.google.com&ctz=America%2FLos_Angeles 


Ortus Office Hours

We are starting this a new initiative where some Ortusians will be on a Zoom call and answer whatever questions people have. We are going to start less structured and see how things develop. For this first one we have Grant, Gavin, and Daniel.

November 4th at 11am CDT - 1st Friday of the Month
Daniel Garcia will host a variety of Ortus people
Office Hours questions & requests form available
Register in advance for this meeting:
https://us06web.zoom.us/meeting/register/tZwvduyvpz8sHNyBiE0ez7Y-49_U-0ivMSUd

Ortus Software Craftsmanship Book Club - Patreon Only

Friday, November 11th at 2pm CDT - 2nd Friday of the Month
Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin (Uncle Bob)

We will meet monthly on Zoom, and we’ll use the Ortus Community Forum for Patreon to discuss the book.
https://community.ortussolutions.com/t/ortus-software-craftsmanship-book-club-clean-code/9432

We will also be rewriting the code from Java to CFML as we proceed through the book.
The final result will be here https://github.com/gpickin/clean-code-book-cfml-examples

You can get a copy of the book at one of the below links, or your favorite bookstore
https://amzn.to/3TIrmKm or https://www.audible.com/pd/Clean-Code-Audiobook/B08X7KL3TF?action_code=ASSGB149080119000H&share_location=pdp&shareTest=TestShare


Ortus Webinar - Daniel Garcia - API Testing with PostMan
Friday, November 18th  at 11am CDT - 3rd Friday of the Month
https://us06web.zoom.us/meeting/register/tZYqc-uuqzMqGtAO7tQ6qCsN8bR0LyBf8DNP


ICYMI - Online ColdFusion Meetup - 300th Episode: A look back and a new direction", with Charlie Arehart
Thursday, October 27, 2022 at 9:00 AM - 10AM
We did it, reaching episode 300! Join us as we celebrate this momentous anniversary. The Online CFMeetup was formed in 2005 and has been hosted since 2007 by Charlie Arehart, with sessions from over 150 speakers on a wide range of topics related to CF. In this session, we'll celebrate the past and look to the future for the group, where I will propose a new direction/format. All still about CF, of course. Here's to 300 more!
https://www.meetup.com/coldfusionmeetup/events/289332692/
Recording: https://www.youtube.com/watch?v=76xHooM9Kj4
 
ICYMI - Ortus Webinar - Step up your Testing with Gavin Pickin
Friday October 28th at 11am CDT
We all test manually, let's step up our game with some easy, powerful and valuable automated tests with TestBox - even on your legacy codebases.
Fewer bugs and errors are the primary benefit of the Testing. When the code has fewer bugs, you'll spend less time fixing them than ot
her programming methodologies. Test Driven Developer produces a higher overall test coverage and, therefore to a better quality of the final product.
Register now: https://bit.ly/3EY6SZK
Recording on CFCasts: https://cfcasts.com/series/ortus-webinars-2022/videos/gavin-pickin-on-step-up-your-testing

CFHawaii - ColdFusion Builder for VS Code
Friday, October 28, 2022 at 3:00 PM to Friday, October 28, 2022 at 4:00 PM PDT
Mark Takata, the Adobe CF Technical Evangelist for ColdFusion will give a presentation on the new ColdFusion Builder extension for VS Code. During his talk he will discuss:
Access built-in support for IntelliSense code completion, better semantic code understanding, and code refactoring.
Identify security vulnerabilities and maintain the integrity of your code.
Manage your work with extensions, remote project support, integrated server management, a log viewer, and more!
Customize every feature to your liking by creating shortcuts, easily formatting and reusing code, and using powerful extensions to better your best.
https://www.meetup.com/hawaii-coldfusion-meetup-group/events/288977258/
https://hawaiicoldfusionusergroup.adobeconnect.com/pfhheu0lksfz/?fbclid=IwAR2HVkOv52P2seMj-_mGBx57ylDw5yG3duCvM4iapel2o8egnoUQDnwKc3I

ICYMI - CFUG Tech Talk - Document Services APIs and You by Raymond Camden
Thursday, October 20th, 2022 8:00pm-9:00pm IST (9:30 AM CDT)
Most organizations have to deal with documents, from PDFs to various Office formats, managing and processing documents can be overwhelming. In this talk, Raymond will discuss the various Adobe Document Services APIs and how they can help developers manage their document stores.
Register: https://www.eventbrite.com/e/document-services-apis-and-you-tickets-428587234957
Presentation URL: https://meet67421977.adobeconnect.com/document-services-apis/
Recording: https://youtu.be/DpCVfVpitwM


CF Summit Online

Adobe announced today that the “ColdFusion Summit Online” will begin soon, where they will be having presenters offer their sessions again from the CF Summit last month, to be live-streamed and recorded since that couldn’t be done in Vegas.

https://coldfusion.adobe.com/2022/11/coldfusion-summit-online/

All the webinars, all the speakers from Adobe ColdFusion Summit 2022 – brought right to your screen. All sessions will soon be streamed online, for your convenience. Stay tuned for more!

Charlie up first, November 16th, we heard November 23rd is scheduled as well.


Adobe Workshops & Webinars

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.

https://coldfusion.adobe.com/2022/10/upcoming-adobe-webinar-on-preview-of-cf2023-date-and-title-change/ 


WEBINAR - WEDNESDAY, NOVEMBER 23, 2022 - New Date - New Name
10:00 AM PST
The Road to Fortuna
Mark Takata
https://winter-special-preview-of-cf2023.meetus.adobeevents.com/


WEBINAR - THURSDAY, DECEMBER 22, 2022
10:00 AM PST
Building Native Mobile Applications with Adobe ColdFusion & Monaco.io
Mark Takata
https://building-native-mobile-apps-with-cf-monaco-io.meetus.adobeevents.com/

FREE :)
Full list - https://meetus.adobeevents.com/coldfusion/


CFCasts Content Updates

https://www.cfcasts.com

Just Released


Coming Soon 

  • More ForgeBox and VS Code Podcast snippet videos
  • Box-ifying a 3rd Party Library from Gavin
  • ColdBox Elixir from Eric
  • Getting Started with ContentBox from Daniel
  • ITB Videos will be released Dec for those who are not ITB Ticket Holders

Conferences and Training

Deploy from Digital Ocean
November 15-16, 2022
The virtual conference for global builders
Subtract Complexity,
Add Developer Happiness
Join us on the mission to simplify the developer experience.
https://deploy.digitalocean.com/

Into the Box Latam 2022
Dec 7th, 2022 - 8am - 5pm
2 tracks - 1 set of sessions, 1 set of deep dive workshop sessions
Pricing $9-$29 USD
Location: Hyatt Centric
Las Cascadas Shopping Center,
Merliot, La Libertad 99999
El Salvador
https://latam.intothebox.org/


VUEJS AMSTERDAM 2023
9-10 February 2023, Theater Amsterdam
World's Most Special and Largest Vue Conference
CALL FOR PAPERS AND BLIND TICKETS AVAILABLE NOW!
Call for Papers: https://forms.gle/GopxfjYHfpE8fKa57
Blind Tickets: https://eventix.shop/abzrx3b5
https://vuejs.amsterdam/

Dev Nexus
April 4-6th in Altanta
EARLY BIRD CONFERENCE PASS - APRIL 5-6 (AVAILABLE UNTIL NOVEMBER 20)
(Approx 40% off)
If you are planning to speak, please submit often and early. The CALL FOR PAPERS is open until November 15
WORKSHOPS WILL BE ON JAVA, JAVA SECURITY, SOFTWARE DESIGN, AGILE, DEVOPS, KUBERNETES, MICROSERVICES, SPRING ETC. SIGN UP NOW, AND YOU WILL BE ABLE TO CHOOSE A WORKSHOP, LATER ON,
https://devnexus.com/


VueJS Live
MAY 5 & 8, 2023
ONLINE + LONDON, UK

CODE / CREATE / COMMUNICATE

35 SPEAKERS, 10 WORKSHOPS
10000+ JOINING ONLINE GLOBALLY
300 LUCKIES MEETING IN LONDON

Get Early Bird Tickets: https://ti.to/gitnation/vuejs-london-2022 
Watch 2021 Recordings: https://portal.gitnation.org/events/vuejs-london-2021

https://vuejslive.com/


Into the Box 2023 - 10th Edition
May 17, 18, and 19th, 2022.
Middle of May - start planning.
Final dates will be released as soon as the hotel confirms availability.
Call for Speakers - this week

CFCamp
No CFCAMP 2022, we're trying again for summer 2023
TLDR is that it's just too hard and there's too much uncertainty right now.


More conferences

Need more conferences, this site has a huge list of conferences for almost any language/community.
https://confs.tech/


Blogs, Tweets, and Videos of the Week


11/1/22 - Blog - Charlie Arehart - ColdFusion Portal - Join Adobe for “ColdFusion Summit Online”, re-presenting sessions over the next several weeks
Adobe announced today that the “ColdFusion Summit Online” will begin soon, where they will be having presenters offer their sessions again from the CF Summit last month, to be live-streamed and recorded since that couldn’t be done in Vegas.

https://coldfusion.adobe.com/2022/11/coldfusion-summit-online/

11/1/22 - Blog - Ben Nadel - Preventing Unbounded Full-Table Scans In My ColdFusion Database Access Layer
As I've continued to evolve my approach to building ColdFusion applications, one pattern that I've begun to embrace consistently in my data access layer / Data Access Object (DAO) is to block the developer from running a SQL query that performs a full-table scan. This is really only necessary in DAO methods that provide dynamic, parameterized SQL queries; but, it offers me a great deal of comfort. The pattern works by requiring each query to include at least one indexed column in the dynamically generated SQL statement.

https://www.bennadel.com/blog/4348-preventing-unbounded-full-table-scans-in-my-coldfusion-database-access-layer.htm

11/1/22 - Blog - Ben Nadel - CFCookie "Expires" Can Use CreateTimeSpan() In ColdFusion
As I've been trying to build-up my knowledge of how Cookies interact with ColdFusion applications, I noticed that the CFCookie tag accepts a "number of days" in its expires attribute. And, the moment I see "days", I think "time-spans". As such, I wanted to see if I could use the createTimeSpan() function to define the cookie expires attribute in ColdFusion - turns out, you can!

https://www.bennadel.com/blog/4347-cfcookie-expires-can-use-createtimespan-in-coldfusion.htm

10/31/22 - Blog - Charlie Arehart - ColdFusion Portal - Solving “Failed Signature Verification” when downloading CF updates while using Java 11.0.17 or later
Just a quick note to clarify that if you may apply the new Java updates from Oct 18 2022 (such as Java 11.0.17) and change CF to use that, you will find (for now) that if you then try to download any CF updates using the CF Admin, the update will download but then you’ll get an error:
“error occurred while installing the update: Failed Signature Verification”
Here’s good news: there is a solution for that problem, actually a few alternatives you can consider, at least until Adobe resolves the problem for us. For more, see a blog post I did with much more detail - linked in this post.
https://coldfusion.adobe.com/2022/10/solving-failed-signature-verification-when-downloading-cf-updates-in-2022/

10/31/22 - Blog - Ben Nadel - Looking At How Cookies And Domains Interact In ColdFusion
In my previous post on leading dots (.) in Cookie domains, I mentioned that my mental model for how Cookies work leaves something to be desired. Along the same lines, I don't have a solid understanding for when Cookies with explicit / non-explicit Domain attributes are sent to the server. As such, I wanted to run some experiments using different combinations of setting and getting of cookie values in ColdFusion.
In order to start exploring Cookie domain behaviors, I went into my /etc/hosts file locally and defined a series of subdomains that all point back to my localhost:
https://www.bennadel.com/blog/4346-looking-at-how-cookies-and-domains-interact-in-coldfusion.htm

10/31/22 - Blog - Charlie Arehart - Special offer to upgrade to CF2021 from CF2016 or earlier, saving thousands of dollars
If you're running CF2016 or earlier, now's your chance (though the end of the year) to save potentially thousands of dollars in upgrading to the latest current version, CF2021. Intergral, the folks who make the FusionReactor monitoring tool and service, are again offering a special deal (that even Adobe is not offering).
Read on for more details.
https://www.carehart.org/blog/2022/10/31/special_offer_upgrade_to_cf2021_from_cf2016_or%20earlier

10/30/22 - Blog - James Moberg - Undocumented Change to ColdFusion 2021 CFHTMLHead & CFContent
According to my unit tests, after ColdFusion 2018.0.0-15, Adobe changed the way that CFHTMLHead works with CFContent. Prior to CF2021, any strings that were added to the header buffer via CFHTMLHead was outputted to the HTML HEAD section (or top of the page if you neglected to include a HEAD section) on onRequestEnd even if a CFContent (with or without reset) was performed.

https://dev.to/gamesover/change-to-coldfusion-2021-cfhtmlhead-cfcontent-1fj8

10/29/22 - Blog - Ben Nadel - Leading Dots On HTTP Cookie Domains Ignored
I've been using Cookies in my ColdFusion web applications forever. But, I honestly don't have the best mental model for how the low-level intricacies of cookies work. For most of my career, I only ever defined cookies using a "name", "value", and an "expires" attributes — I didn't even know you could define a "domain" until we had to start locking down enterprise-cookies (by subdomain) at InVision. And even now, I'm still fuzzy on how the domain setting operates; which is why something caught my eye when I was reading through the Set-Cookie HTTP header docs on MDN:

https://www.bennadel.com/blog/4345-leading-dots-on-http-cookie-domains-ignored.htm

10/28/22 - Blog - Grant Copley - Ortus Solutions - CBWIRE 2.1 Released
CBWIRE, our ColdBox module that makes building reactive, modern CFML apps delightfully easy, just dropped its 2.1 release. This release contains mostly bug fixes and also the ability to create your UI templates directly within your CBWIRE component using the onRender() method.
We've added an example of using onRender() to our ever growing CBWIRE-Examples Repo that you can run on your machine locally. https://github.com/grantcopley/cbwire-examples
https://www.ortussolutions.com/blog/cbwire-2-1-released


10/27/22 - Blog - Ben Nadel - A Database Column For "Date Updated" Has No Semantic Meaning, Nor Should It
When I create a new relational database table in my ColdFusion applications, my default operation is to add three columns: the primary key, a date/time for when the row is created, and a date/time for when the row is updated. Not all entities fit into this model (such as rows that can never be updated); but, for the most part, this core set of columns makes sense. The "updated" column has no semantic meaning within the application - it is simply a mechanical recording of when any part of a row is updated. The biggest mistake that I've made with this column is allowing the customers to attach meaning to this column. This never works out well.

https://www.bennadel.com/blog/4344-a-database-column-for-date-updated-has-no-semantic-meaning-nor-should-it.htm

10/25/22 - Blog - Charlie Arehart - Upcoming Adobe webinar on preview of CF2023, date and title change
Adobe had announced some weeks ago two upcoming webinars, one as a preview of CF2023 (originally set for Dec 22), and the other on mobile apps with CF and Monaco (originally set for Nov 23).
If like me you may have signed up for them, note that sometime recently the dates have been swapped. (Also the name of the preview session has been changed, from “Winter Holiday Special: A preview of ColdFusion 2023” to instead refer to the product code-name instead.)
https://coldfusion.adobe.com/2022/10/upcoming-adobe-webinar-on-preview-of-cf2023-date-and-title-change/

CFML Jobs

Several positions available on https://www.getcfmljobs.com/
Listing over 143 ColdFusion positions from 79 companies across 66 locations in 5 Countries.

1 new jobs listed this week

Full-Time - Sr. Software Engineer - Coldfusion at Delhi, Delhi - India
Oct 28
https://www.getcfmljobs.com/jobs/index.cfm/india/Sr-Software-Engineer-Coldfusion-at-Delhi-Delhi/11530

Other Online Jobs

https://lighting-new-york.breezy.hr/p/8ddb3ce952b8


Other Job Links


ForgeBox Module of the Week

Dialpadcfc

By Matthew Clemente

A CFML wrapper for the Dialpad API. Use it to interact with the Dialpad call and contact center platform to make calls, send SMS, manage your account, and more.

What is Dialpad?
Experience the future of Ai in the workplace
With built-in speech recognition and natural language processing, Dialpad Ai is completely changing the way the world works together.

This is an early stage API wrapper and does not yet cover the full Dialpad API. Feel free to use the issue tracker to report bugs or suggest improvements!

https://forgebox.io/view/dialpadcfc

VS Code Hint Tips and Tricks of the Week

Github Copilot

GitHub Copilot is an AI pair programmer that helps you write code faster and with less work. It draws context from comments and code to suggest individual lines and whole functions instantly. GitHub Copilot is powered by Codex, a generative pretrained language model created by OpenAI. It is available as an extension for Visual Studio Code, Visual Studio, Neovim, and the JetBrains suite of integrated development environments (IDEs).

GitHub Copilot is not intended for non-coding tasks like data generation and natural language generation, like question & answering. Your use of GitHub Copilot is subject to the GitHub Terms for Additional Product and Features.

https://github.com/features/copilot/
https://marketplace.visualstudio.com/items?itemName=GitHub.copilot


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

Don’t forget, we have 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
  • All Patreon supporters have their own Private Channel access BoxTeam Slack
  • Live Stream Access to streams like “Koding with the Kiwi + Friends” and Ortus Software Craftsmanship Book Club


https://community.ortussolutions.com/ 


Patreons

  • John Wilson - Synaptrix
  • Jordan Clark
  • Gary Knight
  • Mario Rodrigues
  • Giancarlo Gomez
  • David Belanger 
  • Dan Card
  • Jonathan Perret
  • Jeffry McGee - Sunstar Media
  • Dean Maunder
  • Nolan Erck 
  • Abdul Raheen
  • Wil De Bruin
  • Joseph Lamoree  
  • Don Bellamy
  • Jan Jannek  
  • Laksma Tirtohadi  
  • Brian Ghidinelli - Hagerty MotorsportReg
  • Carl Von Stetten
  • Jeremy Adams
  • Didier Lesnicki
  • Matthew Clemente
  • Daniel Garcia
  • Scott Steinbeck - Agri Tracking Systems
  • Ben Nadel 
  • Richard Herbet
  • Brett DeLine
  • Kai Koenig
  • Charlie Arehart
  • Jason Daiger
  • Shawn Oden
  • Matthew Darby
  • Ross Phillips
  • Edgardo Cabezas
  • Patrick Flynn
  • Stephany Monge  
  • Kevin Wright
  • John Whish
  • Peter Amiri
  • Cavan Vannice
  • John Nessim


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

Thanks everyone!!!

★ Support this podcast on Patreon ★

2356 232