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…”
Contents
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
- CFWheels uses ORM and Migrations. for database
- 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)
- Automatic App Documentation using the built in doc viewer which grows with your application
- 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
- test suite
- Optimize with FusionReactor and Code Coverage
- Rails Gems → packages (vs Monolith framework)
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
Podcast: Play in new window | Download | Embed
Subscribe: RSS
Mentioned in this episode
Bio
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.