I've been developing Seditio/Cotonti plugins for a few years and I have noticed that many things are common from one plugin to another. To stop duplicating code and making life a bit easier I started Cotonti Class Library - a set of rich Model-View-Controller classes built on top of Cotonti.
I did not go so far as Groovy/Rails/Symfony developers and just started automating common things instead of reinventing the way the engine works. On the Model side you still need SQL schema scripts which is followed by dynamic PHP structure (an SQL parser would help to avoid the PHP code generation though). On the View end it's XTemplate and nothing else. So CCL is mostly Controller logic on its own.
What CCL is designed for is to develop modules/plugins easier by inheriting common features/behavior from common classes. The closer to default behavior is, the smaller the code is (in some cases it may be just 1 line). All you need to do is to describe data structure and overload domain units for your application.
Currently CCL is very incomplete draft implementation, although I have completed quite a big project with it. You can download ccl-0.0.1
. The package contains the class library, code reference and a very simple example plugin called "golb". It has loads of bugs (because originally it was used in a different environment and was not designed for use in plugins) but I hope it gives you an idea what CCL is.
What I want to know is if there is enough interest for such a library. It's a big thing which I hardly can do alone.