Item8523: Work around clock skew
Priority: Enhancement
Current State: Closed
Released In:
Target Release: n/a
MailInContrib filters messages based on the current time and the message time. The idea is not to process messages that were already processed. Presumably this works rather well when clocks are synchronised.
Unfortunately, this is not the case in one particular organisation I provide wiki-support for. I have observed clock-skew of more than 5 minutes, and I would not be surprised at 10 minutes of clock-skew. The system seems to drop messages if the cronjob interval (set to 3 minutes, in my case) is less than the clock-skew. I have
MailInContrib set up to delete messages both onSuccess and onError, so I have no need to filter messages based on the receive-time at all.
I would like to suggest a new %Foswiki::cfg setting which disables filtering based on message time. This could be added to the mailbox description as
ignoreMessageTime
, which would allow control of message-filtering separately for each mailbox. The default value should be false, that messages are filtered based on message time, as is the current behaviour.
The following change would be required, in
MailInContrib.pm:
Change this:
if ( $received > $this->{lastMailIn} ) {
to this:
if ( $box->{ignoreMessageTime} or $received > $this->{lastMailIn} ) {
--
MichaelTempest - 14 Feb 2010
Excellent idea; please document it carefully, though, so it's not accidentally set when there is no other deleting mechanism enabled.
--
CrawfordCurrie - 15 Feb 2010
Done. It is documented in Config.spec. That is becoming rather unwieldy as the Contrib gains additional capabilities that are configured separately for each mailbox. Suggestions on how to improve it welcome :). I suggest the documentation could be cleaned up and restructured in a separate task, so I am closing this task.
--
MichaelTempest - 21 Feb 2010