On 14/10/10 10:32, Ed W wrote: > On 13/10/2010 08:43, Stephan Bosch wrote: >> Op 12-10-2010 5:47, Jerrale G schreef: >>> We have used the great managesieve you have merged together, with >>> sieve, to create pigeonhole. However, when a user creates a custom >>> script through a GUI of ours, the default, as we expected, would be >>> ignored. Maybe you could add a retain_sieve_global=yes|no setting OR >>> be more complex by having the sieve_global_dir copied to the users >>> sieve_dir on first managesieve script save, if another setting to do >>> this was set to yes. This way the administrators can create a >>> skeleton directory and the users can retain the default skeleton >>> settings. >> You could put the sieve directory with the default script in your >> skeleton. I'm not sure though what you need exactly. >> > > I think that's his point - how to do this economically with many users? > What if you want to update the global script later? > > I think all the replies so far misunderstand what he is saying. I think > he is describing a situation where he has say a slightly more than > trivial default script in the global directory, which takes effect when > the user has no "per user" script set. His problem is as soon as the > user creates their own "per user" script then the global script stops > being used. He might desire to say provide a standardised: Spam, Out of > office, etc set of filters, PLUS allow the user to add their own filters > - if later he wants to update the "standardised default script" for all > users then this gets complex using some of the possible solutions (eg > copying into the skel) > > So he is making the case that the user innocently adds one extra tiny > feature to the default config of his mailserver, but at that point all > the normal functionality also stops working... User is baffled, places > support call to find that they really need to create a much more complex > per user script including all the (previously) default stuff? > > Perhaps a workaround for his situation is for the global script to > include the per-user script? Does pigeon hole allow for this? In this > way the global script can run and then pass control over to the user > created script if it exists? > > Ed W >
I solved this by: sieve_global_dir=/etc/dovecot/sieve.d/ In file /etc/dovecot/sieve.d/global-spam.sieve, add your fancy stuff. Then, create for each user (and in the /etc/skel/ dir) a new default sieve file with content: ============== require ["include"]; # Everytime you remove this line, god kills a kitten include :global "global-spam.sieve"; # Add your own stuff here ============== The user can still shoot himself in the foot, but can add stuff to his own sieve file without killing all your hard work. -- Regards, Tom
signature.asc
Description: OpenPGP digital signature