I've got an idea for making the SpamAssassin configuration process more flexible, and I'd love to hear your suggestions and comments before I jump in and make a mess of the code ;-)
I'm in the process of deploying SpamAssassin on a distributed mail farm. The farm environment causes a number of headaches, many of which are solved by moving virtually all configuration into a SQL db. The existing ConfSourceSQL.pm module will let us do most of what we want. However, it doesn't let us completely configure the filter because the SQL is only consulted for non-privileged config options by default. I can easily hack the config to force the existing SQL module to pull all the configs, but I'd like to create a more elegant solution. Basically I'd like to move virtually all configuration to a new extensible factory object. The resulting config object would be dynamically customized to its environment via subclass selection. This would allow most users to continue using a traditional file-based config, but would let people with complex setups drop in, for example, a SQL-based config without having to change any code within the rest of SpamAssassin or its client programs. The client code would just ask the conf object questions and it would be up to the conf subclass to answer them. This model would let the same basic code base work with text files, SQL, LDAP, DBM, etc. The backend that got used would be easily configurable and could, potentially, even be changed on the fly. The complete description of the class structure and planned interaction with the config files is rather long, so I'll omit it for now. Is this model (or at least the flexibility it would provide) something that other people would find useful? If the general response is positive I'll be happy to implement the system and contribute it to the SpamAssassin project. Thanks! Richard Sonnen -- Richard Sonnen | Front Range Internet, Inc. [EMAIL PROTECTED] | www.frii.com [EMAIL PROTECTED] Web Programmer | 970-212-0731 800-935-6527 _______________________________________________ Spamassassin-talk mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/spamassassin-talk