[BlueOnyx:11404] Re: Fund-raising for a modern BlueOnyx theme

Michael Stauber mstauber at blueonyx.it
Tue Sep 25 04:47:40 -05 2012


Hi Tjerk,

> I understand it would be a lot of work because that's basically the whole
> system.

Yeah, it's at least similar to a brain surgery.

> EAV is great but maybe a little bit of overkill for the amount of data. One
> could also do with a table of properties I guess. 

Yeah, the tricky part here is this: CODB stores "Objects" of certain
types and their structure is defined on the fly by XML files. As soon as
a schema files is changed, the structure of all objects of this type
also changes.

All objects can also have sub-objects. For example an object of the type
"Vsite" has the sub-objects "Shell", "SSL", "FTPNONADMIN", "subdomains",
"AnonFTP", "CGI" and "PHP".

When you delete a Vsite object, the sub-object related to it are also
deleted automatically.

It's quite difficult to do this with "straight" MySQL and EAV might help
with that, as it grants us some more leeway with the structure of the
MySQL tables. But that's just the storage end. It would still be
required to replicate the mechanisms that automatically create or update
MySQL database tables based on the XML schema files. Part of that is
handled by the interface between CCE and CODB, which also deals with
triggering handlers on certain database events as defined in config files.

One example of such an event is: When an object of type "Vsite" is
created or updated, run this handler. When it is deleted, run another
handler instead. You can even fine tune the behavior and can say: If the
data field "webserveralias" in a "Vsite" object is modified, then run an
entirely other handler instead.

> But let's just forget about that for now.

Yeah. It'll remain on the to-do list and eventually we'll get it done, too.

-- 
With best regards

Michael Stauber



More information about the Blueonyx mailing list