django-notification & django-mailer как они работают вместе?

Я рассматриваю возможность реализации некоторых уведомлений по электронной почте в своем приложении. И Django-notification, и Django-mailer выглядят уместно.
Я читаю документы и пытаюсь понять, как они работают вместе.

из документации: http://code.google.com/p/django-mailer/#Sample_Use_Cases

django-mailer не должен управлять реальными подписками на события. Рассмотрим вариант использования «новый ответ на ветку доски объявлений». Весь сайт должен будет отслеживать, какие пользователи подписались на какие потоки, а затем, когда поток обновляется, django-mailer будет предложено отправить одно и то же сообщение этому списку пользователей. Но приложение django-notification должно отслеживать, какие пользователи подписались на какие потоки и аналогичные варианты использования.

Учитывая этот сценарий, я не понимаю последнюю строку. Как вы используете django-notification, чтобы отслеживать, какие пользователи подписаны на какие темы?
API для django-notification
https://github.com/jtauber/django-notification/blob/master/docs/usage.txt

делает вид, что вы можете использовать django-notification для
- определения типов уведомлений
- выполнения таких действий, как send_now, очередь и отправка

но здесь нет ничего, что указывало бы на то, как я буду подписывать пользователей в описанном случае использования.
Во-вторых, в описанном сценарии, как django mailer узнает, что отправлять? он повторно использует определения из приложения уведомлений? похоже, что и почтовая программа, и уведомление реализуют функцию «отправить»....

Может ли кто-нибудь помочь мне понять это лучше?


person w--    schedule 16.10.2011    source источник


Ответы (1)


Уведомление Django направлено на то, чтобы позволить пользователям определять, как они уведомляются о различных типах «событий». Например, когда новый пользователь присоединяется к сайту, приложение «регистрация» может создать уведомление и отправить его всем пользователям сайта. Затем, в зависимости от настройки уведомления каждого пользователя (какие пользователи могут изменить), система уведомлений будет выбирать, как доставить это уведомление конкретному пользователю. Оно может быть доставлено по электронной почте, смс (требуется расширение системы уведомлений) или просто на самом сайте. Как правило, при запуске syncdb различные приложения (например, приложение регистрации) создают уникальные типы уведомлений, которые они будут использовать. Например, регистрация может иметь как тип уведомления "новый пользователь", так и тип уведомления "деактивация пользователя". Затем пользователь на своей странице настроек уведомлений может указать, хотят ли они получать уведомления такого типа по электронной почте (или, возможно, по смс).

Django-mailer — это просто система для доставки электронной почты. Его можно использовать в любом приложении. Приложение django-notification может использовать его для отправки электронных писем, или приложение «регистрации» может использовать его для отправки электронного письма с подтверждением (которое не проходит через систему уведомлений).

На мой взгляд, если бы у вас было приложение для форума, оно бы отслеживало, какие пользователи подписаны на какие форумы, и соответственно генерировало бы уведомления. Приложение для комментариев. будет отслеживать, какие пользователи прокомментировали какие элементы, и соответственно генерировать уведомления для пользователей. Итак, повторюсь. «Отдельные» приложения генерируют уведомления. Приложение уведомлений отправляет уведомления в зависимости от индивидуальных настроек. Почтовая программа обрабатывает отправку электронной почты (которая может быть сгенерирована или не сгенерирована приложением для уведомлений).

person mtnpaul    schedule 22.12.2011