Raul Dias writes: >On Fri, 2007-02-16 at 15:35 +0000, Justin Mason wrote: >> Theo Van Dinter writes: >> > I'm assuming that there will be a Google Summer of Code 2007 going on, and >> > that the ASF will be involved again. So it's a good time to start thinking >> > about things we'd like to put up as possible projects. >> > >> > We still have a number of items from last year that we could use again. >> > Anything else that we'd like people to code up? >> >> Also, any suggestions from outside the dev team? Anyone got good ideas >> for new SpamAssassin features that would be good to pay someone to work on >> for 3 months? >> >> --j. > >Not a direct improvement, but... > >- Add more hooks for plugins to let a broaded pluginization of SA. > e.g. letting plugins to load before parsing rules.
Is this not already possible? If not, it should be, agreed. For each case where you have a problem along these lines, feel free to open a bug at the bugzilla and we can get it fixed. Adding a plugin hook point is generally an easy task since it has very low overhead in most cases. >- Better documentation of intenal structures used. Avoid plugin authors > to break stuff. Again, shout if you run into problems -- we need to be prodded into action ;) >- "Class"inization of some structures to facilitate plugins reuse. Might be appropriate in some cases -- note that perl however (in common with other dynamic langs like Ruby, python etc.) tends not to use strictly-defined classes for many cases where C++ or Java would use a class, instead using a more simple, loosely-defined name->value hash or similar. It's a slightly different approach to code design. So it may not always be appropriate. ;) Of course, these loosely-defined hashes often need to be documented... >- The pluginization of SA. From Bayes to header, body, rawbody, score > rules. The entire process of doing so would open doors for more > external plugin usage and control. > >While this might bring a slightly slower startup. In the long run, the >bennefits can be great. Yeah, agreed. This one can be tricky though as there are a lot more details involved here ;) I think there's ongoing work to pluginize the whole concept of rule types -- eg. the entire body rule subsystem becomes just a plugin. It's not ready yet though, and I'm not sure how fast it's progressing... --j.