2011-05-08 4 views
0

한 회원이 게시물을 쓰고 다른 회원이 댓글을 작성할 수있는 표준 게시물/코멘트 시스템을 사용하고 있습니다. 회원이 의견을 말하면 새로운 의견에 대한 알림을 받기로 선택할 수 있습니다.회원이 스레드를 본지 알고있는 경우

그런 다음 새로운 의견이 제출되면 관련 회원에게 이메일을 발송합니다. 내가 확실하게하고 싶은 것은 이 마지막 코멘트가 제출 된 이후의 코멘트을 보지 않은 회원들에게 그 공지 사항을 보내고 있다는 것입니다.

회원이 로그인 한 경우 쉽습니다. 회원이 로그인하지 않았다면 어떨까요? 회원들의 ID와 일종의 비밀 키를 이메일에 포함 된 링크에 추가하는 방법에 대해 생각했습니다.이 두 가지 방법을 합치면 95 % 이상의 사례를 감당할 수있을 것입니다. 그러나 저는 알고 싶어합니다. 누구든지 회원이 게시물을 보았고 댓글을 달았다는 사실을 알 수있는 정말 영리한 방법을 사용하는 경우 - 로그인하지 않은 경우에도? 모든 시나리오를 다룰 수있는 방법을 알 수 없습니다.

이런 종류의 문제에 공통적 인 패턴이 있습니까?

참고로 알림 이메일을 발송하기 위해 매 5 분마다 실행되는 배치 작업이 있습니다.

고마워요,

제임스.

답변

1

'볼 수있는'목록을 사용자에게 묶어 두는 것이 가장 좋습니다. 이 사용자가 로그인하지 않은 경우 쿠키를 사용하여 사용자를 식별 할 수 있습니다. 그러나 사용자가 친구의 컴퓨터에서 자신을 식별하지 못하고 자신의 컴퓨터로 이동하면 연결하는 방법이 없습니다. 실제로 사용자는 두 가지 브라우저 (로그인 한 브라우저와 브라우저가 아닌 브라우저)를 사용할 수 있습니다. 이 사람이 같은 사람이라고 안전하게 추측 할 수는 없습니다.

FAQ에서이 5 % 문제를 설명 할 수 있습니다.

0

쿠키 생성을 이미 고려 했습니까?

viewerID={encode($someUniqueID)} 
+0

예 - 로그 아웃 한 후에도 쿠키를 식별 할 수있는 쿠키를 남겨 둘 예정입니다. 그러나 친구의 PC 나 모바일 등에서 보았을 때 그 사람을 식별 할 수있는 방법이 전혀 없다고 생각하는 것이 옳습니다. 쿠키가없는 기기/브라우저? – James

+0

Nope. 더 이상 원래 위치에 있지 않을 때 식별 할 수있는 것이 없습니다. 먼저 자신을 식별해야합니다. – elslooo

관련 문제