-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Malte S. Stretz writes:
> On Thursday 05 February 2004 23:24 CET Daniel Quinlan wrote:
> > Justin Mason <[EMAIL PROTECTED]> writes:
> > > We've already changed the API (NoMailAudit -> MessageParser). ;)
> >
> > Okay, I'll change my vote to a +1 if we can have a discussion about
> > renaming some other modules and making sure we're sure about the names.
>
> Read this list ;-)
>
> Especially that message called "Plans for 3.0?", written by me on
> 21.01.2004. Justin and Duncan already replied relatively positively. I'd
> went start to implement the stuff I suggested there in a few days in a
> branch anyway so you'd have noticed :-)
BTW I've been thinking about the proposed renaming of some of the major
"UI" modules -- in particular NoMailAudit -> MessageParser, and it's API
change in its constructor.
IMO, we *need* to keep compatibility on this. It's the main API used by
users of the perl modules, and I've just had to fix a third-party script
that used it; there's no easy way to support multiple versions of the
SpamAssassin modules without doing:
my $msg;
if ($Mail::SpamAssassin::VERSION > 2.69) {
$msg = new Mail::SpamAssassin::MessageParser ([EMAIL PROTECTED]);
} else {
$msg = new Mail::SpamAssassin::NoMailAudit (data => [EMAIL
PROTECTED]);
}
This is a very nasty thing to do for a public API. :(
So I recommend we either
1. keep NoMailAudit for the name of that module, and its API (preferred!)
2. add a NoMailAudit compatibility wrapper class (using the "facade"
pattern) which is used to wrap Mail::SpamAssassin::MessageParser.
Basically, this is the *main* public API for Mail::SpamAssassin.
Breaking it will cause a lot of pain for users.
Also -- another issue: the naming, MessageParser, is not appropriate
IMO. It seems good from our point of view from "inside" the product,
but for users of the Mail::SpamAssassin modules, it makes little
sense; they use that class as a message object, not as a message-parser
object. (it just performs message-parsing operations "behind the
scenes" for us.)
- --j.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
Comment: Exmh CVS
iD8DBQFAI9pGQTcbUG5Y7woRAmHAAJ926tXDfdi20kS4w9j71TvTDONyCQCeNL29
CglJ5ILexiE83Odc+Rfs754=
=PCqZ
-----END PGP SIGNATURE-----