Home
The Toolkit for Online Communities
15890 Community Members, 0 members online, 1959 visitors today
Log In Register

Forum OpenACS Improvement Proposals (TIPs): TIP #151: acs-kernel enhancements

OpenACS Home : Forums : OpenACS Improvement Proposals (TIPs) : TIP #151: acs-kernel enhancements

Icon of Envelope Request notifications

+
Posted by Don Baccus on
I wrote a prototype acs-object-management package that includes a fair number of enhancements to the kernel object model. Much of this is moving functionality from the content repository's create_type and related functions into acs-kernel's base object functionality, while of course maintaining the CR's API unchanged.

Changes include:

1. enhancing the abstract datatype model to include information on the underlying db datatype, specifying checking expressions (i.e. the infamous oracle check on char column for 't'/'f'), etc.

2. enhancing acs_object create_type and create_attribute functions to allow for the creation of the underlying database table and columns automatically, using abstract datatypes.

3. create standard views for new types, similar to what's done now for CR types (but named differently, to avoid clashing with CR views, which are based on a join of an item type and revision type). Backwards compatibility is maintained, of course.

A few more details.

In all cases, backward compatibility has been maintained as this is, of course, crucial. The changes have been used in a couple of projects already, and seem to work well.

This has been implemented in PG. Moving it into acs-kernel (currently, the upgrade to the kernel datamodel happens in the acs-object-management package itself) will require implementing the same changes in oracle, which I will do.

+
Posted by Emmanuelle Raffenne on
approve. that will save "silly work" (like doing 2 and 3 by hand each time a new type is created, hated that) and will improve consistency.
+
Posted by Michael Steigman on
approve
+
Posted by Ryan Gallimore on
approve