New version is up!
Ah! After some much needed tweaking a newer version of the CMS is up, and daveho.com is back online. While there doesn’t seem like many changes (in fact no UI changes have occurred at all), I have done a bunch of backend stuff:
- The page classes have been tightened up.
- While not a true OO system (since my host is only on PHP 4.x), there is a more object-oriented feel. Configuration settings are now kept in objects rather than arrays.
- I now only open one DB connection and pass it (properly) by reference amongst objects.
- Fixed some date formatting and comparison functions.
- Added a few new helper functions for formatting, and I have a nifty function to simulate a .NET Command object ExecuteScalar (like a “mysql_scalar()” function – handy for popping out single values from the database).
- Finally fixed the job runner and the RSS feed cutter
- Added static files class for file-handling
- Reworked the folder structure and some naming conventions. Unfortunately has the side effect of messing a bunch of pages up, but is a better configuration in my opinion.
- Added some more content options. Also added a “short name” feature which can replace the cryptic id parameters in the querystring of content items with a name value (so if a page is titled “My Trip”, I can reference it with page=my_trip and get the page). Should help with sending links and bookmarking.
- Built a caching system. Now I can cut the guts of a page and store it in the filesystem, rather than calling the DB for the contents. I do a check, and if there’s a cache file, I include it. If not, I run the regular routine and then cut a file. It can handle pages that are blocked by role as well.
So that’s a bunch of work right there. But now I have a new list of things I need to get done to finish off this release:
- Fix the niggly bugs that are probably definitely going to show up.
- Trying to figure out a good cross-platform way of determining the root physical file path so I can set it dynamically. I gave up this round and just hard-coded it, but this CMS can’t be too flexible if I have to have too many hardcoded bits.
- Need a cache manager script that I can run on my passive job timer (like my RSS cutter)
- Add a global short names option (so I can use short names in the navigation)
- Add caching for the navigation (it still has a bunch of DB calls – adding a menu cache would really speed up pages).
- Currently working on a Flash interface. Building complimentary PHP and AS class implementations so I can exchange data between the CMS and a Flash front end.
Lots o’ stuff. And there’s always lots to do…
ADDED: Fixed some little things, like date comparisons that weren’t working, and a problem with my blog XML having formatting problems (that was the problem Squig). Also got my menus caching too! Schweet!