Modernize or Die® - CFML News Podcast for November 19th, 2024 - Episode 223

2024-11-19 Weekly News — Episode 223

Watch the video version on YouTube at https://youtube.com/live/bFX1uaN5Hec?feature=share

Hosts: 
  • Gavin Pickin - Senior Developer at Ortus Solutions
  • Eric Peterson - Senior Developer at Ortus Solutions

Big Thanks to our Sponsor - Ortus Solutions

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

 

Patreon Support (jolly)
We have 59 patreons:
https://www.patreon.com/ortussolutions.


New Releases and Updates

CommandBox 6.1.0 Released!
We are pleased to announce the release of CommandBox 6.1.0, the latest release of our CLI, REPL, and Server, and Package Manager.  This is a minor update to our last release.  It has a handful of new features, and bug fixes, as well as better out-of-the-box support for BoxLang, our new CFML-compatible JVM language.

New Features
  • WebSocket Server
  • Updates to run BoxLang
  • Add command to deploy Lucee lex or lco files
  • Check if an entry has a hash associated to it and validate it

Improvement
  • Sort by date last started when finding a server by web root
  • Make semantic version prerelease identifiers not case sensitive
  • default servlet pass predicate include Boxlang files

Tasks
  • Update to Undertow 2.2.33.Final
  • Update to Lucee 5.4.6.9
  • Update bundled JRE to 11.0.23+9

9 Bugs

https://www.ortussolutions.com/blog/commandbox-610-released
https://commandbox.ortusbooks.com/


BoxLang Beta 22 Released

11/15/24 - BoxLang 1.0.0 Beta 22 Launched
4 New Features
10 Improvements
14 Bugs Fixed
https://boxlang.ortusbooks.com/readme/release-history/1.0.0-beta22


Webinars, Meetups and Workshops

Boost Your Confidence & Silence the Inner Critic: Overcome Imposter Phenomenon!
Sac Interactive Tech Meetup • Sacramento, CA
Wed, Nov 20 · 6:00 PM PST
https://www.meetup.com/sacinteractive/events/303708476/?eventOrigin=home_page_upcoming_events$all

Online ColdFusion Meetup - "ColdFusion Horizons: Unveiling 2025", Charvi Dhoot (CF Product Manager)--CFMeetup #311
Nov 21 at 12p US Eastern
Over the years, ColdFusion has evolved to support not only the development of dynamic web pages but also the creation of complex applications and services. It remains a popular choice for developers seeking a versatile and efficient platform for building web-based solutions and business applications.
As we look ahead to the imminent release of ColdFusion 2025, we invite you to join us for an exclusive feature showcase that highlights the compelling reasons to adopt this upcoming version. Additionally, this session will provide a comprehensive overview of the strategic vision for future releases, offering an opportunity for you to engage with new ideas under consideration and contribute valuable feedback.
Attend this talk to gain deeper insight into the current and future releases of ColdFusion on the horizon!
https://www.meetup.com/coldfusionmeetup/events/304633294/



CFCasts Content Updates

https://www.cfcasts.com

Introducing SocketBox

This innovative library simplifies WebSocket integration, making real-time features and message handling a breeze. Build engaging applications with SocketBox – get started today! #CFML #BoxLang #WebSockets #RealTime

https://www.cfcasts.com/series/ortus-bytes/videos/introducing-socketbox

Conferences and Training


CF Summit India 2024
Join us for the Adobe ColdFusion India Summit, a premier, completely free event where developers, industry experts, and thought leaders come together to explore the latest in ColdFusion and web development. Network with peers, meet the ColdFusion engineering team, get your questions answered, discover strategies to boost your career and grow your business—all at no cost.
Price: Free
December 7, 2024
2 Cities: Bengaluru and Noida
Register: https://cf-indiasummit-2024.attendease.com

ITB 2025
  • Location: Washington, DC
  • Dates: April 30, 2025 - May 2, 2025 - Washington, DC
  • Tickets and more info: https://t.co/cFLDUJZEyM
  • 50% off blind tickets
  • $249.50 for the Conference
  • $349.50 for the Conference + Workshop!!!
  • Call for Speakers CLOSED

CFCamp 2025
May 22, 23rd - 2025
Atomis Hotel Munich Airport
https://www.cfcamp.org/
Call for Speakers open - https://www.papercall.io/cfcamp2025

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


Blogs, Posts, and Videos of the Week

11/19/24 - Blog - Ortus Solutions - 5 Signs It’s Time to Modernize Your ColdFusion / CFML Application
ColdFusion has long been a reliable platform for building web applications, but like any technology, it requires maintenance and modernization over time. Whether you're using Lucee or Adobe ColdFusion, it’s critical to recognize the signs that your application is no longer meeting today’s standards in performance, security, and scalability. Let’s explore five clear indicators that it’s time to modernize your ColdFusion application and how ColdFusion consulting can help breathe new life into your legacy system.
https://www.ortussolutions.com/blog/5-signs-its-time-to-modernize-your-coldfusion-cfml-application

11/19/24 - Blog - Ortus Solutions - ColdBox Free Tip 5 - Building Named Routes with a Struct
Keep your ColdBox Apps Clean and Easy to Manage
Did you know ColdBox provides flexible ways to build routes using structs? In this tip, we’ll cover how to use the event.buildLink() and event.route() methods for named routes, a feature that’s especially handy when working with dynamic URLs.
https://www.ortussolutions.com/blog/coldbox-free-tip-5-building-named-routes-with-a-struct

11/18/24 - Blog - Ben Nadel - Rebuilding Incident Commander As A ColdFusion App
Years ago, I created a simple Firebase and Angular app for triaging incidents at work. The app allowed the incident commander (IC) to record notes and share messages in Slack (via copy-paste). But, one thing that it never allowed for was the storing of supporting screenshots. To remedy this (and as a fun thought experiment), I've rebuilt my Incident Commander app in Adobe ColdFusion with a MySQL data store; and, it now allows screenshots to be embedded within the shareable timeline.
https://www.bennadel.com/blog/4728-rebuilding-incident-commander-as-a-coldfusion-app.htm

11/16/24 - Blog - Ben Nadel - Using fileGetMimeType() To Determine File Type In ColdFusion
This morning, in a discussion about inspecting file upload contents within the temp directory, Brian Reilly taught me that there is a native ColdFusion function for determining a given file's mime-type: fileGetMimeType(). This function—when operating in the default "strict mode"—will inspect the contents of a given file and return the true mime-type, regardless of which file extension is being used. I can't believe this has existed since ColdFusion 10 and I didn't know about it!
https://www.bennadel.com/blog/4727-using-filegetmimetype-to-determine-file-type-in-coldfusion.htm


11/15/24 - Blog - Ben Nadel - Building A Moment-Inspired .fromNow() Date Formatting Method In ColdFusion

I'm working on a small personal tool for incident triage and management. And, one of the things that the tool does is render a timeline of status updates in reverse chronological order. I've been wrestling with how to best render such a timeline when everyone lives in different timezones. One thought that I have is to use a Moment.js-style "from now" format where the dates are labeled relative to the current time. I've done this in Angular before; but, I've never done this in ColdFusion. As such, I wanted to try porting my logic over to the server-side.
https://www.bennadel.com/blog/4726-building-a-moment-inspired-fromnow-date-formatting-method-in-coldfusion.htm

11/14/24 - Blog - James Moberg - phoneFormat & makeTelLink ColdFusion UDFs
Standardization & validation is important, but good luck getting all you clients and your client's visitors on board with adhering to ISO standards. When it comes to phone numbers, we've embraced the E.164 international standard (ITU-T recommendation) in order to simplify integration with third-party SMS services (like Twilio), but that doesn't mean our clients like to see phone numbers in that format. When it comes to cosmetically formatting phone numbers, I personally prefer the (223) 456-7890 format, but some design-orientated clients demand that we use 123.456.7890 which I think more closely resembles an IP address.
https://dev.to/gamesover/phoneformat-maketellink-coldfusion-udfs-40fh

11/13/24 - Blog - Ortus Solutions - Is Cloud the Answer for Your ColdFusion Dilemma?
Feeling the limits of an on-premise ColdFusion setup?
Many businesses face high costs, limited scalability, and performance bottlenecks, leaving them wondering if the cloud could be the answer.
https://www.ortussolutions.com/blog/is-cloud-the-answer-for-your-coldfusion-dilemma

11/13/24 - Blog - Ben Nadel - Inspecting The Form Upload File Field Metadata In ColdFusion
When you upload a file in ColdFusion, the fileUpload() function and the CFFile[action=upload] tag aren't actually uploading the file to the server—at that point in the workflow, the file already exists on the server. The fileUpload() function is just moving the file from a temporary location to a permanent location of your choosing. And, when you're uploading files through a standard form post, the form field that represents your file upload contains the path to that temporary location. Which means you can therefore inspect a file in ColdFusion before you move it to its permanent location.
https://www.bennadel.com/blog/4725-inspecting-the-form-upload-file-field-metadata-in-coldfusion.htm

11/11/24 - Blog - Grant Copley - Mastering Events and Listeners in CBWIRE
In CBWIRE, events and listeners are the backbone of building responsive, modular applications without relying heavily on JavaScript. This guide walks you through setting up and using CBWIRE events to create seamless interactions between components, from dispatching events in CFML and frontend templates to listening with Alpine.js and JavaScript. Learn how to make your applications feel dynamic and engaging by effortlessly connecting components. Whether you’re triggering events to update a dashboard or targeting specific parts of your app with dispatchTo, these techniques will empower you to create a modern, interactive CFML experience with ease.
https://www.ortussolutions.com/blog/mastering-events-and-listeners-in-cbwire

11/11/24 - Blog - Ben Nadel - VARCHAR(Length) Limit Refers To Characters, Not Bytes, In MySQL
When you define a varchar field in a MySQL database table, you can provide a length limit, ex varchar(255). For as long as I can remember, I thought this limit referred to the number of bytes that could be stored in the field. And, to be fair, back when I was only consuming ASCII characters, this assumption was coincidentally true—one ASCII character is represented by one byte. In reality, this length limit refers to the number of characters that can be stored in a field, regardless of how many bytes are needed to represent said character string.
https://www.bennadel.com/blog/4724-varcharlength-limit-refers-to-characters-not-bytes-in-mysql.htm

11/9/24 - Blog - Ben Nadel - Using JSoup To Report Untrusted HTML Elements And Attributes In ColdFusion
Yesterday, I took my first look at using JSoup to sanitize untrusted HTML in ColdFusion. Historically, I've been using the OWASP AntiSamy project to do the same thing; and while the JSoup approach feels more flexible is easier to consume, it's missing one important feature that AntiSamy had: an ability to report on which aspects of the untrusted DOM (Document Object Model) were being removed during the sanitization process. As such, I wanted to look at how I can use JSoup to report the untrusted HTML elements and attributes that were being removed in my ColdFusion processing.
https://www.bennadel.com/blog/4723-using-jsoup-to-report-untrusted-html-elements-and-attributes-in-coldfusion.htm

11/08/24 - Blog - Ortus Solutions - 10 Key Benefits of Hiring a Specialized ColdFusion Consulting Team
ColdFusion remains a powerful and versatile platform for building dynamic web applications. However, keeping your ColdFusion environment optimized, secure, and scalable requires specialized expertise. Whether managing a long-standing ColdFusion application or planning new development projects, hiring a dedicated ColdFusion consulting and support team can be a game-changer for CTOs, CIOs, and developers.
https://www.ortussolutions.com/blog/10-key-benefits-of-hiring-a-specialized-coldfusion-consulting-team

11/7/24 - Blog - Ben Nadel - Using jSoup To Sanitize Untrusted HTML In ColdFusion
For years, I've been using the OWASP AntiSamy project to sanitize untrusted HTML in ColdFusion. And for years, James Moberg has suggested that I just use JSoup. I'm not one to switch tools unnecessarily. However, when I went to install AntiSamy in a new project and remembered just how many JAR files were required, I figured it was time to look at JSoup's single JAR approach to cleaning and sanitizing HTML.
https://www.bennadel.com/blog/4722-using-jsoup-to-sanitize-untrusted-html-in-coldfusion.htm

11/7/24 - Blog - James Moberg - getLastWorkWeekInMonth() ColdFusion - Returns Last Full Work Week
While integrating a new feature for a client to flag customers that were requesting vouchers to be reissued, a business rule was required to determine whether the action should be performed during the current or next month. My client indicated that anything flagged during the last week of a month should be allocated towards the next month.
This wasn't a complex request, but there's no built-in function in ColdFusion for it. There's also no UDF available in CFLib.org DateLib... so here it is. Hopefully it will save someone some time and effort.
https://dev.to/gamesover/getlastworkweekinmonth-coldfusion-returns-last-full-work-week-23j3

11/06/24 - Blog - Ortus Solutions - How Usability and Visual Appeal Drive User Engagement (UX/UI)?
In today’s digital landscape, where users are inundated with countless options, the design of a product plays a pivotal role in capturing attention and fostering engagement. A well-crafted design does more than just look good; it enhances functionality, streamlines user interactions, and ultimately influences the success of a product. This blog post will delve into the crucial elements of usability and visual appeal, exploring how these two components work together to drive user engagement. By understanding the synergy between usability and aesthetics, we can uncover strategies that not only attract users but also keep them coming back for more.
https://www.ortussolutions.com/blog/how-usability-and-visual-appeal-drive-user-engagement-uxui

11/05/24 - Blog - Brad Wood - CommandBox 6.1.0 Released!
We are pleased to announce the release of CommandBox 6.1.0, the latest release of our CLI, REPL, and Server, and Package Manager.  This is a minor update to our last release.  It has a handful of new features, and bug fixes, as well as better out-of-the-box support for BoxLang, our new CFML-compatible JVM language.
https://www.ortussolutions.com/blog/commandbox-610-released
https://commandbox.ortusbooks.com/

BoxLang Corner

11/15/24 - Blog - Jon Clausen - BoxLang 1.0.0 Beta 22 Launched
The BoxLang 1.0.0-Beta22 release includes several improvements, bug fixes, new features, and stories. Key improvements include enhanced redirection for the Miniserver, better transactional event broadcasting, and added convenience methods like getRequestContext() and getApplicationContext(). Bug fixes address issues such as JSON deserialization, whitespace management, and various errors related to data types and loops. New features include support for multiple statements inside queries and a new datasourceRegister() BIF for easier SaaS integrations.
https://www.ortussolutions.com/blog/boxlang-100-beta-22-launched



CFML Jobs

Several positions available on https://www.getcfmljobs.com/

Listing over 21 ColdFusion positions from 21 companies across 15 locations in 5 Countries.

1 new jobs listed in the last two weeks

Full-Time - Senior Software Engineer I at Brisbane - Australia
Nov 08
https://www.getcfmljobs.com/jobs/index.cfm/australia/SeniorSoftwareEngg-at-brisbane-Au/11649

https://www.facebook.com/vikrant.hodage/posts/10161953585825351


ForgeBox Module of the Week

Bonus: qb 11

Coldbox Open Telemetry Module
This module provides support for the distributed tracing and other information used by Open Telemetry and other APM services.
Once installed this module will parse or create traceparent and tracestate information which can be passed along to subsequent transactions ( e.g. database, http, etc. ) to provide distributed tracing data and waterfall visualizations of request workflows.

https://www.forgebox.io/view/cbotel

VS Code Hint, Tip, and Trick of the Week

Stripe for Visual Studio Code

Build, test, and use Stripe inside your editor.
Stripe’s extension for Visual Studio Code makes it easy to generate sample code, view API request logs, query the Stripe docs using GitHub Copilot, and forward events to your application, and use Stripe within your editor.

A new Stripe panel in the activity bar provides easy access to code snippets for several languages, adds debug configurations, and extends the command palette with common developer workflows.

https://marketplace.visualstudio.com/items?itemName=Stripe.vscode-stripe
 
Thank you to all of our Patreon Supporters (jolly)


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, 

Their Contributions fund 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 everyone.

  • 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
  • John Wilson - Synaptrix
  • Tomorrows Guides
  • Jordan Clark
  • Gary Knight
  • Giancarlo Gomez 
  • David Belanger 
  • Dan Card
  • James Moberg & Jeffry McGee - Sunstar Media 
  • Dean Maunder
  • Kevin Wright
  • Doug Cain 
  • Nolan Erck 
  • Abdul Raheen
And many more Patreons - up to 59 now!!!!!

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 ★

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