January 21st, 2010

  • andy

[livejournal] r16116: LJSV-878: overhaul of ESN

Committer: ailyin
LJSV-878: overhaul of ESN

Featured in this patch:

User-facing:
* old-style comment notifications are gone and are sent with ESN
* "someone replies to my comment" and "someone replies to my community entry" are now ESN events, so these can be delivered to Inbox, Jabber, etc.
* Subscriptions are not anymore mandatorily delivered to Inbox, with "I receive a new PM" being a notable exception
* It is possible for a maintainer to subscribe when a new comment is posted in their community; this requires for the community to be Paid.
* Provided a modern JavaScript-enabled browser, subscriptions can be removed with an AJAXy interface without page reload
* Only "tracking" subscriptions are counted towards the quota

Backend:
* LJ::subscribe_interface from weblib.pl is gone and has been replaced by LJ::Widget::SubscribeInterface
* LJ::Subscription::Group and LJ::Subscription::GroupSet are the new APIs for handling notification settings
* LJ::Event and LJ::Event::* classes can now return information about whether they should render at all, or render disabled, and which methods should
they should allow for

TODO:
* LJ::Widget::SubscribeInterface should be further adjusted by the Frontend team (hey there, nely_snork)
* Documentation
* Ensure that the logic here matches one in the spec
* Testing, testing, testing.

U   trunk/bin/upgrading/en.dat
U   trunk/cgi-bin/LJ/ESN.pm
U   trunk/cgi-bin/LJ/Event/Befriended.pm
U   trunk/cgi-bin/LJ/Event/Birthday.pm
A   trunk/cgi-bin/LJ/Event/CommentReply.pm
A   trunk/cgi-bin/LJ/Event/CommunityEntryReply.pm
U   trunk/cgi-bin/LJ/Event/CommunityInvite.pm
U   trunk/cgi-bin/LJ/Event/CommunityJoinApprove.pm
U   trunk/cgi-bin/LJ/Event/CommunityJoinReject.pm
U   trunk/cgi-bin/LJ/Event/CommunityJoinRequest.pm
U   trunk/cgi-bin/LJ/Event/Defriended.pm
U   trunk/cgi-bin/LJ/Event/InvitedFriendJoins.pm
U   trunk/cgi-bin/LJ/Event/JournalNewComment.pm
U   trunk/cgi-bin/LJ/Event/JournalNewEntry.pm
U   trunk/cgi-bin/LJ/Event/NewUserpic.pm
U   trunk/cgi-bin/LJ/Event/OfficialPost.pm
U   trunk/cgi-bin/LJ/Event/PollVote.pm
U   trunk/cgi-bin/LJ/Event/SecurityAttributeChanged.pm
U   trunk/cgi-bin/LJ/Event/UserMessageRecvd.pm
U   trunk/cgi-bin/LJ/Event/UserMessageSent.pm
U   trunk/cgi-bin/LJ/Event.pm
A   trunk/cgi-bin/LJ/Subscription/Group.pm
A   trunk/cgi-bin/LJ/Subscription/GroupSet.pm
A   trunk/cgi-bin/LJ/Subscription/QuotaError.pm
U   trunk/cgi-bin/LJ/Subscription.pm
A   trunk/cgi-bin/LJ/Widget/SubscribeInterface.pm
U   trunk/cgi-bin/LJ/Widget.pm
U   trunk/cgi-bin/redirect.dat
U   trunk/cgi-bin/talklib.pl
U   trunk/htdocs/js/esn.js
U   trunk/htdocs/manage/settings/index.bml
U   trunk/htdocs/manage/subscriptions/comments.bml
U   trunk/htdocs/manage/subscriptions/entry.bml
U   trunk/htdocs/manage/subscriptions/index.bml
U   trunk/htdocs/manage/subscriptions/user.bml
U   trunk/htdocs/stc/esn.css
Collapse )