Blog

Brad Wood

January 18, 2016

Spread the word


Share your thoughts

There are a lot of people out there in the CFML world managing legacy codebases.  Some of them use frameworks that are no longer maintained, and many  use no framework at all.  A common question that I get is whether an app can be slowly converted over to  ColdBox without having to rewrite everything at once.  The answer is YES!  ColdBox will comfortably live alongside your legacy code, giving you the chance to slowly convert it over as you get the chance.  

Since this has come up at conferences and in the CFML Slack team so often I created a demo app that shows legacy pages living alongside MVC as well as some tricks to even keep you old files in the URL even though the requests are being routed through a modern MVC framework.  This can be important for companies dealing with a lot of bookmarked pages out there.

The code is on GitHub here:

https://github.com/bdw429s/coldbox-legacy-app-demo

 To get this working sample app  up and running literally in seconds, even on a computer with no server installed, just grab CommandBox and run the following commands from the interactive shell:

mkdir coldbox-legacy-app-demo --cd
install bdw429s/coldbox-legacy-app-demo
server start

In a few seconds a browser window will open and you can click around through the menu items, reading the descriptions on each page that details how it works.  Then peruse through the small codebase to see how everything is set up.

There's many ways to set up ColdBox MVC inside your legacy application, and hopefully this sample app will give you some ideas and understanding to get underway.

 

Add Your Comment

Recent Entries

12 Days of BoxLang - Day 4: TestBox

12 Days of BoxLang - Day 4: TestBox

Today we’re celebrating one of the most exciting new additions to the BoxLang ecosystem:

the TestBox BoxLang CLI Runner — a fast, native way to run your TestBox tests directly through the BoxLang Runtime. ⚡

No server required. No CommandBox needed. Just pure, ultra-fast BoxLang-powered testing from the command lineon Windows, Mac, and Linux.

If you’re building modern applications with BoxLang — web apps, CLIs, serverless functions, Android apps, or OS-level utilities — this new feature gives you a unified, flexible testing workflow you can run anywhere.

Victor Campos
Victor Campos
December 13, 2025
12 days of BoxLang - Day 3: SocketBox!

12 days of BoxLang - Day 3: SocketBox!

As BoxLang continues evolving into a modern, high-performance, JVM-based runtime, real-time communication becomes essential for the applications we all want to build: dashboards, collaboration tools, notifications, live feeds, multiplayer features, and more.

That’s where SocketBox steps in — the WebSocket upgrade listener built to work seamlessly with CommandBox and the BoxLang MiniServer. ⚡

Today, for Day 3, we’re highlighting how SocketBox supercharges BoxLang development by giving you fast, flexible, and framework-agnostic WebSocket capabilities.

Maria Jose Herrera
Maria Jose Herrera
December 12, 2025
12 Days of BoxLang - Day 2: CommandBox

12 Days of BoxLang - Day 2: CommandBox

BoxLang + CommandBox: The Enterprise Engine Behind Your Deployments

For Day 2 of our 12 Days of Christmas series, we’re diving into one of the most powerful parts of the BoxLang ecosystem: CommandBox the defacto enterprise servlet deployment platform for BoxLang.

If BoxLang is the language powering your applications, CommandBox is the engine room behind it all. ⚙️

Victor Campos
Victor Campos
December 11, 2025