Зная, просмотрел ли участник ветку - PullRequest
0 голосов
/ 08 мая 2011

Я работаю со стандартной системой сообщений / комментариев, где один участник пишет сообщение, а другие могут комментировать. Когда участник комментирует, он может выбрать получение уведомлений о любых новых комментариях - довольно стандартный материал.

Затем я отправляю электронные письма соответствующим участникам при отправке новых комментариев. В чем я хотел бы убедиться, так это в том, что я отправляю эти уведомления участникам, которые не просмотрели комментарии с момента отправки последнего комментария.

Если участник вошел в систему, то это легко. Но что делать, если участник не вошел в систему? Я думал о добавлении идентификатора участника и какого-то секретного ключа к ссылке, которую они получают в электронном письме, которое им отправлено - эти два метода объединены, я думаю, охватят более 95% случаев - но мне интересно знать если кто-то использует какой-нибудь действительно умный способ гарантировать, что он всегда фиксирует тот факт, что участник просмотрел сообщение и его комментарии - даже если они не вошли в систему? Я не понимаю, как можно охватить все сценарии.

Существуют ли какие-либо общие закономерности для такого рода проблем?

Для справки, у меня есть пакетное задание, которое выполняется каждые 5 минут для отправки уведомлений по электронной почте.

Спасибо

Джеймс.

Ответы [ 2 ]

1 голос
/ 08 мая 2011

Лучшее, что вы можете сделать, это сохранить «видимый» список привязанным к пользователю.Если этот пользователь не вошел в систему, вы можете попытаться идентифицировать пользователя с помощью cookie.Но если пользователь не идентифицирует себя с компьютера друга, а затем переходит на свой компьютер, вы не сможете установить соединение.Фактически, ваш пользователь может использовать два разных браузера, один вошел в систему, а другой нет.Вы не можете с уверенностью предположить, что это один и тот же человек.

Можно было бы объяснить эту проблему 5% в FAQ.

0 голосов
/ 08 мая 2011

Вы уже рассматривали возможность создания файла cookie?

viewerID={encode($someUniqueID)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...