- What exactly is a Module?
- A self contained bundle of code
- Similar idea in other languages
- WP Plugin
- Ruby Gem
- NPM package
- What is ColdBox?
- MVC framework
- Why use Modules?
- Save time by dropping in a module to your app
- Where can I find pre-written Modules
- Creating a new module from existing reusable code in minutes
- Why share your modules as open source code
- Saving timing with Module conventions – module superpowers
- Using Modules outside of ColdBox
- Sharing modules between other frameworks
- Cool API examples
- Fast versioning of APIs with Modules
- API transformations
- API versioning endpoints
- Github API
- 39 amazing modules that Eric has shared on Forgebox
- Testing Modules, augmented testing
- The ColdBox framework viewed as a Module
- What is like being a new CF developer vs a seasoned one
- Why are you proud to use CF?
- WWIT for you to make CF more alive this year?
- What are you looking forward to at CFObjective?
ColdBox Modules are the preferred unit of code reuse in ColdBox applications. ColdBox Modules are extremely powerful and can provide anything from a simple component to a full self-contained api module. This talk will showcase some common module types in ColdBox, provide tools for quickly scaffolding shared modules, investigate testing modules (both with and without an embedded ColdBox application), and sharing your modules with the world.
Mentioned in this episode
- ColdBox module config file
- ColdBox Interceptors
- API versioning
- QB Query Builder
- All of Eric’s modules
- Postmark email module
- cbmodule Template
- Lucee CFML
- Travis Continuous Integration
- “For me participation in CF open source and conferences changed everything about seeing CF as alive vs dying” – Eric
- CF Slack Community
- Introducing ColdBox to a Legacy Application blog post by Brad Wood
And to continue learning how to make your ColdFusion apps more modern and alive, I encourage you to download our free ColdFusion Alive Best Practices Checklist.
Because… perhaps you are responsible for a mission-critical or revenue-generating CF application that you don’t trust 100%, where implementing new features is a painful ad-hoc process with slow turnaround even for simple requests.
What if you have no contingency plan for a sudden developer departure or a server outage? Perhaps every time a new freelancer works on your site, something breaks. Or your application availability, security, and reliability are poor.
And if you are depending on ColdFusion for your job, then you can’t afford to let your CF development methods die on the vine.
You’re making a high-stakes bet that everything is going to be OK using the same old app creation ways in that one language — forever.
All it would take is for your fellow CF developer to quit or for your CIO to decide to leave the (falsely) perceived sinking ship of CFML and you could lose everything—your project, your hard-won CF skills, and possibly even your job.
Luckily, there are a number of simple, logical steps you can take now to protect yourself from these obvious risks.
No Brainer ColdFusion Best Practices to Ensure You Thrive No Matter What Happens Next
Modern ColdFusion development best practices that reduce stress, inefficiency, project lifecycle costs while simultaneously increasing project velocity and innovation.
√ Easily create a consistent server architecture across development, testing, and production
√ A modern test environment to prevent bugs from spreading
√ Automated continuous integration tools that work well with CF
√ A portable development environment baked into your codebase… for free!
Learn about these and many more strategies in our free ColdFusion Alive Best Practices Checklist.
(* WWIT = What Would It Take)
Michael: Welcome back to the show. I'm here with Eric Peterson, and he is the module superman. He's written over 40 modules in ForgeBox and he's giving a talk … We're going to be talking today about modules make your projects have superpowers. He's giving a talk cf.Objective in a few weeks, and we're going to be looking at what exactly a module is and why you'd use modules, where you can find pre-written modules, how you can save time with them, and also you don't have to use them with ColdBox. You can use them with other frameworks so he's gonna talk about that. Also, we're gonna look at some of the ways you can use [inaudible 00:00:40], and putting together a query builder with modules, testing, and even how you could view the whole ColdBox framework itself as a module. If we have time we'll look about, because Eric only joined the ColdFusion community a few years ago, but he's been very prolific. So we'll talk about how it's different being a new ColdFusion developer versus a, how should we put this politely, the seasoned ColdFusion developer. So welcome Eric.
Eric: Thank you for having me on Michael, glad to be here.
Michael: Yeah, so what exactly is the module for folks who don't know what it is?
Eric: The easiest way to define the module, is probably to define it in terms in other communities. It's analogous to a Ruby Gem, or a WordPress plugin, or even a MPM package, if you know those languages. It's a self contained bundle of code, that can be reused across different projects, and even different platforms, like the web for ColdBox, or another framework, and even CommandBox on the Command Line.
Michael: Wow, you can even use it from the Command Line?
Eric: You can. I have a couple of examples where I used the same module on my website and in the Command Line with CommandBox.
Michael: And I guess the technical term here is encapsulated. The code is self-contained, doesn't depend on other stuff-
Michael: You can just plug it into your program, and away it goes and does what it's supposed to do.