Peter Amiri talks about “CFWheels ColdFusion Framework (new structure and features)” in this episode of ColdFusion Alive Podcast with host Michaela Light.
"...CFwheels is another ColdFusion framework. And it was originally modeled after Ruby on Rails. So if you remember back in the early 2000s, when Ruby on Rails came out, it was a complete mind change on how applications could be built. And that's why I got a huge following. And there was a lot of effort on the ColdFusion side to see if we could take that momentum that Rails had and bring that framework over to the ColdFusion side of the house..."
Show notes
What is CFWheels?
Ruby on Rails for CF
MVC framework vs procedural or heaven forbit spaghetti code
Convention over configuration
Eg Views dir vs XML config
Built in structure / scaffolding
The CFWheels open source project has been around since 2005
CFWheels is an open source CFML (ColdFusion Markup Language) framework inspired by Ruby on Rails that provides fast application development, a great organization system for your code, and is just plain fun to use. One of our biggest goals is for you to be able to get up and running with CFWheels quickly.
Why should you use CFWheels?
Types of CF Devs
Professional devs, CS trained, modern development patterns
Self learned developers, procedural devs
Easy onramp to Self learned devs to get MVC benefits without doing a CS degree first
While modern for CS type devs
Getting started materials
Using CommandBox can get a sample CFWheels app in 5 seconds
Moving from legacy CF frameworks
Fusebox, Model-Glue, Mach-2, F/W 1
If MVC used then translates easily
New CFWheels dev team
Changing of the Guards at CFWheels
Peter frontman/evangelist and admin and structure
Been involved in CFWheels since near the beginning
Worked on the CFWheels CLI project
Worked with Rails books author to draft CFWheels book, which needed CLI
Uses CFWheels in work projects
Joined the core team
Tom King, David Belanger, Adam Chapman, Per Djurner focusing on coding CFWheels
Admin burnout, stepping back a bit
Major CFWheels features
Easy MVC
Industry established concept MVC
Easy MVC, no need OO expert compared to ColdBox
Or legacy CF frameworks ModelGlue, Mach2
Conventions
Routing engine
Resource based RESTful routing engine for GET, POST, PUT, PATCH & DELETE
Databases
CFWheels uses ORM and Migrations. for database
Less CRUD and SQL coding
Automatically works if database structure changes
Or even database changes
Built in database migration system even across different DBMS
App Documentation
Automatic App Documentation using the built in doc viewer which grows with your application
From special comments. Similar idea to JavaDocs
Eg CFWheels API uses this
Local docs (offline work)
CFWheels API
Lets you call the atomic components of CFWheels separately
https://api.cfwheels.org/v2.4
Hybrid Development - Switch in and out of Wheels conventions
Ecosystem
CFWheels plugins at ForgeBox
Add to the framework core
Overwrite core functionality to change behavior
https://www.forgebox.io/type/cfwheels-plugins
Eg bCrypt, JWT, SAML, dotEnvSettings shortcodes
CFWheels Fully Embraces ForgeBox Packages
Community
CFWheels has moved to GitHub Discussions.
https://github.com/cfwheels/cfwheels/discussions
Google discussions archived
The CFWheels Channel on CFML Slack Has Been Archived
the reasons for this move are to
Move our discussions closer to the code in GitHub, allowing the poster and respondent to more easily link to specific branches, files, and even lines of code.
Issues can be converted to discussions if they warrant further community input or discussions promoted to an issue once an issue or feature has had open consultation and next steps identified.
Discussions can be marked as answered and the specific answer identified for future reference.
All these discussions, collaborations, and consultations are searchable and discoverable by search engines so the community as a whole reaps the benefits.
CFWheels book
CFWheels Guides Moved to GitBook
Online, PDF
Future print book
Recent Activity in the CFWheels Project
2022.03.24 - CFWheels CLI commands for CommandBox released
Wheels CLI
Uses CommandBox
2022.03.29 - Announce Changing of the guards
2022.03.29 - TodoMVC - CFWheels/HTMX example app released
2022.03.30 - CFWheels Example App Package Released
2022.04.25 - CFWheels Joins Open Source Collective
2022.04.29 - CFWheels Embraces ForgeBox Packages (CFWheels, cfwheels-base-template)
2022.05.03 - CFWheels 2.3.0-rc.1 Released
New CI Pipeline in GitHub Actions
Test Suite Matrix
Lucee 5 x MySQL, Lucee 5 x SQL Server, Lucee 5 x PostgreSQL, Lucee 5 x H2
ACF 2016 x MySQL, ACF 2016 x SQL Server, ACF 2016 x PostgreSQL
ACF 2018 x MySQL, ACF 2018 x SQL Server, ACF 2018 x PostgreSQL
2022.05.10 - CFWheels Guides moved to GitBook
2022.05.11 - CFWheels 2.3.0 Released
2022.05.16 - CFWheels Announces a Bug Bounty
2022.05.27 - CFWheels has moved to GitHub Discussions
2022.06.06 - CFWheels DotEnvSettings Plugin published
2022.06.07 - Two new repositories published (cfwheels-www, cfwheels-api)
2022.06.17 - CFWheels added to the HTMX server-side examples page
2022.06.20 - CFWheels CLI matures to version 1.0
2022.06.20 - CFWheels HTMX plugin published
CFWheels HTMX Plugin
htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext
2022.08.23 - CFWheels v2.4.0 Released
2022.09.12 - CFWheels Channel on CFML Slack has been archived
Roadmap new features
Process
User suggestions
Draft roadmap coming for community discussion
Ideas from RoR versions 3 to 7
Ideas for CFWheels 3.0
Rails Gems → packages (vs Monolith framework)
On ForgeBox
Integrate testing with TestBox
Dependency Injection with WireBox
Testing on Lucee 6 and ACF 2023
test suite
10 different CF/db configurations and versions
1400 automated tests per commit
Docker containers
Test apps
Optimize with FusionReactor and Code Coverage
How can listeners help with CFWheels
Play with it and report issues
Join the discussions at GitHub
Do pull requests for docs and code
And the CFWheels websites
Corporate Sponsor via Open Source Collective
Mentioned in this episode
CFWheels prior episode
Listen to the Audio
Bio
Peter Amiri
Boy time is unforgiving…
Peter has been a developer, consultant, and entrepreneur, and has held senior IT management roles for the last 30 plus years and is currently serving as CTO for PAI Industries, Inc. a privately held company specializing in aftermarket manufacturing and distribution of heavy duty truck parts. He has been using ColdFusion since version 1.5 and ran the Orange County chapter of the ColdFusion Users Group in Southern California in the late 90’s and early 2000’s. He joined MySpace in 2003 and was with the company till its sale to Fox. Although he was involved with the CFWheels project early on, he has recently returned to the project and taken over as the project's maintainer.
Links
Peter Amiri | LinkedIn
Thinking Out Loud - A blog by Peter Amiri
CFWheels Blog
Twitter
@peteramiri
@CFonWheels
GitHub Discussions
CF slack channel
Interview transcript
Michaela Light 0:02
Welcome back to the show. I'm here with Peter Miri. If I'm saying your name right, I think that is perfect. All right. And where are we talking all about CF, we'll see if wheels which is a great open source framework for ColdFusion development. And you may not have known Safeway has been around for years. We'll tell you how old it is later in the episode. But it's got a lot of new features got a lot of new energy, Peter is new to the he's the extra wheel in the wheels development team. We'll talk about his role in a bit. But you may have noticed if you follow CF wheels with their blog and other discussion forums, there's been an enormous amount of activity in the last six months after a two year kind of quiet period. So a lot of excitement in the wheels world. Welcome, Peter.
Peter Amiri 0:50
Thank you. Thanks for having me.
Michaela Light 0:53
Yeah, and in case you don't know, Peter has been doing it and development stuff for over 30 years. He's currently the CTO, Pei industries, and works in manufacturing and distribution of truck parts. Wow. And you've been using ColdFusion. Since version 1.5, which is like back in the dark ages of CFML.
Read more
Michaela Light is the host of the CF Alive Podcast and has interviewed more than 100 ColdFusion experts. In each interview, she asks "What Would It Take to make CF more alive this year?" The answers still inspire her to continue to write and interview new speakers.
Michaela has been programming in ColdFusion for more than 20 years. She founded TeraTech in 1989. The company specializes in ColdFusion application development, security and optimization. She has also founded the CFUnited Conference and runs the annual State of the CF Union Survey.
Join the CF Alive revolution
Discover how we can all make CF more alive, modern and secure this year. Join other ColdFusion developers and managers in the CF Alive Inner Circle today.
Get early access to the CF Alive book and videos
Be part of a new movement for improving CF's perception in the world.
Contribute to the CF Alive revolution
Connect with other CF developers and managers
There is no cost to membership.