Elevator Pitch
Comprehensive testing, automated deployment, local dev environments on demand. Can you add modern best practices to a 20 year old web application, that depends on a live database? Testing was the easy part, deployment and local dev environments were harder, but not impossible. Let us show you how.
Description
Formulize is a 20+ year old open source PHP/MySQL application, that stores configuration info in the database. The web server also writes files to disk in normal operation, making every installation unique. This presented some significant challenges for version control to support proper deployment, and for the ability to spin up local dev environments. Formulize also cannot be unit tested in the normal way, since it was never designed with that in mind, and the database layer really complicates things. Nonetheless, we now have a testing layer built into version control, and comprehensive version control of specific deployed instances, and automated deployment of code changes to any live system, and the ability to spin up a local copy of any system with just a few clicks. You can teach an old dog new tricks, and it really gives the dog a new lease on life.
Notes
Myself and Montreal-based developer Arvin Singla worked on adding these features to the Formulize open source project, so we know the problem space and solutions inside and out. I’ve also been working on the Formulize project since inception in 2004, so have a long perspective on the project and the benefits of this.