Forum OpenACS Development: Re: Notes from OpenACS 6 Design Discussion in Heidelberg

Posted by C. R. Oldham on
<blockquote> - We want to reduce the usage of PL/SQL code so most
procedural logic for OpenACS objects will be in Tcl
code. This will speed up development, reduce code
duplication and ease upgrades.

Maybe it was outside the original scope of OpenACS, but having all the PL/SQL code in the database means that if you have to interface with the datamodel *outside* of OpenACS for whatever reason, you can.

Now in this day and age of XML-RPC and Web Services maybe this isn't an issue anymore, but it still seems that it will be easier to interface legacy systems through the PL/SQL layer rather than the Tcl layer.

Posted by Jeff Davis on
One idea was to autogenerate the methods for new and delete etc that are almost entirely boilerplate anyway or to use the views + rules (like CR uses) for that. As it stands most of the packages don't implement much more than that anyway and having to write those by hand was the sort of thing we wanted to dispense with.

You would make creating an object type declaratory and the requisite tables, plpgsql, and views would be created from that (and lest anyone think this is to ambitious I would point out the CR already implements exactly this but only for CR derived object types).