2020-12-08 Weekly News - Episode 82Watch the video version on YouTube at https://youtu.be/7AFUizKXnZk Hosts:Gavin Pickin - Software Consultant for Ortus SolutionsBrad Wood - Software Consultant for Ortus SolutionsThanks to our Sponsor - Ortus SolutionsCFCasts is releasing new Free and Paid content every week, now including the ColdBox Zero to Hero training seriesPatreon SupportWe 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 EventsHotfix released for CF2021 date-mask compatibility issueGood 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 lookbehindAdobe ColdFusion 2021 Deprecated FeaturesThanks to James Moberg for sharing the link to this valuable information via Twitterhttps://helpx.adobe.com/coldfusion/user-guide.html/coldfusion/deprecated-features.ug.html Sad News - Wil Genovese lost his battle with CancerIt'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.0The 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 PSTJoin 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 contentNo registration required and free to watchhttps://githubuniverse.com/ RESCHEDULED - Seattle CFUG - Hands-on deep-dive into interacting with the Thinkific API.Wednesday, December 9th, 20206:00 PM to 7:30 PM PSTRESCHEDULED FROM Wednesday, November 11, 2020Hosted by - William Frankhouser and Leon O'DanielThis 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, 202011:00 AM to 12:00 PM CSTCommandBox 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 WargoThursday Dec 3 at 12pm US Eastern Time, UTC-5Progressive 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=fBVozXmp3oQMeeting: https://www.meetup.com/coldfusionmeetup/events/274867028/ Advent of Code 2020Advent 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.ioGiancarlo 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 UpdatesColdBox Zero to Hero Workshop - 13 videos live already - https://cfcasts.com/series/cb-zero-to-heroSend your suggestions at https://cfcasts.com/supportConferences and TrainingGitHub UniverseDec 8 - 10th - 830AM PST - 200PM PSTJoin 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 contentNo 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 FreitagWriting Secure CFMLA 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 ConferenceWho: Taught by Pete FreitagCost: $600 https://foundeo.com/consulting/coldfusion/security-training/ AWS re:Invent NOV. 30 – DEC. 18, 2020FreeAmazon’s Premium Conference is also virtual, and a free 3-week event:https://reinvent.awsevents.com/ ICYMI - ITB Latam was last week and FREEWas December 3-4thLive Virtual Conference in Spanish and English and PORTUGUESE!!!Price: FREE- in the spirit of the holidaysGreat turnout - Approx 150 attendees Coming to CFCasts in coming weekshttps://latam.intothebox.org/ Short Videos about the Conference with Jorge from Ortus and Michela from TeraTechhttps://www.youtube.com/watch?v=F-Kt89ggAekhttps://www.youtube.com/watch?v=2rEIZysqIMo ICYMI - Google’s DevFest Silicon Valley. Saturday, December 5, 202010:00 AM to 2:00 PM PSTThere 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=KKPp0nJy2R8Track 2 Recording - https://www.youtube.com/watch?v=ktYGneT8aMgAdobe ColdFusion Certification now available OnlineAdobe 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: $499Blog: https://coldfusion.adobe.com/2020/07/coldfusion-certification-online-now/Register: https://www.adobe.com/products/coldfusion-family/certificate.htmlMore conferences: https://confs.tech/Blogs, Tweets and Videos of the Week Blog - Wil De Bruin - Event.buildLink: query params vs path variablesI 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.47In 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 GuidePeople 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 GenoveseOur 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 issueGood 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 Locusto-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 gotchaGetHTTPRequestData() is a built in CFML function that retrieves: HTTP Headers, HTTP Method, HTTP BodyHandy! 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.47Over 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 CF2021This 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.47At 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 Bookshe first 6 examples of DateFormat mask attribute in 2013's #ColdFusion 8 Web Application Construction Kit book are all uppercase. #cfmlMMMM-DD-YYYY = 1MM/DD/YY = 1DDD, MMM DD, YYYY = 1MM/DD/YYYY = 3m/d/yy = 1yyyy = 1mmmm d = 3dddd, mmmm d, yyyy = 3mmmm d, yyyy = 6https://twitter.com/gamesover/status/1334562407503421440 https://twitter.com/gamesoverTweet - James Moberg - Yes/No & True/False aren't always interchangeable with Adobe #ColdFusionYes/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/bc7428b9985ef560fd62b15c3b177f94TryCF: https://www.trycf.com/gist/bc7428b9985ef560fd62b15c3b177f94 https://twitter.com/gamesover/status/1334550759279632386https://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 SetupThis 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 JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 51 ColdFusion positions from 34 companies across 27 locations in 5 Countries since July 1st4 new jobs this week.Full-Time - Intégrateur.trice Web – ColdFusion at Montréal, QC - Canada Posted Dec 04https://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 03https://www.getcfmljobs.com/jobs/index.cfm/canada/Intgrateurtrice-Coldfusion-at-Montral-QC/11146 Full-Time - ColdFusion Application Developer at Hyderabad, Telangana - India Posted Dec 02https://www.getcfmljobs.com/jobs/index.cfm/india/ColdFusion-Application-Developer-at-Hyderabad-Telangana/11145Full-Time - Coldfusion and Lucee Developer at London - United Kingdom Posted Dec 02https://www.getcfmljobs.com/jobs/index.cfm/united-kingdom/Coldfusion-and-Lucee-Developer-at-London/11144 Ortus is hiring: Senior ColdFusion CFML DeveloperAt Ortus you will be:Modernizing web applications and helping companies move out of legacy hellTeaming up with ColdFusion Experts in order to solve complex web development problems.Testing and integrating new web technologies in order to create custom business implementationsPushed to innovate constantly and create new solutions to web development problemsLeading project teams that deliver software that matters- US Timezone availability is a must- US Citizen or Resident or Work Visa is a musthttps://www.ortussolutions.com/about-us/careersForgeBox Module of the Weektwiliolookupcfc by Matthew ClementeA 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 twiliolookupcfchttps://forgebox.io/view/twiliolookupcfc VS Code Hint Tips and Tricks of the Weeknpm Vscode-npm-script by egamma - 3 million+ installsThis 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 SupportersThese 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/ortussolutionsBen NadelBrett DeLineCarl Von StettenCharlie ArehartDa LiDan CardDaniel GarciaDavid BelangerDidier LesnickiDon BellamyEdgardo CabezasErick HoffmanGary KnightGiancarlo GomezJan JannekJason DaigerJeff McClainJeremy AdamsJonas EricksonJordan ClarkJoseph LamoreeKai Koenig Laksma TirtohadiMario Rodrigues Matthew DarbyMatthew Clemente Mingo HagenPatrick FlynnRoss PhillipsScott SteinbeckShawn Oden Steven KlotzSynaptrix Yogesh MathurYou can see an up to date list of all sponsors on Ortus Solutions' Websitehttps://ortussolutions.com/about-us/sponsors★ Support this podcast on Patreon ★