Back in May, on a whim, I took an old CMS that I had worked on years ago and start playing around with its innards trying to make it work on a more modern foundation. The only goal was to help myself get back to a place where I enjoyed development. Play is important.
After two months, this CMS was completely rebuilt on top of the Laravel framework with a new underlying architecture, new template parser, updated database structure, and a new control panel design. Essentially, I took what was there and tore it down to studs before putting it on a new foundation so I could build it back up again.
Here we are at the end of September and I have continued adding and refining the application to get closer to the core of what I want a CMS to have. It's not complete yet, as I still have to work on how custom field types are added via Plugins and how file uploads will be handled. Two major aspects of a modern CMS to be sure, so they are on my list of required features for a minimum viable product.
However, it has reached the point where I have started sharing it with a few developers for them to peruse at their leisure. Nothing formal or structured, more of a "hey, look what I built". Along those lines, I have also built a quick and dirty demo server so those who are curious–but too busy to install a new web application–could have a gander as well.
The code is located on GitHub at artificery/kilvin and I have already added it to Packagist as well. The KilvinCMS.com website is simply the GitHub Repo's readme file, so it is rather basic right now. Once I am satisfied with how field types are implemented, I intend to begin work on the documentation.
For those interested in third party development, I suggest looking at the Groot plugin to see an example plugin I have been building during my development. There is also an examples Twig template that shows the initial templating tags, which can be viewed live on the demo server.
I cannot emphasize strongly enough how this application is barely in the alpha testing phase of development. My task list is still a page long with more than a little code left to write. Also, automated testing is not yet in place, which is an important aspect of any serious open source project.
Still, it's getting there. It's been about 275 hours of work so far with at least another 30-50 to get it to a beta status. Even with a new, full-time contract job starting tomorrow, I am hoping that beta will happen sometime in October. Will keep you posted!