Do not forget the *before render* and *after render* and workflow events. this is very useful triggers and are not related to database.
maybe it is more easy to implement in template engine. http://zerp.ly/rochacbruno Em 12/10/2011 10:24, "Massimo Di Pierro" <massimo.dipie...@gmail.com> escreveu: > So basically the events are associated to the table and only apply to > single record event. This reduces the scope and makes things simple. > But is this what other people are asking? > > On Oct 12, 12:18 am, guruyaya <guruy...@gmail.com> wrote: > > On Oct 12, 4:18 am, Massimo Di Pierro <massimo.dipie...@gmail.com> > > wrote: > > > > > As I said, the problem is not the names or when they should be called. > > > The problem is. What should be input and the output of each of these > > > functions? > > > > Whenever I'm in a problem with a full stack web framework, I think to > > myself "what would cakePHP do?" > > OK, that's really NOT the way you should think, but they did some job > > on the input and output of some of these functions (they don't have > > migrates, so the migration events I'd like to see, are not there), and > > we should learn from it: > > > > afterDelete( ) - cake API allows you delete only one row at the time, > > and it's data is part of the object delete is ran upon (like our > > delete_record() method). Retuens a void, but the object stil contain > > the deleted record. > > afterFind( $results, $primary = false ) - I'm not sure what primary > > means, but the results, contain a list of all results. Returns a list > > of modified results. > > afterSave( $created ) - The created row. This method runs on create > > and on update. When I worked with it, I really wanted 2 seperate > > functions. returns void. > > beforeDelete( $cascade = true ) - Again, has the data of the deleted > > record. The cascade is like to web2py recursive deletes. Returns a > > boolean that suggests wether delete should continue. > > beforeFind( $queryData ) = That's a bit more problematic for us. > > cakePHP has an array of all the joins and conditions, that can be used > > in $queryData. I'm not sure web2py has one we can create. But... what > > do I know? returns either boolean or modified query. > > beforeSave( $options ) - I have no idea what the options are, and I'm > > not sure I'm keen on exploring it. Returns true if save should > > continue, false if not. > > beforeValidate( $options ) - same as beforeSave > > > > beforeFilter and afterFilter - Well... I'm not sure how relevant it is > > for our case. This is where you find user auth logic. > > beforeRender() - This function is called, so you can change some vars > > before a view is presented. This one applies on a paticular controller > > (can be applied to all controllers using inharitance, but that's the > > way cake works, not really relevat to web2py). > > > > The cake API is not 100% relevant to web2py, but we can use it to get > > some idea how others solved it.