On Tue, 2008-02-26 at 14:27 +0100, christian bac wrote: > Le mardi 26 février 2008 à 22:42 +1100, Dave Hall a écrit : > > Hi all, > > > > > The ideas should be for generic API functionality which is useful across > > modules or a new feature for a module which should be attractive to a > > broad section of our user base. > > > > So start thinking and suggesting :) > > > for picoforge v2, I have writen a generic classe called sqltable that > manages any sqltable. > My first aim was to avoid errors in insert or select clauses, when one > asks for a bad field.
this is something that I have thought about for phpgw, but never got much further than the ideas phase. We already have a bad implementation of this is in eTemplates. > This sqltable, provides sql statements (select, insert) and other > methods like count. I had a look at it, a problem which lept out at me was that there didn't appear to be any support for joins. I think joins are becoming increasingly important with phpgw. Without them we have to make php do too much of the heavy lifting. > Soclasses then derives from this class, with a generic way of calling > function (see bits of code). > > Advantages: this is very simple to add a table and manage it with a > soclass, there is only one class to fix when there is a sql bug. Very true - the same could be said for a form builder, handle validation, security and rendering in 1 place :) > Potential problems: this class introduces an overhead due to the parsing > of parameters, it has only be tested with mysql even though it uses the > db class of phpgroupware. I think it should "automagically" handle escaping/casting based on the schema (or some other data source). This would help improve security. > Now an idea for a summer of code: try to integrate that generic class to > some soclasses in phpgroupware. I think that would work for a simple module - like say notes, but not something complex like say addressbook. I think something along the lines of improved db handling would be a worthwhile project, with some of the sqltable code being used as the basis for it. Cheers Dave _______________________________________________ phpGroupWare-developers mailing list [email protected] http://lists.gnu.org/mailman/listinfo/phpgroupware-developers
