The topic first came up on Reddit, but it’d be foolish to ignore our own previous forays into the area. There was, of course, the infamous flop of 2014 where we compared Wordpress to a framework—a new editor’s slip-up—and a further review of an actual framework inspired by Laravel but built on top of Wordpress: Themosis. Further, we published dozens of tutorials about both Drupal 7 and the new and completely revamped Drupal 8, covering everything from custom content types to stuff that has almost no relation to content or content management. Dozens of other CMSes were covered, too, to varying degrees of depth, most of them heavily customized by our authors for the needs of our audience.
So the question from Reddit beckons - at which point does a CMS stop being just a CMS, and becomes a framework? When does the line become so blurred as to make the CMS capable of powering any app that the developer thinks up?
In my opinion: never. Any framework which begins as a CMS will forever be constrained by the CMS and its original setup, habits, and paradigms. Sure, you can slap on an advanced DI container or a custom templating engine, even a scheduler or some additional packages that weren’t there before, you can even try to turn it into Laravel by literally building Laravel on top of it, but that CMS will never become a framework for as long as its cruddy CRUD powers what’s underneath.
That’s not to say the experience of the customization is a trivial matter - anyone who managed to turn the spaghetti of Wordpress or Drupal 7 into a highly customized setup for advanced applications that have little to nothing in common with the original purpose of the CMS is cool in my book. Heck, adding a DI container, a templating engine, autoloading, and a modern database abstraction layer into such a legacy CMS is no small feat, and I’d hire the developer asking the question in Reddit in heartbeat, but calling the heavily modified CMS a framework is where I’d draw the line.
What about you? Do you share my opinion on this matter? Or do you consider a sufficiently edited CMS to be a viable framework? Let us know!