Modernize or Die® - CFML News for October 27th, 2020 - Episode 76
Brad and Eric host this weeks episode. They discuss the latest release of ColdBox, 6.1.0 as well as updates to the CommandBox 5.2.0-RC. They discussed the Lucee Spreadsheet Library updates. They remind you about this weeks Ortus Webinar - from Mura to ContentBox. They remind you about last weeks Online CF Meetup by Charlie Arehart and Dan Wilson, a CF Ask Me Anything. They discussed November's Settle's CFUG and share the recording from October's meetup. They remind you its the last week for HacktoberFest 2020, so get your PRs in, to get a Tee or a Tree.
They give you an roundup of CFCasts Content Updates.
They discuss the Group By Conference going on this week. They discuss the last Into the Box workshop Quick Workshop coming in November. They discuss a new conference, Deploy from Digital Ocean coming in November. They discuss how the Adobe ColdFusion Certification is now online and remind you that Adobe's CF Summit Conference, being changed to a Online conference on November 17-19, speakers are starting to be listed on the site. They also discuss the Into the Box Latam conference, now offering english and spanish.
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, JSoup by Don Bellamy
This week's VS Code Tip of the week is the Copy Relative Path - Simple little extension that gives you the relative path to a file.
For the show notes - visit the website
https://cfmlnews.modernizeordie.io/episodes/modernize-or-die-cfml-news-for-october-27th-2020-episode-76
Music from this podcast used under Royalty Free license from SoundDotCom https://www.soundotcom.com/ and BlueTreeAudio https://bluetreeaudio.com
2020-10-27 Weekly News - Episode 76
Watch the video version on YouTube at https://youtu.be/lGXxIZdFg40
Hosts:
Eric Peterson - Software Consultant for Ortus Solutions
Brad Wood - Software Consultant for Ortus Solutions
Thanks to our Sponsor - Ortus Solutions
Get live training from the makers of your favorite Box Product.
Last Virtual Workshops of the year - Quick in November
CFCasts is releasing new Free and Paid content every week
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
ColdBox 6.1.0 released
Today we are excited to bring our first minor release of our 6.x series: 6.1.0; with a nice collection of fixes and improvements. Enjoy!
https://www.ortussolutions.com/blog/coldbox-610-released
CommandBox 5.2.0-RC build has been updated
After some good security feedback, the CommandBox 5.2.0-RC build has been updated to include
* server setting to block flash remoting
* static files are served via whitelist only now
Read more here if you missed the RC announcement: https://www.ortussolutions.com/blog/commandbox-520-release-candidate-ready-for-testing
Lucee Spreadsheet library 2.12.0 released
Lucee Spreadsheet library 2.12.0 released: adds a new option for setting common formatting styles more efficiently, and improved handling of tab delimited data in csvToQuery()
https://github.com/cfsimplicity/lucee-spreadsheet
Ortus October Webinar Announced - From Mura to ContentBox - Staying on the Open Source Upgrade Track
Friday, October 30th - 11:00 AM CDT (GMT -5:00)
In this session, we will walk you through some of the differences between Mura CMS and Contentbox - from administration to design and development. During the session we will demonstrate a full conversion of a Mura CMS site to Contentbox.
Hosted by Jon Clausen
Register today: https://www.ortussolutions.com/events/webinars
ICYMI - Online CF Meetup - "CF AMA: Ask Me Anything", with Charlie Arehart and Dan Wilson
Thursday, October 22, 2020
11:00 AM to 12:00 PM CDT
Join us for our first “Ask Me Anything” session, with your host Charlie Arehart and recent co-organizer Dan Wilson. We'll open the floor to any sort of CF-related questions you may have, whether about coding challenges or using CF features, configuration or tuning, deployment, security, the upcoming new CF version, recent CF versions, the future and state of CF, whatever.
Event: https://www.meetup.com/coldfusionmeetup/events/274044740/
Recording: https://www.youtube.com/watch?v=qBC4UPikoXk
Seattle CFUG - Hands-on deep-dive into interacting with the Thinkific API.
Wednesday, November 11, 2020
6:00 PM to 7:30 PM PST
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/
ICYMI - Seattle CFUG - Leon O'Daniel on Integrating Your ColdFusion App with the Thinkific Platform.
Wednesday, October 14, 2020 - 6:00 PM to 7:30 PM PDT
Online via Zoom
Thinkific is one of the top platforms for online course delivery. Learn how to integrate your ColdFusion application with Thinkific's API.
https://www.meetup.com/Seattle-ColdFusion-User-Group/events/273472016/
Recording: https://www.seattlecfug.org/presentations/
HacktoberFest 2020 - Last week
Support open source and pick a limited edition T-shirt or plant a tree.
Hacktoberfest® is open to everyone in our global community. Whether you’re a developer, student learning to code, event host, or company of any size, you can help drive growth of open source and make positive contributions to an ever-growing community. All backgrounds and skill levels are encouraged to complete the challenge.
Hacktoberfest is a celebration open to everyone in our global community.
Pull requests can be made in participating GitHub-hosted repositories/projects, classified with the Hacktoberfest topic.
You can sign up anytime between October 1 and October 31.
https://hacktoberfest.digitalocean.com/
https://hacktoberfest.digitalocean.com/hacktoberfest-update
CFCasts Content Updates
CFCasts just debuted bite-sized Spanish language videos!
- Bases de la programación
- Introducción
- Conceptualización Parte 1
Send your suggestions at https://cfcasts.com/support
Conferences and Training
GroupBy Conference
October 27-28
GroupBy was started by Brent Ozar. In February 2019 GroupBy announced that it will remain a free, volunteer-run event, staffed with SQL Community volunteers.
Price: Free
https://groupby.org/
Ortus Workshops - Virtual Live training
2 day Workshop - November 5-6, 2020 - Quick Workshop lead by Eric Peterson
https://www.ortussolutions.com/events
Podcast Code:
PODCAST10 - 10% off
Deploy - by Digital Ocean
DigitalOcean’s first virtual global 24‑hour community conference.
Starts November 10 at 10am EST
What to expect:
- Over 80 tech-focused sessions
- New product announcements
- Developer-focused breakout rooms
- Special keynotes
- Hourly goody giveaways
- Fun virtual rooms
- Free and easy to RSVP
https://www.digitalocean.com/deploy/
Adobe ColdFusion Summit 2020 - Replaces CF Summit West
Date: November 17-19
Location: Online
https://cfsummit.adobeevents.com/
Admission: Free
Speakers now listed: https://cfsummit.adobeevents.com/speakers/
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
ITB Latam
December 3-4th
Live Virtual Conference in Spanish and English!!!
Price: $7.00
https://latam.intothebox.org/
https://www.ortussolutions.com/events
More conferences: https://confs.tech/
Blogs, Tweets and Videos of the Week
Blog - Ben Nadel - Considering Data Workflows Within A MongoDB Data-Access Layer In Lucee CFML 5.3.6.61
At InVision, I've consumed MongoDB databases. But, I've never actually created a MongoDB data-access layer on my own - I've only ever consumed one that was created by another team. That is, until last week. I've been working on a project to fold a "microservice" back into the "monolith" for easier maintenance; and, as part of that migration, I had to create a data-access layer in ColdFusion to read-from and write-to the subsumed service's MongoDB collections. This was a very interesting exercise; and, made me think about the differences between data workflows in a relational database (ex, MySQL) and those in a document database (ex, MongoDB). This gave me an opportunity to think deeply about how I might want to organize data workflows within a data-access layer that communicates with MongoDB in Lucee CFML 5.3.6.61.
https://www.bennadel.com/blog/3914-considering-data-workflows-within-a-mongodb-data-access-layer-in-lucee-cfml-5-3-6-61.htm
Blog - Ben Nadel - Experiment: Modeling Complex Data Structures As Nested Query Objects In Lucee CFML 5.3.6.61
One of the most exciting aspects of working with a Relational Database is the fact that you get you work with the ColdFusion Query object in your application code. The Query is just a wonderfully well-thought-out data-type with very pleasing developer ergonomics. But, once you start using a Document Database, with complex data structures, the Query object doesn't make much sense. Or does it? As a fun experiment, I wanted to see if I could take complex data structures, like the ones you might read from a Document Database, and model them using nested Query objects in Lucee CFML 5.3.6.61.
https://www.bennadel.com/blog/3913-experiment-modeling-complex-data-structures-as-nested-query-objects-in-lucee-cfml-5-3-6-61.htm
Blog - Ben Nadel - Using Closures To Encapsulate FileReadLine() Operations In Lucee CFML 5.3.6.61
In Episode 75 of the Modernize-or-Die podcast, Brad Wood talked about the fact that the fileReadLine() function in Lucee CFML was thread-safe; but, that you must remember to call fileClose() once you are done otherwise the files can remain locked. These days, whenever I hear "you have to remember" in a programming context, I think to myself, let's wrap that in a ColdFusion Closure so that I don't have to remember anything. This is a pattern that I've been using - and loving - more and more in my ColdFusion code. As such, I thought it would be fun to take a quick look at wrapping fileReadLine() operations in a ColdFusion Closure so that the file management is completely encapsulated in Lucee CFML 5.3.6.61.
https://www.bennadel.com/blog/3912-using-closures-to-encapsulate-filereadline-operations-in-lucee-cfml-5-3-6-61.htm
Blog - Ben Nadel - A Closer Look At Error Handling During Parallel Array Iteration In Lucee CFML 5.3.6.61
I've looked at using parallel array iteration in Lucee CFML before; I've even mentioned that the errors during parallel array iteration bubble-up to the parent page request. But, my mental model for error handling during parallel array iteration hasn't yet been fully formed. At least, not in a way that I can immediately summon it to the forefront of my mind. As such, I wanted to take a moment and look specifically at what happens when an error is thrown during parallel array iteration in Lucee CFML 5.3.6.61.
https://www.bennadel.com/blog/3911-a-closer-look-at-error-handling-during-parallel-array-iteration-in-lucee-cfml-5-3-6-61.htm
https://coldbox.ortusbooks.com/digging-deeper/promises-async-programming
Blog - Adam Cameron - Quickly running ColdFusion via Docker
Firstly, don't take this as some sort of informed tutorial as to how things should be done. I am completely new to Docker, and don't yet know my arse from my elbow with it. Today I decided to look at an issue my mate was having with ColdFusion (see "ColdFusion: looking at an issue Mingo had with ehcache and cachePut and cacheGet"). These days I do not have CF installed anywhere, so to look into this issue, I needed to run it somehow. I was not gonna do an actual full install just for this. Also I've been trying - slowly - to get up to speed with Docker, and this seemed to be a sitter for doing something newish with it. Also note that this is not the sort of issue I could just use trycf.com to run some code, as it required looking at some server config.
All I'm gonna do here is document what I had to do today to solve the problem in that other article.
http://blog.adamcameron.me/2020/10/quickly-running-coldfusion-via-docker.html
Blog - Adam Cameron - ColdFusion: looking at an issue Mingo had with ehcache and cachePut and cacheGet
Bloody Coldfusion. OK so why am I writing about a ColdFusion issue? Well about 80% of it is "not having a great deal else to do today", about 10% of being interested in this issue Mingo found. And 10% it being an excuse to mess around with Docker a bit. I am currently - and slowly - teaching myself about Docker, so there's some practise for me getting a ColdFusion instance up and running on this PC (which I no-longer have any type of CFML engine installed on).
OK so what's the issue….
It looks like ColdFusion is like only putting a reference to the struct into cache. So any code changing the data in the struct is changing it in CFML as well as changing it in cache. This does not seem right.
http://blog.adamcameron.me/2020/10/coldfusion-looking-at-issue-mingo-had.html
Tweet - James Moberg - CF2016 Tomcat out of date
Could you please investigate as to why Tomcat for #ColdFusion 2016 hasn't been updated? Since Oct 2019, CF2016 uses 8.5.42, but Tomcat (currently 8.5.58) has issued 7 security updates since then.
https://tomcat.apache.org/security-8.html#Apache_Tomcat_8.x_vulnerabilities Thanks. #cfml
https://twitter.com/gamesover/status/1319336076377374721
https://twitter.com/gamesover
Live stream - Matthew Clemente - Writing a CFML SDK for the Eversign API (Learning by Trial and Error)
Impromptu live coding session here, working a CFML wrapper for the Eversign, e-signature API.
https://www.youtube.com/watch?v=eqtsxt-c4vU&feature=youtu.be
Blog - Steve Bryant - Return a list of related records in SQL Server
I absolutely love SQL (especially SQL Server) and I love how I continually find new ways to solve problems with it. I wish I could remember where I first found this tip to give proper credit, but I really love it.
Have you ever wanted to return a comma-delimited list of records in SQL Server? It turns out, that it is actually pretty easy to do.
http://www.bryantwebconsulting.com/blog/index.cfm/2020/10/21/SQL-Server-Lists
Blog - Ortus Solutions - Ending the Year on a High Note
And just like that it's almost the end of the year! As such, we decided to make the most out of these last few months by scheduling exciting events. Take a look at what's to come
https://www.ortussolutions.com/blog/ending-the-year-on-a-high-note
Blog - Pete Freitag - One liner to download a Browser with PowerShell on Windows Server
It would be nice if Windows Server 2019 came with Microsoft Edge Browser, but it still comes with good old IE 11, and on a Windows Server, you have to jump through hoops to let IE download anything due to its default security settings.
https://www.petefreitag.com/item/909.cfm
Blog - Charlie Arehart - New updates released for Java 8 and 11, Oct 2020
For those using the Long-term support (LTS) versions of Oracle Java, 8 and 11, please note that there were new updates released last week (Oct 20), specifically Java 11.0.9 and 8.0_271. For more on each, see the:
release notes for java 11.0.9
release notes for java 8.0_271
https://www.carehart.org/blog/client/index.cfm/2020/10/27/new_java_updates_for_Java_8_and_11_as_of_Oct_2020
CFML Jobs
Several positions available on https://www.getcfmljobs.com/
Listing over 35 ColdFusion positions from 22 companies across 18 locations in 5 Countries, since July 1st
3 new jobs this week.
Full-Time - Senior ColdFusion developer at San Diego, CA - United States
Posted Oct 23
https://www.getcfmljobs.com/jobs/index.cfm/united-states/Senior-ColdFusionDev-at-SanDiego-CA/11126
Full-Time - ColdFusion Development Team Lead at Halifax, NS - Canada
Posted Oct 21
https://www.getcfmljobs.com/jobs/index.cfm/canada/ColdFusion-Development-Team-Lead-at-Halifax-NS/11125
Full-Time - ColdFusion Development Team Lead at Halifax, NS - Canada
Posted Oct 21
https://www.getcfmljobs.com/jobs/index.cfm/canada/ColdFusion-Development-Team-Lead-at-Halifax-NS/11127
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
JSoup by Don Bellamy
Just drop into your modules folder or use CommandBox to install
https://www.forgebox.io/view/cbjsoup
VS Code Hint Tips and Tricks of the Week
Copy Relative Path
Simple little extension that gives you the relative path to a file.
https://marketplace.visualstudio.com/items?itemName=alexdima.copy-relative-path
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
Ross Phillips
Ryan Hughes
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 ★
Watch the video version on YouTube at https://youtu.be/lGXxIZdFg40
Hosts:
Eric Peterson - Software Consultant for Ortus Solutions
Brad Wood - Software Consultant for Ortus Solutions
Thanks to our Sponsor - Ortus Solutions
Get live training from the makers of your favorite Box Product.
Last Virtual Workshops of the year - Quick in November
CFCasts is releasing new Free and Paid content every week
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
ColdBox 6.1.0 released
Today we are excited to bring our first minor release of our 6.x series: 6.1.0; with a nice collection of fixes and improvements. Enjoy!
https://www.ortussolutions.com/blog/coldbox-610-released
CommandBox 5.2.0-RC build has been updated
After some good security feedback, the CommandBox 5.2.0-RC build has been updated to include
* server setting to block flash remoting
* static files are served via whitelist only now
Read more here if you missed the RC announcement: https://www.ortussolutions.com/blog/commandbox-520-release-candidate-ready-for-testing
Lucee Spreadsheet library 2.12.0 released
Lucee Spreadsheet library 2.12.0 released: adds a new option for setting common formatting styles more efficiently, and improved handling of tab delimited data in csvToQuery()
https://github.com/cfsimplicity/lucee-spreadsheet
Ortus October Webinar Announced - From Mura to ContentBox - Staying on the Open Source Upgrade Track
Friday, October 30th - 11:00 AM CDT (GMT -5:00)
In this session, we will walk you through some of the differences between Mura CMS and Contentbox - from administration to design and development. During the session we will demonstrate a full conversion of a Mura CMS site to Contentbox.
Hosted by Jon Clausen
Register today: https://www.ortussolutions.com/events/webinars
ICYMI - Online CF Meetup - "CF AMA: Ask Me Anything", with Charlie Arehart and Dan Wilson
Thursday, October 22, 2020
11:00 AM to 12:00 PM CDT
Join us for our first “Ask Me Anything” session, with your host Charlie Arehart and recent co-organizer Dan Wilson. We'll open the floor to any sort of CF-related questions you may have, whether about coding challenges or using CF features, configuration or tuning, deployment, security, the upcoming new CF version, recent CF versions, the future and state of CF, whatever.
Event: https://www.meetup.com/coldfusionmeetup/events/274044740/
Recording: https://www.youtube.com/watch?v=qBC4UPikoXk
Seattle CFUG - Hands-on deep-dive into interacting with the Thinkific API.
Wednesday, November 11, 2020
6:00 PM to 7:30 PM PST
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/
ICYMI - Seattle CFUG - Leon O'Daniel on Integrating Your ColdFusion App with the Thinkific Platform.
Wednesday, October 14, 2020 - 6:00 PM to 7:30 PM PDT
Online via Zoom
Thinkific is one of the top platforms for online course delivery. Learn how to integrate your ColdFusion application with Thinkific's API.
https://www.meetup.com/Seattle-ColdFusion-User-Group/events/273472016/
Recording: https://www.seattlecfug.org/presentations/
HacktoberFest 2020 - Last week
Support open source and pick a limited edition T-shirt or plant a tree.
Hacktoberfest® is open to everyone in our global community. Whether you’re a developer, student learning to code, event host, or company of any size, you can help drive growth of open source and make positive contributions to an ever-growing community. All backgrounds and skill levels are encouraged to complete the challenge.
Hacktoberfest is a celebration open to everyone in our global community.
Pull requests can be made in participating GitHub-hosted repositories/projects, classified with the Hacktoberfest topic.
You can sign up anytime between October 1 and October 31.
https://hacktoberfest.digitalocean.com/
https://hacktoberfest.digitalocean.com/hacktoberfest-update
CFCasts Content Updates
CFCasts just debuted bite-sized Spanish language videos!
- Bases de la programación
- Introducción
- Conceptualización Parte 1
Send your suggestions at https://cfcasts.com/support
Conferences and Training
GroupBy Conference
October 27-28
GroupBy was started by Brent Ozar. In February 2019 GroupBy announced that it will remain a free, volunteer-run event, staffed with SQL Community volunteers.
Price: Free
https://groupby.org/
Ortus Workshops - Virtual Live training
2 day Workshop - November 5-6, 2020 - Quick Workshop lead by Eric Peterson
https://www.ortussolutions.com/events
Podcast Code:
PODCAST10 - 10% off
Deploy - by Digital Ocean
DigitalOcean’s first virtual global 24‑hour community conference.
Starts November 10 at 10am EST
What to expect:
- Over 80 tech-focused sessions
- New product announcements
- Developer-focused breakout rooms
- Special keynotes
- Hourly goody giveaways
- Fun virtual rooms
- Free and easy to RSVP
https://www.digitalocean.com/deploy/
Adobe ColdFusion Summit 2020 - Replaces CF Summit West
Date: November 17-19
Location: Online
https://cfsummit.adobeevents.com/
Admission: Free
Speakers now listed: https://cfsummit.adobeevents.com/speakers/
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
ITB Latam
December 3-4th
Live Virtual Conference in Spanish and English!!!
Price: $7.00
https://latam.intothebox.org/
https://www.ortussolutions.com/events
More conferences: https://confs.tech/
Blogs, Tweets and Videos of the Week
Blog - Ben Nadel - Considering Data Workflows Within A MongoDB Data-Access Layer In Lucee CFML 5.3.6.61
At InVision, I've consumed MongoDB databases. But, I've never actually created a MongoDB data-access layer on my own - I've only ever consumed one that was created by another team. That is, until last week. I've been working on a project to fold a "microservice" back into the "monolith" for easier maintenance; and, as part of that migration, I had to create a data-access layer in ColdFusion to read-from and write-to the subsumed service's MongoDB collections. This was a very interesting exercise; and, made me think about the differences between data workflows in a relational database (ex, MySQL) and those in a document database (ex, MongoDB). This gave me an opportunity to think deeply about how I might want to organize data workflows within a data-access layer that communicates with MongoDB in Lucee CFML 5.3.6.61.
https://www.bennadel.com/blog/3914-considering-data-workflows-within-a-mongodb-data-access-layer-in-lucee-cfml-5-3-6-61.htm
Blog - Ben Nadel - Experiment: Modeling Complex Data Structures As Nested Query Objects In Lucee CFML 5.3.6.61
One of the most exciting aspects of working with a Relational Database is the fact that you get you work with the ColdFusion Query object in your application code. The Query is just a wonderfully well-thought-out data-type with very pleasing developer ergonomics. But, once you start using a Document Database, with complex data structures, the Query object doesn't make much sense. Or does it? As a fun experiment, I wanted to see if I could take complex data structures, like the ones you might read from a Document Database, and model them using nested Query objects in Lucee CFML 5.3.6.61.
https://www.bennadel.com/blog/3913-experiment-modeling-complex-data-structures-as-nested-query-objects-in-lucee-cfml-5-3-6-61.htm
Blog - Ben Nadel - Using Closures To Encapsulate FileReadLine() Operations In Lucee CFML 5.3.6.61
In Episode 75 of the Modernize-or-Die podcast, Brad Wood talked about the fact that the fileReadLine() function in Lucee CFML was thread-safe; but, that you must remember to call fileClose() once you are done otherwise the files can remain locked. These days, whenever I hear "you have to remember" in a programming context, I think to myself, let's wrap that in a ColdFusion Closure so that I don't have to remember anything. This is a pattern that I've been using - and loving - more and more in my ColdFusion code. As such, I thought it would be fun to take a quick look at wrapping fileReadLine() operations in a ColdFusion Closure so that the file management is completely encapsulated in Lucee CFML 5.3.6.61.
https://www.bennadel.com/blog/3912-using-closures-to-encapsulate-filereadline-operations-in-lucee-cfml-5-3-6-61.htm
Blog - Ben Nadel - A Closer Look At Error Handling During Parallel Array Iteration In Lucee CFML 5.3.6.61
I've looked at using parallel array iteration in Lucee CFML before; I've even mentioned that the errors during parallel array iteration bubble-up to the parent page request. But, my mental model for error handling during parallel array iteration hasn't yet been fully formed. At least, not in a way that I can immediately summon it to the forefront of my mind. As such, I wanted to take a moment and look specifically at what happens when an error is thrown during parallel array iteration in Lucee CFML 5.3.6.61.
https://www.bennadel.com/blog/3911-a-closer-look-at-error-handling-during-parallel-array-iteration-in-lucee-cfml-5-3-6-61.htm
https://coldbox.ortusbooks.com/digging-deeper/promises-async-programming
Blog - Adam Cameron - Quickly running ColdFusion via Docker
Firstly, don't take this as some sort of informed tutorial as to how things should be done. I am completely new to Docker, and don't yet know my arse from my elbow with it. Today I decided to look at an issue my mate was having with ColdFusion (see "ColdFusion: looking at an issue Mingo had with ehcache and cachePut and cacheGet"). These days I do not have CF installed anywhere, so to look into this issue, I needed to run it somehow. I was not gonna do an actual full install just for this. Also I've been trying - slowly - to get up to speed with Docker, and this seemed to be a sitter for doing something newish with it. Also note that this is not the sort of issue I could just use trycf.com to run some code, as it required looking at some server config.
All I'm gonna do here is document what I had to do today to solve the problem in that other article.
http://blog.adamcameron.me/2020/10/quickly-running-coldfusion-via-docker.html
Blog - Adam Cameron - ColdFusion: looking at an issue Mingo had with ehcache and cachePut and cacheGet
Bloody Coldfusion. OK so why am I writing about a ColdFusion issue? Well about 80% of it is "not having a great deal else to do today", about 10% of being interested in this issue Mingo found. And 10% it being an excuse to mess around with Docker a bit. I am currently - and slowly - teaching myself about Docker, so there's some practise for me getting a ColdFusion instance up and running on this PC (which I no-longer have any type of CFML engine installed on).
OK so what's the issue….
It looks like ColdFusion is like only putting a reference to the struct into cache. So any code changing the data in the struct is changing it in CFML as well as changing it in cache. This does not seem right.
http://blog.adamcameron.me/2020/10/coldfusion-looking-at-issue-mingo-had.html
Tweet - James Moberg - CF2016 Tomcat out of date
Could you please investigate as to why Tomcat for #ColdFusion 2016 hasn't been updated? Since Oct 2019, CF2016 uses 8.5.42, but Tomcat (currently 8.5.58) has issued 7 security updates since then.
https://tomcat.apache.org/security-8.html#Apache_Tomcat_8.x_vulnerabilities Thanks. #cfml
https://twitter.com/gamesover/status/1319336076377374721
https://twitter.com/gamesover
Live stream - Matthew Clemente - Writing a CFML SDK for the Eversign API (Learning by Trial and Error)
Impromptu live coding session here, working a CFML wrapper for the Eversign, e-signature API.
https://www.youtube.com/watch?v=eqtsxt-c4vU&feature=youtu.be
Blog - Steve Bryant - Return a list of related records in SQL Server
I absolutely love SQL (especially SQL Server) and I love how I continually find new ways to solve problems with it. I wish I could remember where I first found this tip to give proper credit, but I really love it.
Have you ever wanted to return a comma-delimited list of records in SQL Server? It turns out, that it is actually pretty easy to do.
http://www.bryantwebconsulting.com/blog/index.cfm/2020/10/21/SQL-Server-Lists
Blog - Ortus Solutions - Ending the Year on a High Note
And just like that it's almost the end of the year! As such, we decided to make the most out of these last few months by scheduling exciting events. Take a look at what's to come
https://www.ortussolutions.com/blog/ending-the-year-on-a-high-note
Blog - Pete Freitag - One liner to download a Browser with PowerShell on Windows Server
It would be nice if Windows Server 2019 came with Microsoft Edge Browser, but it still comes with good old IE 11, and on a Windows Server, you have to jump through hoops to let IE download anything due to its default security settings.
https://www.petefreitag.com/item/909.cfm
Blog - Charlie Arehart - New updates released for Java 8 and 11, Oct 2020
For those using the Long-term support (LTS) versions of Oracle Java, 8 and 11, please note that there were new updates released last week (Oct 20), specifically Java 11.0.9 and 8.0_271. For more on each, see the:
release notes for java 11.0.9
release notes for java 8.0_271
https://www.carehart.org/blog/client/index.cfm/2020/10/27/new_java_updates_for_Java_8_and_11_as_of_Oct_2020
CFML Jobs
Several positions available on https://www.getcfmljobs.com/
Listing over 35 ColdFusion positions from 22 companies across 18 locations in 5 Countries, since July 1st
3 new jobs this week.
Full-Time - Senior ColdFusion developer at San Diego, CA - United States
Posted Oct 23
https://www.getcfmljobs.com/jobs/index.cfm/united-states/Senior-ColdFusionDev-at-SanDiego-CA/11126
Full-Time - ColdFusion Development Team Lead at Halifax, NS - Canada
Posted Oct 21
https://www.getcfmljobs.com/jobs/index.cfm/canada/ColdFusion-Development-Team-Lead-at-Halifax-NS/11125
Full-Time - ColdFusion Development Team Lead at Halifax, NS - Canada
Posted Oct 21
https://www.getcfmljobs.com/jobs/index.cfm/canada/ColdFusion-Development-Team-Lead-at-Halifax-NS/11127
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
JSoup by Don Bellamy
Just drop into your modules folder or use CommandBox to install
https://www.forgebox.io/view/cbjsoup
VS Code Hint Tips and Tricks of the Week
Copy Relative Path
Simple little extension that gives you the relative path to a file.
https://marketplace.visualstudio.com/items?itemName=alexdima.copy-relative-path
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
Ross Phillips
Ryan Hughes
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
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