Modernize or Die® - CFML News for August 18th, 2020 - Episode 66
2020-08-18 Weekly News - Episode 66Watch the video version on YouTube at https://youtu.be/PYT85e0cVdQHosts:Gavin Pickin - Software Consultant for Ortus SolutionsEric Peterson - Software Consultant for Ortus SolutionsThanks to our Sponsor - Ortus SolutionsGet live training from the makers of your favorite Box Product.2 August Workshops - 1 day workshop - Jon Clausen leading Containerizing CFML Apps2 day workshop - Brad Wood leading CommandBox - Zero to HeroCFCasts is releasing new Free and Paid content every weekPatreon SupportWe are at the 59% mark for fully funding all of 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 EventsAdobe ColdFusion - Announcing the public beta of Project StratusHere is the much awaited pre-release for ColdFusion Next, code named Project Stratus. All you need to do is, use your Adobe ID to login into the link. https://adobe.ly/3gblNAJThis release is clearly a ground breaking release for ColdFusion that will help accelerate the use and relevance of ColdFusion in the coming decade. We at Adobe at super excited at what we are building and I am confident that it will excite you too. Here is the overarching vision for the next version:“To be the modernized platform of choice for building cloud-native microservice applications with absolute focus on ease of use without getting locked to a particular cloud vendor (multi-cloud).”https://adobe.ly/3gblNAJOnline CF Meetup - "Public Beta walkthrough of ColdFusion Next--Project Stratus", with Rakshith NareshThursday, August 20, 202011:00 AM to 12:00 PM CDTWhether you have been a part of the pre-release program or want to try out the public beta, this session is for you. https://www.meetup.com/coldfusionmeetup/events/272560491/Ortus Webinar - BDD tests with Testbox - Friday August 21st 2020Friday, August 21st, 2020 at 11:00 AM CDT (GMT -5:00)with Javier QuinteroRegister today: https://us02web.zoom.us/meeting/register/tZEuf-yprTIoG9fqMHHAKOPuUlnF436wGew3MURA CMS - Going Closed Source - Commercial ProductNo official report, or posting, but Mura CMS is now closed source. You cannot download from their site anymore, or from github, but you can request a demo.We’ll let you know more as we find out more.ICYMI - Online CF Meetup - "Migrating or comparing CF Admin settings", with Charlie ArehartThu, Aug 13 · 11:00 AM CDTHave you ever wished you could easily compare the CF Admin settings between one instance and another? Whether on different machines or multiple instances on the same machine, or even between one version of CF and another? What about between CF and Lucee?Meetup Link: https://www.meetup.com/coldfusionmeetup/events/272410719/Recording available soon: https://www.youtube.com/watch?v=hhycXqt0jrYalist=PLG2EHzEbhy0-QirMKgSxhjkUyTSSTvHjLICYMI - Online CF Meetup - "PWA's How Did We Get Here?", with Simon MacDonaldThu, Aug 13 · 5:00 PM CDTBack in the mid 90’s we only had one cross platform choice for building internet connected applications and that was HTML, CSS and JavaScript. So why is it now that after 25+ years have passed we are back to building internet connected applications with HTML, CSS and JavaScript and calling them Progressive Web Apps? Join me as we journey from the webs earliest beginnings to get back exactly where we started, or have we?https://www.meetup.com/coldfusionmeetup/events/272411266/Recording: https://www.youtube.com/watch?v=hhycXqt0jrYalist=PLG2EHzEbhy0-QirMKgSxhjkUyTSSTvHjLaindex=1CFCasts Content UpdatesColdBox Master Class - Intro to TestBox - Testing QuickstartSend your suggestions at https://cfcasts.com/supportConferencesInto the Box 2020 - Workshops - Virtual Live traininghttps://www.ortussolutions.com/blog/two-workshops-announced-for-augustAugust: 1 Day Workshop - Containerizing CFML Apps lead by Jon ClausenAugust 20th8:00 AM – 3:00 PM PDTPrice: $499https://www.eventbrite.com/e/containerizing-cfml-apps-tickets-1155124799372 day Workshop - CommandBox Zero to Hero - lead by Brad WoodThu, Aug 27 a 28, 2020, 8:00 AM – 3:00 PM PDTPrice: $899https://www.eventbrite.com/e/commandbox-zero-to-hero-tickets-115511490979?aff=erelpanelorgWe'll be offering a free license of the CommandBox Service Manager module to our CommandBox Zero to Hero attendees.https://www.ortussolutions.com/eventsPodcast Code:PODCAST10 - 10% offThere is a code for ITB attendees to save 15% - If you didn’t get the email contact us. JConf.devSeptember 30th, 9am - 4pm CSTRegister by August 15, and you'll get an awesome SWAG BOX full of goodies! (US only, first 500)https://jconf.dev/Adobe ColdFusion Summit 2020 - Replaces CF Summit WestDate: November 17-19Location: Onlinehttps://cfsummit.adobeevents.com/Admission: FreeSpeaker sign up for Adobe https://cfsummit.adobeevents.com/speaker-application/Deadline: August 20th. - Deadline changed.Adobe 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 advance 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. Blog: https://coldfusion.adobe.com/2020/07/coldfusion-certification-online-now/Register: https://www.adobe.com/products/coldfusion-family/certificate.htmlCF CampTBAMore conferences: https://confs.tech/Blogs, Tweets and Videos of the WeekBlog - Wil De Bruin - CbSecurity: iss issues with JWTNo, this is not a typo. This post will tell you how to prevent some headache with JWT iss claims in cbsecurity. It is quite easy to solve, but since I just spent several hours debugging some very nasty JWT authentication problem, I thought it might be worth sharing. Bottom line: if you are using the iss claim in JWT make sure you specify it yourself, so don’t rely on the default (although that might look attractive). Better yet: ALWAYS specify the issuer claim, even if you think you are not using it. Only read the rest of this post if you really want to know why.https://shiftinsert.nl/cbsecurity-iss-issues-with-jwt/Blog - Ben Nadel - Using NPM Run-Scripts To Execute Shell Commands In Lucee CFML 5.3.6.61Over the last few months, I've looked at various ways that ColdFusion can interact with the command-line. For example, we can use a proxy script to run CFExecute from a working directory; or, we can use Java's ProcessBuilder to interact with the underlying processes directly. The other day, fellow InVisioneer - Shawn Grigson - offered up yet another interesting approach: using npm run scripts. I use the npm command-line tool all the time in development; however, it never would have occurred to me to use it from within my ColdFusion application. As such, I wanted to look at how that might work in Lucee CFML 5.3.6.61.https://www.bennadel.com/blog/3878-using-npm-run-scripts-to-execute-shell-commands-in-lucee-cfml-5-3-6-61.htmBlog - David Byers - The Organic Nature of Software DevelopmentThis question plagues both stakeholders and custom software developers alike because it is such a loaded question. When an application is considered complete varies based on an incredible number of factors. These include things like: - The amount of detail put into creating the original scope of work - Changes to the requirements after development has begun - Market conditions (like pandemics) that may change the course of the business - Availability of resources - “Unknown unknowns”https://coldfusion.adobe.com/2020/08/organic-nature-software-development/https://basecamp.com/features/hill-chartsBlog - David Byers - ColdFusion 101 – Introduction to ColdFusion for Beginner Developers, Decision Makers, and CEO’s.Every developer starts somewhere. This shows how I became a ColdFusion developer and teaches the very very basics of ColdFusion.This video is designed to be a 10,000 foot view of ColdFusion, the developer community, resources, facts and misconceptions.https://coldfusion.adobe.com/2020/08/coldfusion-101-introduction-coldfusion-beginner-developers-decision-makers-ceos/Blog - Ben Nadel - Generating Rich Server-Side Reports In Lucee CFML 5.3.6.61When it comes to rendering "Views" and / or "API Responses" in a ColdFusion application, I feel like I have a good-enough handle on where things are supposed to live within the application architecture (somewhat dictated by whatever framework I'm using). But, when it comes to generating rich, possibly interactive, reports, I feel a bit like I've wandered off the map. They're not quite "views", so they don't live in the "View" layer of the application. And, they're not really part of the client-side code, so they don't live in the Single-Page Application (SPA) layer. Reporting assets have this ambiguous, mixture of characteristics. As such, I wanted to noodle on where they might live and how they might all come together in Lucee CFML 5.3.6.61.https://www.bennadel.com/blog/3876-generating-rich-server-side-reports-in-lucee-cfml-5-3-6-61.htmBlog - Ben Nadel - Encapsulating Deep Object-Graph Traversal Using A Visitor Function In Lucee CFML 5.3.6.61The other day, in JavaScript, I wrote some code that required three nested for-loops in order to locate data for consumption. The JavaScript code looked something like this:This is hella ugly; and, on some level, "feels wrong" in a way that I can't fully articulate. As such, I thought it would be a fun to try and figure out a way to encapsulate this nested looping using some sort of a "Visitor" Function. Meaning, create an algorithm that takes an object graph and an operator and then have it invoke said operator for each desired leaf-node within the graph.https://www.bennadel.com/blog/3875-encapsulating-deep-object-graph-traversal-using-a-visitor-function-in-lucee-cfml-5-3-6-61.htmCFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 11 ColdFusion positions from 9 companies across 7 locations in 5 Countries since July 1st1 new jobs this week.Full-Time - Software Developer - ColdFusion - 01346 at Huntsville, AL - United States Posted Aug 11https://www.getcfmljobs.com/jobs/index.cfm/united-states/Software-Developer-ColdFusion-01346-at-Huntsville-AL/11103ForgeBox Module of the WeekCB Breadcrumb by Gary StantonAutomatically generate breadcrumb data and HTML in your ColdBox application, using the Routing table.An instance of CB Breadcrumb is automatically added to each request and is available in the private request context.You may display breadcrumb HTML in your layout with a single line of code: #prc.cbbreadcrumb.getBreadcrumbHTML()#The default HTML format uses Bootstrap 4 syntax, though you may override the function if necessary.box install CBBreadcrumbhttps://www.forgebox.io/view/CBBreadcrumbVS Code Hint Tips and Tricks of the WeekSorting HTML and Jade attributesSorting of the tag attributes in the specified orderYou can use global keyboard shortcut ALT+SHIFT+F or right-click context menu Format code.Or press F1 and run the command named Sorting of the tag attributes (attrs-sorter).Use the default order, or set the order yourself{ "attrsSorter.order": ["data-.+", "aria-.+", "class"]}https://marketplace.visualstudio.com/items?itemName=mrmlnc.vscode-attrs-sorterThank 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 Nadel Brett DeLineCarl Von Stetten Charlie ArehartDa Li Dan CardDaniel GarciaDavid Belanger Didier Lesnicki Don Bellamy Eric HoffmanGary Knight Giancarlo GomezJan JannekJason DaigerJeff McCainJeremy Adams Jordan Clark Joseph LamoreeKai Koenig Laksma TirtohadiMario Rodrigues Matthew Clemente Mingo HagenScott 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 ★