Forum OpenACS Development: Re: group adding toggeling code

Collapse
Posted by Don Baccus on
Malte ...

"As callbacks so far are not on the to TIP list, I think adding it does not require a TIP"

Your attitude towards TIPs seems to be a very narrow, legal-minded one. "If it's not explicitly there, I don't need to TIP".

You need to think about WHY we TIP. We TIP to make sure that important issues are discussed openly by the leadership team, that changes are reported to people via the TIP forum, etc.

TIPs are an important COMMUNICATION TOOL. I wish you'd quit trying to find reasons NOT to TIP by trying to read that process in a most narrow-minded way possible.

We should probably rewrite the TIP process to make the addition of callbacks to core a mandatory TIP item, but, really, a callback DOES change core behavior. C'mon. Be reasonable.

If there's any doubt about whether or not something should be TIP'd - TIP!!!!

One first thing I'd probably suggest if you were to TIP is that we think about making this consistent for all datatypes dealing with parties.

In other words do it for relsegs, not just groups. We have one for new users, right? Let's be systematic and figure out where to add them and let's name them systematically, too.

Tom:

Our callback mechanism works well. Doing it in Tcl means we often can write db-independent code, while db triggers of course must be replicated in oracle and PG. We won't be adopting your query rewriter in ACS core AFAIK.

Collapse
Posted by Tom Jackson on
Don,

Please note that none of my suggestions require changing core code! Anyone can add a trigger, and they only have to write it for their client, not everyone.

Collapse
Posted by Malte Sussdorff on
Apparently we have a fundamentally different approach to callbacks. My goal is to keep the callback as narrowly applicable as needed, not to invite side effects by applications that might be unforeseeable.

But taking your suggestion, you would like to have callback in relation_add with object_id_one, object_id_two, rel_type and member_state.