Участвую в разработке система, которая нотифицирует пользователей о событиях по email.
Заказчик указал в спецификации возможность задавать working days и business hours, таким образом ограничивая время приходя email только этими периодами. В принципе пользователи могут располагаться где угодно и указывают так-же еще и timezone.
Еще, одно сообщение может приходить нескольким пользователям, у которых все вышеобозначенные параметры могут быть абсолютно разными...
Ну в общем, система получается запутанная, с моей точки зрения неоправданно сложная.
Email — не тот способ нотификации о каких-то событиях которые требуют немедленного действия, он ненадежен (spam filters, etc.), люди сами ненадежны, они могут быть заняты в это время, да хоть целый день, какая разница когда придет письмо, до начала рабочего дня или вовремя.
Вот и интересует, не вдаваясь в дискуссии типа 'раз заказчик просит — делай', вообще щас такие интерфейсы где-нибудь в хорошо построенных продуманных системах используются или все-же делается по-простому — возникает событие, уведомляем немедленно?
Здравствуйте, seas, Вы писали:
S>Вот и интересует, не вдаваясь в дискуссии типа 'раз заказчик просит — делай', вообще щас такие интерфейсы где-нибудь в хорошо построенных продуманных системах используются или все-же делается по-простому — возникает событие, уведомляем немедленно?
Часто предусматривают два способа оповещения: Immediate и Digest.
Immediate — это как ты говоришь. Событие возникло — сразу отправляем сообщение.
Digest — это собираем для каждого пользователя события в кучку, а потом отправляем весь список одним письмом по заданному расписанию
Обычно, пользователю дают возможность выбрать вид оповещения. Расписание либо дают настроить относительно произвольно (типа как Reccurence в Outlook), либо дают возможность выбрать из нескольких вариантов: ежедневно, еженедельно, ежемесячно. Конкретика зависит от важности уведомлений, бывают ли уведомления разных типов, например, ошибки надо немедленно присылать, а уведомления — пачками.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Здравствуйте, seas, Вы писали:
S>Вот и интересует, не вдаваясь в дискуссии типа 'раз заказчик просит — делай', вообще щас такие интерфейсы где-нибудь в хорошо построенных продуманных системах используются или все-же делается по-простому — возникает событие, уведомляем немедленно?
Вообще говоря, совершенно не факт, что читать это письмо будут из аутлука. В качестве адреса может быть указан SMS-гейт или еще что-то; в таком случае желание заказчика избежать радостного трезвона под кроватью в три часа ночи понятно. Поэтому я бы все же рассмотрел реализацию в системе возможности задерживать отправку извещений, и использовал ее для инициации отправки только в указанные рабочие часы получателя.
1.1.4 stable rev. 510