I maintain a website for a non-prophet organization on a free (as in free speech and in free beer) host. But it is a royal pain. Every page is hand crafted html (not by me, but the previous guy). I made some changes over time to make maintenance easier. Like:
- Built an events manager system. People in the organization can log in and post events. The current events are linked out of a sidebar. The events people use this, and all is good. All the detailed info is writ to a dedicated events page by php.
- Built a library database and manager so that would be one more thing I don’t have to hand edit (org has 150+ books and acquires more regularly). Librarian does not use this. Library list is easily a year out of date.
- Built a navigation system so if pages are added or re-organized, I can edit a single php hash instead of every page. Nav menus are now php-generated. This required converting every page (over 60) to .php from .html, and hand editting vast amounts of variable handmade code just to #include the module and call the generator function.
- Built an upload handler for newsletters. Our Newsletter Editor now logs in, uploads newsletter. The newsletter is parked where it needs to be and a link to it is auto-generated. Yay.
- There were other mass changes but only to clean up code and restyle the site.
Sure, all this stuff does not represent a huge amount of work, but it does take time. When as a volunteer you can only commit a few scattered hours here and there, stuff happens at a glacial pace. We really need something better. A nice CMS.
Unfortunately, free as in beer = PHP version 5.1.6, released in 2006. No CMS works on this. No frameworks either. Not even CodeIgniter which is designed to be antique-friendly (to a point, and 5.1.6 isn’t it). I had pretty much given up finding anything of help. And with so little time, just doing simple hand edits is stressing since I know what is possible out there. Its looking very much like we have to pay for hosting. Such is life, but then there is the issue of all the setup and porting all the content. Depressing is a word to describe it.
Today, I was looking for a templating engine for PHP that is modelled on Django for a personal project. I wanted to use it for CodeIgniter. I do Django at work and love the template system. In searching for something related at work, I had found such an animal. But that info is at work, so I did the Google search thing.
And found h2o-php which was not the one I remembered. Yet worth a look. And there under Dependencies: PHP 5.1 +. By the noodle of the Flying Spaghetti Monster, I have found something usable on the free host.
A quick scan tells me I can cobble together code enough to make a quick and dirty framework, extend the database, add some CMS elements, and put off paying for hosting for a while longer. And the content porting will be trivial for the most part. I can design for soaking up content from the current site as-is.
A templating system is not a framework. But it is a critical part of one (unless you love punishment). Doing the rest of what I need is going to be a nice spare-time project.