Forum OpenACS Q&A: Response to What should be included in OACS 4.6

Collapse
Posted by Jun Yamog on
Hi Don,

Yes streamlining the data model.  I am not thinking of revamping it drastically.  Maybe it just the way we got it from aD.  There are concepts of inheritance, objects, blah blah blah.  Its too object oriented thinking that makes sense on Java not Tcl.  But I think we should go away from that thinking and concept.  Like a cr_revision inherits from cr_items which inherits from acs_objects.  That's just cr_revisions is related to cr_items which is related to acs_objects. That way we can also remove some objects on acs_objects because there is no relation needed.  Why would you need to put an acs_object for a cr_item and cr_revision?  Does not make sense if you think relational.  They are related anyway... so join/relate them.

Maybe if we think more relational we can streamline the data model that suited for aolserver and tcl.  We can probably market the toolkit as tried and true solution, using relational model which has been tested for over 30 years.  Ofcourse that may have a side effect of being a unsexy platform.  But I think currently we are unsexy but sure kicks butt.  I hope some marketing guys can help out on this if this is a good choice.

Im sorry if I keep on bringing up CCM but somehow I am bound to compare them with OACS since am working on both.  Well in CCM they use Persistence Data Layer.  This is to simplify the complexity of the data model underneath so that other developers may not be aware of this.  Do you think SQL and relational model is hard to understand?  I think its one of the easist data modeling to understand.  But it will get difficult if we move away from the very essense of relational data model.

I am not saying the current data model sucks, I think its great.  But we can make it greater if we streamline it with the thinking of relational not object oriented.  Of course a lot of the community members has to agree on this.  This just my opinion.

About moving more code from PL/SQL to tcl that would be good if it makes sense.  Because less PL/SQL means less effort in porting.  CCM already tries to do this.  There are less than 10 PL/SQL on the core data model.  But PL/SQL makes sense too since its faster and more simple and I don't want to fatten Tcl.  Since is mean to be glue.  So I guess I don't have much opinion this.

What I mean about more Tcl api on db stuff it that move the sql calls from www/tcl to tcl.  That should make www more simple for beginner developers.  Plus the fact advance developers will logically think of making their sql reusable.