Clay Framework Status Update

I’ve been working (on and off) on a PHP 5 framework since around August ’08. One of the its strengths is being light-weight with very little overhead. Over the last several months I’ve analyzed my choices thus far, searching for ways to make Clay better and keep it slim.

Creole Integration

My original intent was to create a small abstraction layer for MySQL and leave the holes to fill in for other database backends. The DBAL I created works well, but does not compensate for differences between the various databases within its API. I foresee that issue to be a barrier between developers who have a database preference, as most do, and have decided to move in a different direction. Although Creole is a “dead” project (as noted on their website late last year), it is very powerful, light-weight, and stable (permanently). I’m sad the developers are leaving it behind, but it offers us an opportunity to build upon their work and continue it as it serves us best. Creole integration is almost complete, it should be finished this weekend.

API Handling

Clay currently supports APIs from modules and applications to be called dynamically from anywhere within the famework. One of the changes I’m working on will separate the APIs from other segments within a particule component. In plain English, if a component named Publisher contains the segments News, Blogs, and Documents, then the APIs for those segments would all be located in folder named API. Originally the APIs were located in the segment folder, which made it difficult to quickly know the APIs available for that component.

Minimalizing Legacy Support

As Clay grows over time and matures, I don’t want it to become bloated with legacy support for previous editions. One of the project’s goals is to design Clay so that standards are in place to mediate between the framework’s various components (currently modules and applications). Those standards should minimalize the affects of changes during a version’s lifetime and promote innovation for future editions. I believe innovation shouldn’t be cut short to compensate for present/past conventions or mistakes.

Project Hosting

Clay as a project is currently hosted on Google Code/Groups. I’m considering moving it to SourceForge or someplace similar. Google is a little too loosely coupled for our needs. I’ll continue using Google for the time being, but will likely move the project elsewhere shortly before our first milestone release.

I have more to talk about, but I should get back to working on Clay :) I’ll post updates as time allows and let you know where the project stands. Hopefully I’ll deem it release worthy before too long…

Tags: , , , ,

Leave a Comment