-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Daniel Quinlan writes:
> Michael Parker wrote:
> >> Which might be ok, but I can promise you that someone is going to go
> >> through and either rm init.pre or comment out every loadplugin line
> >> and then start asking questions about why their system isn't
> >> autolearning.
> 
> Losing autolearning if someone deletes init.pre is completely
> acceptable.  Autolearning *should* be optional and pluggable.  Making it
> pluggable allows people to experiment and try out other autolearning
> mechanism and I suspect we'll see some usage of the API soon.  ;-)
> 
> We could also add a new autolearn state like "notloaded".

That may indeed be a good idea, since this is now a new way
for people to screw up their configs ;)

> Theo Van Dinter <[EMAIL PROTECTED]> writes:
> 
> >> I think we should shoot for a goal of when all plugins are disabled
> >> the system should still do the right thing.  If that means that we at
> >> least provide a default inline that can be overridden by a plugin,
> >> then that is how we should do it.
> 
> Not autolearning if it has been disabled *is* the right thing.  Things
> work fine if autolearning is off.
> 
> Also, our current autolearning code does not improve results by that
> much in practice (which is why it needs to be revisited and other ways
> to autolearn to be explored).  See Gordon C.'s paper for those results.
> 
> > I'll provide a slightly different version: for code that people are
> > likely not to override (such as autolearning), we should probably just
> > have it be in the code by default and let plugins override as
> > necessary..
> 
> I disagree in this case, although I think there are probably some cases
> where things are likely to not be overridden.  Users are going to
> encounter plugins and they're now a major part of basic SpamAssassin
> functionality (much like Apache httpd, incidentally)

not a coincidence...

>, we should just
> document things well enough.  If people comment out stuff without
> thinking, then there's not too much we can do about it.

That's true.   init.pre is exactly analogous to httpd.conf; an Apache
install can be rendered thoroughly useless by turning off the wrong
plugins.

> For plugins that are likely to not be overridden, I'd be fine with
> splitting init.pre into two or more files, like:
> 
>   standard.pre
>   optional.pre
>   experimental.pre
> 
> or whatever.  That would go a long way to guiding people as to how
> seriously they need to think before commenting stuff out.

And, FWIW, I think I wrote the "pre" code to load all files that
end in ".pre", so this should work if we want that.

> Of course, I agree ** 100% ** that everything should work as in "not
> fail" if all plugins are commented out.  There might be a few cases
> where plugins have cross-dependencies, but we should make sure our code
> deals with those and acts appropriately (warn, die, dbg, or whatever,
> but *no* straight Perl interpreter errors!).
> 
> Also, putting a line next to the AutoLearnThreshold load line such as:
> 
> # at least one AutoLearn plugin needs to be loaded for autolearning to work
> 
> is more than enough to prevent a stupid commenting out.  If people just
> comment stuff out without thinking or delete init.pre, we can't save
> them.

OK, I agree with everything in this message ;)

- --j.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Exmh CVS

iD8DBQFB/r9DMJF5cimLx9ARAvKkAJwJ9pXdNHpGBdanCZsRwsRzWZN9sQCggoQn
DcAYHloban14xSGPq2dXvaU=
=25W7
-----END PGP SIGNATURE-----

Reply via email to