| Summary | Delete Vacation DB on Disable |
| Queue | Ingo |
| Queue Version | 1.0.1 |
| Type | Enhancement |
| State | Rejected |
| Priority | 2. Medium |
| Owners | Ben Chavet <ben (at) horde (dot) org> |
| Requester | lecaptainc (at) itol (dot) com |
| Created | 04/01/2005 (1136 days ago) |
| Due | |
| Updated | 12/28/2007 (135 days ago) |
| Assigned | 10/23/2005 (931 days ago) |
| Resolved | 12/28/2007 (135 days ago) |
| Attachments | |
| Milestone | |
| Patch |
State ⇒ Rejected
Ben's explanation makes sense to me and this has been sitting for two years. Rejecting.Ah, I see what you are saying now. The following lines of the generated script handle deleting an old database:
5: FILEDATE=`ls -lcn --time-style=+%s 'vacation.test@ben.chavet.net' | awk '{ print $6 + (604800) }'`
6: DATE=`date +%s`
7: DUMMY=`test $FILEDATE -le $DATE && rm 'vacation.test@ben.chavet.net'`
The database is deleted if it was created more than X days ago, where X is the user-defined "Number of days between vacation replies" on the vacation form. So, re-enabling the vacation script will result in a new database if it has been more than X days since it was created.
So, this functionality isn't exactly obvous from the user's perspective. But if we hide the database files, it should just be a transparent thing that "just works" for the user.
The only potential problem I can see with this is if the user chooses some insanely large number of days to keep the database.
That's fine, but that doesn't really resolve the problem, the vacation DB would still exist afterward and wouldn't be emptied for the next time the vacation message is created, giving us the same problem, or am I getting this completely wrong?State ⇒ Feedback
I don't know if I'm comfortable with deleting files that ingo doesn't directly generate. What if we were to modify the script to put the vacation cache in a hidden directory or hidden file? Something like:
.vacation/username1@example.com
or
.vacation.username2@example.com
I'm personally in favor of the first one.
State ⇒ Assigned
Currently I'm using the 'prefs' driver, which is then using a vfs driver:
It does work, it writes the .procmailrc script just fine, and the vacation database shows up, it's just not deleted when I choose to disable the vacation message in Ingo.
backends.php:
$backends['procmail'] = array(
'driver' => 'vfs',
'preferred' => 'domain.com',
'hordeauth' => true,
'params' => array(
'hostspec' => 'ftp.domain.com',
'procmailrc' => '.procmailrc',
'port' => 21,
'vfstype' => 'ftp'
),
'script' => 'procmail',
'scriptparams' => array(
// What path style does the IMAP server use ['mbox'|'maildir']?
'path_style' => 'mbox',
'variables' => array(
// Example for the $PATH variable
// 'PATH' => '/usr/bin'
)
)
);
State ⇒ Feedback
Which driver are you using? I don't think any driver we currently have supports that.State ⇒ New
Priority ⇒ 2. Medium
Type ⇒ Enhancement
Summary ⇒ Delete Vacation DB on Disable
Queue ⇒ Ingo
Currently, when I enable a vacation message, it creates a database of users that have gotten the vacation message from me, so as not to spam the person. When you disable the message, the database of users isn't deleted, it remains. On disable, give an option to delete the database?