Cotonti / Open Source PHP Content Management FrameworkContent Management Framework

Forumlar / Cotonti / Core Labs / In Progress / Cotonti Class Library

Rails? Symfony? Cotonti!

#1 2009-07-09 23:24
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.
May the Source be with you!
#2 2009-07-10 00:01
If i understood correct,youre making a plugin,which will have all common operation codes, and these codes could be used by other's just adjusting its pull out making the system work better and quicker.

Hm.I think that this is a great idea
[url=]KA13[/url] - The essence of creativity
#3 2009-07-10 00:13
No, it isn't a plugin. It is a bunch of classes for plugin/module developers.
May the Source be with you!
#4 2009-07-10 00:19
hm.i still think that this thing will be more comfortable.
[url=]KA13[/url] - The essence of creativity
#5 2009-07-10 00:55
Am I right in thinking this is aiming at object oriënted programming?
#6 2009-07-10 01:23
Yes, it is OOP.
May the Source be with you!
#7 2009-07-10 19:10
I'm VERY interested in it. :) Also I hope for a bit of documentation for it.
Also, will it completely overwrite the old plugins system?
#8 2009-07-10 19:14
Why would it - it's a class library. It's just made so that future plugin development can be done much much simpler and faster.
<a href="">Surreal Art</a>
#9 2009-07-11 20:00
I misunderstood a post a bit, but now that I downloaded the zipped file, I get the picture :-)
#10 2012-03-02 16:36

It's quite interesting theme for me, so I fresh up topic.

As a plugin developer I offen get in the same situation. For my needs I made module «MyLibs» as a dump shell for common tasks. I'd enchance it with addition functionality by adding new files to this module like:

And just make a simple call for certain submodule:

require_once cot_incfile('mylibs', 'module','files');


So, is there any CCL related news?
правильный хостинг —
#11 2012-03-02 17:33

CCL is pretty outdated by now. It's worth a decent rewrite, considering recent Gert's efforts with SimpleORM, changes in Siena and best ideas from other frameworks, still keeping it minimalistic.

There hasn't been much interest in it and I didn't have projects large enough to motivate me into rewriting it. But it'd be an interesting challenge.

May the Source be with you!
#12 2012-03-02 18:02

For custom module development which uses its own database tables, SimpleORM really makes things easy for you. It basically gives you a CRUD framework so it becomes much easier to store things in the database.

On my wishlist for SimpleORM is automatic parsing of JSON and XML responses, much like Ruby on Rails.