Forum OpenACS Improvement Proposals (TIPs): Re: TIP #95 (proposed): Rewrite acs-mail-lite to make it aware that we send emails to parties
Yes, it's a kernel datamodel change, but one without consequence for upgrade scripts, i.e. a user_id is guaranteed to point to a person object, which itself points to a party object. So any user_id currently in the acs-mail-lite tables (say unsent mail) will be guaranteed to not fail a change of the constrataint to party_id.
And client code that searches for (say) a set of users and spams them will still work. In other words, there's no reason for client code to make use of the additional flexibility if the author doesn't care to. The change will be transparent to such code.
Of course, along with making your change, you need to write upgrade scripts for both Postgres and Oracle and to make sure they're tested (potentially a hassle if you don't have Oracle convenient).
And you need to test to make sure there aren't other code dependencies, i.e. in select queries or Tcl code within acs-mail-lite, that depends on the users table ...