2020-04-07 Weekly News - Episode 48
Watch the video version on YouTube at
https://youtu.be/4zedULjJW4IHosts:Eric Peterson - Software Consultant for Ortus Solutions
Gavin Pickin - Software Consultant for Ortus Solutions
Thanks to our Sponsor - Ortus SolutionsGet trained by the actual makers of the ColdBox Platform, CommandBox, TestBox and ContentBox Modular CMS. We offer on-site training, regional training seminars and virtual live training as well. We have several professional training courses to choose from and we can also cater to a-la-carte trainings as well.
Patreon SupportWe are at the 42% mark for fully funding all of our Modernize or Die Podcasts via our Patreon site: patreon.com/ortussolutions . If you love our podcasts and all we do for the #coldfusion #cfml community consider chipping in, we are almost there!
https://www.ortussolutions.com/blog/we-need-your-help News and EventsBox Products Get Complete Makeover! - April FoolsWe decided that even during a lockdown, there might be room for a little humor, we posted a blog post on April Fools about some rebranding.
ColdBox – FridgeBox
TestBox – MakeItWorkBox
WireBox – ShockBox
ForgeBox – ToyBox
CommandBox – MasterBox
Someone also asked for one box to contain them all, but I had to remind them that Sean Corfield encouraged us to retire KitchenSinkBox a long time ago :)
https://www.ortussolutions.com/blog/box-products-get-complete-makeoverAdobe ColdFusion Developer Week
The developer week webinars would cover all these topics and much more. This is a series of free, live webinars where the audience would be able to hear from the best developers in the ColdFusion world.
If you are a new developer, someone with little or no ColdFusion experience, or even if you have been using ColdFusion all your life, these sessions are ideal for you. The ColdFusion Developer Week provides something for everyone so sign up now.
May 18th - 22nd - Online
2 Sessions per day - 10 sessions through the week.
Free - Register Online
https://cf-devweek.meetus.adobeevents.com/Lucee developer Team ExpandedLucee developer team expanded with full time Java developer, Mircea Botez
Let’s welcome Mircea Botez to the team!
Mircea joins the Lucee core committers as a new full time Java Resource. A 30 year old from Romania, Mircea has a degree in Computer Science from the University of Iasi and years of Java experience. Mircea is diving into the code and converting all extensions from Ant to Maven. And in time, he'll be speeding up the delivery of awesome features across the code base. We are sure that you will hear lots from Mircea soon and with luck meet him at CFCamp. Our most heart-felt thanks to Rasia and DistroKid for directly sponsoring Mircea's contribution.
https://us12.campaign-archive.com/?u=a8314f9282c07e84232a26805&id=55db57ba60ColdBox Cross Site Request Forgery Module v2 releasedWe are incredibly excited to bring you a major version of our cbcsrf module, so you can protect your ColdBox applications from cross-site request forgery vectors. This is a major overhaul of the module and it will also be part of the cbSecurity module as well.
https://www.ortussolutions.com/blog/coldbox-cross-site-request-forgery-module-v2-releasedcbSecurity 2.4 ReleasedThis release adds the inclusion of the Cross Site Request Forgery module into cbsecurity: cbcsrf.
https://www.ortussolutions.com/blog/cbsecurity-24-releasedQuick 3.0.0-Alpha.1Released, live on the show… available quick@be on forgebox.
https://www.forgebox.io/view/quick#versionsWhat's New In CommandBox 5 Screencast SeriesBrad recorded a series of Screencasts being released every Tuesday and Thursday, this is what has been released so far.
Lucee Extension Management -
https://www.ortussolutions.com/blog/whats-new-in-commandbox-5-lucee-extension-managementGit Access Tokens -
https://www.ortussolutions.com/blog/whats-new-in-commandbox-5-git-access-tokensLibrary Updates -
https://www.ortussolutions.com/blog/whats-new-in-commandbox-5-library-updatesUpcoming Adobe Webinar - Journey through the Adobe ColdFusion Performance Monitoring ToolPresenter: Elishia Dvorak
April 9th, 11am PDT
This session is all about demos, no slides! From start to finish, we’ll take you through the nitty gritty of troubleshooting and setting yourself up in Adobe’s ColdFusion Performance Monitoring Tool to troubleshoot the main issues that keep you awake at night. We’ll run through setting up different types of notifications, threshold settings, auto tuning, and even some simulations to give you a good sense of how the PMT can help you diagnose your craziest ColdFusion issues.
https://cfwebinar-journey-pmt.meetus.adobeevents.com/Reminder: ContentBox CMS Customer Experience SurveyContentBox, our signature professional open-source modular content management system for ColdFusion (CFML), recently celebrated 8 years in the market. For sure, it has been a solid base for many companies to easily build websites, blogs, wikis, complex web applications, and RESTFul web services.
We are ramping up our planning for our next generation of the ContentBox platform and we need your feedback.
Please take some time to let us know your opinion, so we can start cooking some CMS goodness!
https://docs.google.com/forms/d/e/1FAIpQLScs2sbby0zLu6kJSQA_VqT5-ZGYsLpCI7IRgJMepxPk-BG8gw/viewformReminder: State of the CF Union 2020 SurveyVOTE FOR OUR PODCASTS
Help us find out the state of the CF Union – what versions of CFML Engine do people use, what frameworks, tools etc. We will share the summary results with everyone who completes the survey so that you can see how you compare with other CF developers.
Most questions are multiple choice checkboxes that are fast to answer. Thanks for your time completing this survey!
https://teratech.com/state-of-the-cf-union-2020/Conferences
Adobe CF Summit East 2020 - Cancelledhttps://carahevents.carahsoft.com/CFSummit2020/Adobe - ColdFusion Specialist Certification POST Conference - CANCELLEDhttps://carahevents.carahsoft.com/CFSummit2020/Custom?id=3408Ortus Solutions - Build Secure MVC ColdFusion Applications - Pre Conference - Cancelledhttps://www.ortussolutions.com/blog/ortus-solutions-dc-workshop-is-cancelled-due-to-covid-19-concernsInto the Box 2020 - Virtual Online Conference
Thursday May 7th and Friday May 8th, 2020.
The conference will take place on the same days, with the same schedule, all online.
Sessions will be streamed live and recorded so attendees can watch all the sessions, even the sessions they cannot attend.
Keynote will be streamed live for free.
The conference tickets are $199 ( massive discount from the in person conference )
Register now:
https://intothebox.org/Previous ITB Videos on Sale
Can’t wait for this year’s ITB, you can watch videos from last year and the year before for price of $9.99 each.
https://vimeo.com/ondemand/itb2019https://vimeo.com/ondemand/intothebox2018Workshops
Workshops are being refunded and will be scheduled at later times to give everyone an opportunity to attend one or more workshops as they are delivered online.
Adobe Developer WeekMay 18th - 22nd - Online
2 Sessions per day - 10 sessions through the week.
Free - Register Online
https://cf-devweek.meetus.adobeevents.com/DockerCon - LiveMay 28, 2020 :
9:00 - 5:00 PM GMT-7 (PDT)
DockerCon is going digital with theCUBE! We’ve designed a 1-day conference that’s free and completely online. You’ll hear from speakers in live interviews with theCUBE, hang out with Docker experts in the live hallway track, and watch recorded sessions while chatting live with the speakers.
Choose from 3 simultaneously streaming channels or jump between them all to experience DockerCon your way.
https://www.docker.com/dockercon/CF Summit WestOctober 28-29
Mirage Hotel
https://cfsummit.adobeevents.com/CF CampTBA
More conferences:
https://confs.tech/Blogs, Tweets and Videos of the Week Blog - Charlie Arehart - How can I keep CF Admin settings in sync between multiple servers or instances?This question was asked today on the Adobe CF forums. The person had CF instances on multiple servers and lamented having to login to each CF admin to make changes that would apply equally to all instances, in particular creating or changing datasources. They wondered if in fact there was a feature in the CF Admin to "cluster" datasource definitions, like there is (since CF2016) the feature to "cluster" scheduled tasks.
I explained that there was not such a "feature" but that there were at least two options to achieve the goal. The answer was long enough (as is my wont) that I should have probably created a blog post instead. After submitting it, I decided to do just that, here (and I have tweaked here what I said, with some more elaboration and links).
https://www.carehart.org/blog/client/index.cfm/2020/4/7/syncing_cfadmin_settings Video - Brad Wood - Ortus Solutions - What's New In CommandBox 5 - Lucee Extension ManagementLearn how you can use CommandBox to manage your Lucee Extensions.
https://www.ortussolutions.com/blog/whats-new-in-commandbox-5-lucee-extension-management Blog - Ben Nadel - Spreading SQL And CFQueryParam Tags Across Multiple Function Calls In Lucee CFML 5.2.9.40I've been spending a lot of time lately trying to figure out how to optimize the SQL queries required to render a given view. Ideally, the data in question should be aggregated into some sort of materialized view; or, the User Interface (UI) should be redesigned to show less data. But, unfortunately, those aren't options that I have at my disposal. As such, I'm continuing to tweak and experiment. And, one experiment that I wanted to try was whether or not I could split a SQL query and its CFQueryParam tags up across multiple function calls. This would allow me to do things like factor-out and reuse sub-queries in Lucee CFML 5.2.9.40.
https://www.bennadel.com/blog/3806-spreading-sql-and-cfqueryparam-tags-across-multiple-function-calls-in-lucee-cfml-5-2-9-40.htm Tweet - Kai Koenig - CommandBox Server ManagerClient bought the @ortussolutions Forgebox module to manage CommandBox instances as persistent daemons.
Very smooth sailing and just gets rid of a task no one wants to deal with anyway. Also: great and actually very cheap and easy way of supporting an open-source team #cfml
https://twitter.com/agentK/status/1247424610938716160https://twitter.com/agentKTweet - Brad Wood - Ortus Solutions - Lucee 5.3.5 Regression for LogBoxFYI, if you use the LogBox/ColdBox ConsoleAppender, it seems a regression in Lucee 5.3.5 has stopped it from working on debug/info/warn messages: https://luceeserver.atlassian.net/browse/LDEV-2827
It still works in Lucee 5.3.4. #CFML #ColdFusion
https://twitter.com/bdw429s/status/1247305244503089153https://twitter.com/bdw429s Blog - Michaela Light - Work From Home: Salvation or a Prison (Life Changes Amidst Covid 19 and Life After)You might be one of the people that already was working from home. I am part of that club also. Looking behind, nothing could make me go back. Flexible life is great and for many reasons.
But, what about the majority of people that do work in the office, and like it, more or less? What about those people that enjoy the community and meeting people every day?
https://coldfusion.adobe.com/2020/04/work-home-salvation-prison-life-changes-amidst-covid-19-life/ Blog - Ben Nadel - Considering MySQL, CFQueryParam, Prepared Statements, And SQL Queries That Use IN Clauses In ColdFusion
I've been using ColdFusion's CFQueryParam for longer than I can remember. It seems like it's just always been there, protecting us against SQL-Injection attacks and helping to speed up query parsing and performance. But, I have to admit that my mental model for CFQueryParam has always been a little bit fuzzy, especially when it comes to the list attribute. Over the weekend, however, I was doing a lot of thinking about a particularly SQL query that I wrote; and, about its sub-par performance. I wanted to take a moment to think more deeply about prepared statements and open-ended IN clauses in MySQL and ColdFusion.
https://www.bennadel.com/blog/3805-considering-mysql-cfqueryparam-prepared-statements-and-sql-queries-that-use-in-clauses-in-coldfusion.htm
Blog - Ben Nadel - Printing Emoji Characters From Unicode CodePoints In Lucee CFML 5.3.5.92Now that I've enabled Emoji characters in my blog comments (via MySQL's utf8mb4 character encoding), it's got me thinking more about how else I might use Emoji in my blog. That said, since my brain hasn't fully accepted Emoji as "normal" content; so, I'm still not ready to embed Emoji characters directly within my ColdFusion code files (old habits die hard). This got me thinking about how I might be able to output Emoji characters based on their Unicode CodePoints. Unfortunately, it's not as simple as calling the built-in chr() function, since this only supports CodePoints up to 65,535 (0xffff). As such, in order to print Emoji characters in ColdFusion, I have to drop down into the Java layer in Lucee CFML 5.3.5.92.
https://www.bennadel.com/blog/3804-printing-emoji-characters-from-unicode-codepoints-in-lucee-cfml-5-3-5-92.htm
Blog - Ben Nadel - I Prefer The Unary Plus (+) Operator Over parseInt() And ParseFloat() When Coercing Strings To Numbers In JavaScript
Yesterday, I accidentally stumbled into the location of a bug that's existed in InVision for over 5-years. And, when I finally found the problematic line of code, I felt like it warranted a write-up on its own. Because, the "broken" code wasn't inherently broken; rather, it was just using an approach that was more prone to subtle failures. The line of code in question was using parseInt() to try and coerce a String value into a Number value. For this type of operation, I almost always prefer the unary plus (+) operator over parseInt() or parseFloat() in JavaScript.
https://www.bennadel.com/blog/3803-i-prefer-the-unary-plus-operator-over-parseint-and-parsefloat-when-coercing-strings-to-numbers-in-javascript.htm
Blog - Ben Nadel - Zipping Image Archives With DEFLATE And STORE Compression Methods In Lucee CFML 5.2.9.31For the last few years, one of my teammates - David Bainbridge - has been suggesting that we switch our zipping / archiving algorithms over to use STORE instead of DEFLATE when creating an archive of images. The idea being that most images file-formats are already compressed; which means that attempting to compress the images further during the zip operation does nothing but use unnecessary CPU. Now my team is planning to add some new zipping functionality, I thought it would be a good time to start looking at the difference between DEFLATE and STORE in Lucee CFML 5.2.9.31.
Traditionally, ColdFusion has not offered the ability to set any type of compression method in its various zipping features - it just uses DEFLATE, and that's the end of it. That said, it looks like Zac Spitzer recently added compressionMethod to the CFZip tag in Lucee CFML 5.3.3.x. So that's very exciting!
https://www.bennadel.com/blog/3802-zipping-image-archives-with-deflate-and-store-compression-methods-in-lucee-cfml-5-2-9-31.htm
Blog - Luis Majano - Ortus Solutions - cbSecurity 2.4 ReleasedWe are excited to bring you another release for cbSecurity v2.4. This update gives you access to our cross site request forgery module: cbcsrf, which will enhance your securing abilities.
https://www.ortussolutions.com/blog/cbsecurity-24-released Blog - Luis Majano - ColdBox Cross Site Request Forgery Module v2 releasedhttps://www.ortussolutions.com/blog/coldbox-cross-site-request-forgery-module-v2-released Blog - Zac Spitzer - Lucee Performance Analyzer PluginIt’s a simple little plugin which provides a summary view of all the debug logs, I’ve been using these scripts for a while to track down performance problems.
- Slowest Queries
- Var Scoping Problems
https://dev.lucee.org/t/lucee-performance-analyzer-plugin/6832 Video - Brad Wood - Ortus Solutions - What's New In CommandBox 5 - Git Access TokensLearn how to use Git personal access tokens or username and password to authenticate to a private Git repo in CommandBox 5.
https://www.ortussolutions.com/blog/whats-new-in-commandbox-5-git-access-tokens Blog - Ben Nadel - Pretty-Printing A ColdFusion Query Object In Lucee CFML 5.2.9.31Last week, in my article about using INNER JOIN in a MySQL UPDATE statement, I shared the various states of the database using the output provided by the MySQL CLI (Command-Line Interface) tool. The MySQL CLI pretty-prints the resultant queries using a fixed-width ASCII table format, making it really easy to copy-paste the data into demos. As a fun code kata in these trying COVID19 times, I thought I would try to recreate that Query serialization functionality in Lucee CFML 5.2.9.31.
https://www.bennadel.com/blog/3801-pretty-printing-a-coldfusion-query-object-in-lucee-cfml-5-2-9-31.htm Video - Matthew Clemente - Testinghttps://www.youtube.com/watch?v=IgiZfsC0sq8&feature=youtu.be Video - Matthew Clemente - Adding Basic Interactivity to CommandBox Custom CommandsLet's take a look at adding basic interactivity to CommandBox custom commands. In this video, I cover the functions ask(), waitforkey(), and confirm(). These handy methods streamline the process of asking a user for information, and then using their response within your command.
https://www.youtube.com/watch?v=2Q6brKYAGTc Lucee NewsletterRegister Online: https://lucee.org/newsletter-archive.html
https://us12.campaign-archive.com/?u=a8314f9282c07e84232a26805&id=55db57ba60 Blog - Ben Nadel - Referencing String Characters Using Array-Notation In Lucee CFML 5.3.5.92Over the weekend, I was reading through the Learn Modern ColdFusion <CFML> in 100 Minutes book by Ortus Solutions when I came across their section on Character Extraction. In that section, they mention that - in Lucee CFML - you can access the characters of a String using Array-notation. Since I don't remember ever seeing this feature before, I wanted to quickly try it out for myself so as to try and burn the concept into my brain.
https://www.bennadel.com/blog/3800-referencing-string-characters-using-array-notation-in-lucee-cfml-5-3-5-92.htm
Video - Brad Wood - What's New In CommandBox 5 - Library UpdatesLearn about the new libraries in CommandBox and how to determine the current version of Lucee that your CLI is running.
https://www.ortussolutions.com/blog/whats-new-in-commandbox-5-library-updates CFML Jobs
Several positions available on
https://www.getcfmljobs.com/Listing over 20 ColdFusion positions from 17 companies across 14 locations in 5 Countries
5 new jobs this week.
Full-Time - ColdFusion Architect at Rockville, MD - United States
Posted Apr 06
https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusion-Architect-at-Rockville-MD/11045Full-Time - ColdFusion Architect at Rockville, MD - United States
Posted Apr 06
https://www.getcfmljobs.com/jobs/index.cfm/united-states/ColdFusion-Architect-at-Rockville-MD/11043Full-Time - Senior ColdFusion Developer (Temporary) at Raleigh, NC - United States
Posted Apr 06
https://www.getcfmljobs.com/jobs/index.cfm/united-states/Senior-ColdFusion-Developer-Temporary-at-Raleigh-NC/11044
Full-Time - Senior ColdFusion Developer at Raleigh, NC - United States
Posted Mar 31
https://www.getcfmljobs.com/jobs/index.cfm/united-states/Senior-ColdFusion-Developer-at-Raleigh-NC/11042Full-Time - Senior ColdFusion Developer at Raleigh, NC - United States
Posted Mar 31
https://www.getcfmljobs.com/jobs/index.cfm/united-states/Senior-ColdFusion-Developer-at-Raleigh-NC/11041ForgeBox Module of the Week
Commandbox - Site Opener - By Dan CardA Simple Module to open and start existing sites easily without having to remember locations or change
Usage: type `siteopener Open` and push tab. A list of the sites which have been created will appear as options. Enter the one you want to use. Site opener will CD into the folder, determine if it is running or not, and then either "server start" or "server open"
box install commandbox-siteopener
https://www.forgebox.io/view/commandbox-siteopenerVS Code Hint Tips and Tricks of the WeekGit Commands Feature in GitLens 10'Git Commands' from the GitLens extension provides a visual interface for #git operations. This lets you perform operations beyond what VS Code's UI supports without having to remember git's cli
Adds a Git Commands command (gitlens.gitCommands) to provide guided (step-by-step) access to common Git commands and their flags
Quickly navigate and execute Git commands through easy-to-use menus where each command requires an explicit confirm step before executing
GitLens supercharges the Git capabilities built into Visual Studio Code. It helps you to visualize code authorship at a glance via Git blame annotations and code lens, seamlessly navigate and explore Git repositories, gain valuable insights via powerful comparison commands, and so much more.
https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens Thank you to all of our Patreon SupportersNew Patreon Supporters Ben Nadel.and Kai KoenigThese 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 Nadel
Da Li
Dan Card
Daniel Garcia
David Belanger
Didier Lesnicki
Don Bellamy
Erick Hoffman
Gary Knight
Jan Jannek
Jeremy Adams
Jordan Clark
Joseph Lamoree
Kai Koenig
Laksma Tirtohadi
Matthew Clemente
Mingo Hagen
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