6.0.0-git
2019-03-23

[#4938] Sponsored bounty for timed vacation messages
Summary Sponsored bounty for timed vacation messages
Queue Ingo
Queue Version HEAD
Type Enhancement
State Resolved
Priority 1. Low
Owners
Requester gentz (at) equinux (dot) de
Created 2007-01-24 (4441 days ago)
Due
Updated 2007-04-16 (4359 days ago)
Assigned
Resolved 2007-04-16 (4359 days ago)
Milestone
Patch Yes

History
2007-04-16 14:22:24 Chuck Hagenbuch Comment #25
State ⇒ Resolved
Reply to this comment
Alright, it's all committed. Thanks!
2007-04-16 13:37:36 groente (at) puscii (dot) nl Comment #24 Reply to this comment
I've got this just about cleaned up and ready to be committed, but
what are the hardcode timestamp and year/month/day values supposed to
be in the Sieve_Action_Vacation constructor?
oops, those were testing values that get overwritten once you actually 
do something with the script. i just used them as i started coding on 
the backend.. they no longer serve any purpose and can safely be 
replaced with ''.
2007-04-16 02:57:38 Chuck Hagenbuch Comment #23 Reply to this comment
I've got this just about cleaned up and ready to be committed, but 
what are the hardcode timestamp and year/month/day values supposed to 
be in the Sieve_Action_Vacation constructor?
2007-04-15 22:30:19 Chuck Hagenbuch Deleted Original Message
 
2007-04-15 21:44:59 groente (at) puscii (dot) nl Comment #22
New Attachment: new[1].patch Download
Reply to this comment
See feedback from personal mail.
right, cleaned up the whole list of $vars->get now.
2007-04-15 21:21:39 Chuck Hagenbuch Comment #21 Reply to this comment
See feedback from personal mail.
2007-04-15 20:36:47 groente (at) puscii (dot) nl Comment #20
New Attachment: new.patch
Reply to this comment
okay, stuff is cleaned up a bit now, the Horde-Date thing definately 
improves things! (wish i'd noticed that one earlier instead of 
re-inventing the wheel). thanks for the feedback.
2007-04-12 04:03:09 Chuck Hagenbuch Deleted Original Message
 
2007-04-12 04:03:02 Chuck Hagenbuch Comment #19 Reply to this comment
Btw, please only worry about the HEAD version for these cleanups - 
it'll all get merged to stable from HEAD later, and the bounty will be 
complete once it's in HEAD. You can maintain the stable patch for the 
requester separately if you/they want though, of course.
2007-04-12 04:02:04 Chuck Hagenbuch Comment #18 Reply to this comment
I'm ready to commit this patch if it's cleaned up a bit. First, please 
have a look through horde/docs/CODING_STANDARDS. Second, you can use 
Horde_Form much better in a few places - for instance, it'd be much 
nicer to have a Horde_Date object for the start/end times, and to set 
it with a monthdayyear Horde_Form type (with a pop-up date picker), 
rather than the multiple accessors for year/month/day you currently 
have.



- you should use $form->getInfo() so that you're not accessing $vars 
directly to get the submitted values



- use PHP features, like using strtotime('-1 day') rather than 
subtracting a fixed number of seconds from time(). Also on that line 
you can do $start = $end = ...



- no need to assign the result of $form->addVariable(...) to a 
variable unless you're actually going to do something with it.



There might be a few other things but that should be most of it. Thanks!
2007-03-12 19:19:34 Chuck Hagenbuch Comment #17 Reply to this comment
Great, keep us all updated!
2007-03-12 10:12:25 gentz (at) equinux (dot) de Comment #16 Reply to this comment
Any feedback yet from the requester?
So far it looks very good. We have not tested the functionality in 
real life yet, though.
2007-03-12 00:20:50 Chuck Hagenbuch Comment #15
State ⇒ Feedback
Reply to this comment
Any feedback yet from the requester? Also, I'm very interested to see 
the global cron stuff.



Thanks!
2007-03-12 00:20:13 Chuck Hagenbuch Deleted Original Message
 
2007-03-12 00:19:01 Chuck Hagenbuch Deleted Original Message
 
2007-03-12 00:18:54 Chuck Hagenbuch Deleted Original Message
 
2007-03-08 14:50:23 lichtinger (at) equinux (dot) de Comment #14 Reply to this comment
fixed another bug in the sieve script.
I tested the patch on MacOS X 10.4 Server and it works.
2007-03-08 10:40:12 groente (at) puscii (dot) nl Comment #13
New Attachment: cvs[1].patch Download
Reply to this comment
and a somewhat cleaned up patch for cvs, with functional procmail



not that the sieve script can be cleaned up quite a lot once the date 
extension to sieve

(http://tools.ietf.org/html/draft-freed-sieve-date-index-00) is 
commonly implemented.
2007-03-08 10:25:26 groente (at) puscii (dot) nl Comment #12
New Attachment: stable[1].patch Download
Reply to this comment
fixed another bug in the sieve script.
2007-03-07 20:28:00 groente (at) puscii (dot) nl Comment #11
New Attachment: stable.patch
Reply to this comment
sieve on OS X didn't like my regexps, so here's a new patch for h3-1.1.2

new patches for cvs fill follow, some more tidying up can be done there.
2007-03-07 17:28:09 x3n (at) molinier (dot) eu Comment #10 Reply to this comment
I'm working for few days now an a more generic CRON fuction for Horde. 
Actually I'm about to provide a cron backend that can run tasks on 
schedule. A script must be called by the CRON, and then a kind of 
internal cron system is running to get tasks that must be executed.



Up to now, I'have focused my efforts on making the backend working. 
There is a class to can add/store/delete a job (thanks to the datatree 
system). And the other side, there is a script that checks all tasks 
and executes those that need to be.



I'm planning to implement pretty soon, the first real application with 
Ingo. Vacation is a godd idea, but I was thinking enabling this 
functionnality for each rule, because, it's can be nice to redirect 
your office-mail on your home-mail by the evening, or the week-end. 
You can also change your spam filtering configuration during day and 
the night.



I think that implementing a generic CRON backend will be much more 
usefull than simply answering your bounty. I'm thinking about imp and 
it's maintenance tasks that could executed automatically... The main 
problem for all this is the authentication... I'm not be sur being 
able to handle this problem in all cases (authencation with third app 
w/o Admin password, for example...)



Best regards
2007-03-06 17:13:03 groente (at) puscii (dot) nl Comment #9
New Attachment: cvs.patch
Reply to this comment
and a patchfile for CVS, although procmail seems totally broken
2007-03-06 14:14:08 groente (at) puscii (dot) nl Comment #8
New Attachment: ingo_patches.tar.gz
Reply to this comment
These patches to ingo-h3-1.1.2 implement a filter rule for spam and 
timed vacation without the need for an external cron script. This 
works for both procmail and sieve.
2007-02-07 17:44:58 Jan Schneider Comment #7
State ⇒ Accepted
Reply to this comment
I have added this is a bounty, please use the bounty page for sponsoring.
2007-01-29 19:30:44 gentz (at) equinux (dot) de Comment #6 Reply to this comment
We're aware of these potential problems but do not think that they are 
major. In fact we have very good experience with a different mail 
server system that offers timed vacation functionality. It was 
introduced because 90% of the users forgot about deactivating the 
notice after they come back to work. The users love the feature too, 
because they don't need to go through the process twice, once for 
enabling and once for disabling the notice.



The crontab problem is not really an issue because a proper server 
installation is always a prerequisite for proper operations. And of 
course, users can always opt to not change the notice automatically by 
leaving the start and end dates empty.
2007-01-25 11:06:26 Jan Schneider Comment #5 Reply to this comment
I'm still not sure if this is really a good idea, because it could 
cause all kind of problems. The UI can't know whether the cronjob is 
really enabled for example. So people would use that feature but it's 
never working. Or people have chosen to not automatically activate 
their changed rules. The cronjob would still do that without their 
interception.
2007-01-25 10:54:31 Jan Schneider Version ⇒ HEAD
Queue ⇒ Ingo
 
2007-01-25 09:27:21 gentz (at) equinux (dot) de Comment #4 Reply to this comment
Are you sure you want this in the Vacation module? The Sieve support
that you mention exists only in Ingo.
You are right. We need this functionality in Ingo. I mixed that up 
with the vacation functionality inside Ingo.
Beside that, please that this is only possible on backends that
create and activate rules by means of a single administration user.
You mean that a single "cyrus" user with global admin privileges is 
required? That would be fine.
2007-01-24 23:05:42 Jan Schneider Version ⇒ HEAD
 
2007-01-24 23:05:12 Jan Schneider Comment #3
State ⇒ Feedback
Priority ⇒ 1. Low
Reply to this comment
Are you sure you want this in the Vacation module? The Sieve support 
that you mention exists only in Ingo.

Beside that, please that this is only possible on backends that create 
and activate rules by means of a single administration user.
2007-01-24 18:32:01 gentz (at) equinux (dot) de Comment #2
New Attachment: 10+equinux_logo_emboss_lores.jpg
Reply to this comment
You're invited to add this to your list of bounties. If you'd like to 
add our logo, I have it attached.

[Show Quoted Text - 14 lines]
2007-01-24 18:28:27 gentz (at) equinux (dot) de Comment #1
Type ⇒ Enhancement
State ⇒ New
Priority ⇒ 3. High
Summary ⇒ Sponsored bounty for timed vacation messages
Queue ⇒ Vacation
Reply to this comment
equinux is sponsoring a bounty of US 200$ for implementing the 
following enhancements to the vacation module:



- timed vacation messages: the UI should have date fields for begin 
and end of the vacation message, the implementation could be possible 
via two cron jobs running at 23:59 and 0:00 the first for disabling 
vacation msgs at the end date and the second for enabling at the start 
date.

- support to suppress vacation replies when the message is tagged as 
spam: This could be implemented easily by adding 'header :contains 
["X-Spam-Flag"] "YES"' to the sieve condition. The mentioned header is 
standard for amavisd(-new) which is very widespread and a lot of other 
Spam filter systems. Of course, a configuration option to configure 
the exact Spam-Header would be nice.

Saved Queries