← Back to team overview

launchpad-dev team mailing list archive

Re: notifications - an implementation straw man (warning explicit discussion of services follows)

 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 11-11-28 01:49 AM, Robert Collins wrote:
> Imagine the following API (a strawman, I don't claim its right
> :)): --------- notify(subject_template, body_template,
> summary_template, event_tags, topics, subject_tags, participants) 
> """Notify subscribers about an event.
> 
> here the three templates are hopefully obvious. event_tags is a set
> that would have things like 'bug', 'project', 'branch' topics is a
> set of SOA object ids(*) subject_tags is a set of tags on the
> object itself. E.g. a bugs tags would go in subject_tags 
> participants is a list of subscribables which are direct
> participants in the event (and thus should be notified even if the
> data in LP doesn't show them as interested). """

I don't think we need participants in that API.  I think people would
like control over all notifications.  So participants can be selected
the same way that other recipients are selected.

> subscribe(recipient, subscription_tags, event_tags, 
> exclude_event_tags, topics, exclude_topics, subject_tags, 
> exclude_subject_tags) """subscribe an object to an event

I suggest that such objects should describe the recipient and the
method of notification.  For example, "user abentley via email" or
"user lifeless via activity wall".  That way, some events might
trigger emails (or XMPP messages, or tweets...) while others would
only post on activity walls.

> Querying who is subscribed to an object needs to be fast however. A
> fact table: topic event_tag exclude_event_tag subscriber can give
> subscription lists for topics very easily, still relying on in-LP
> expansion of teams. (A topic being e.g. 'bugs for project foo' - a
> structural subscription).

I'm not sure that doing expansion of teams after determining
subscribers will give users the control they desire.  I think it might
be better if subscribing a team generated subscriptions for its
members, so that they could then adjust them as they desire.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk7VGS0ACgkQ0F+nu1YWqI3gngCfdwItmG1Jb9PLmgmhS2FhgcDC
2WsAn2W6iF4Lo9DGh2XU7Xyko+zQ9RQM
=FSzw
-----END PGP SIGNATURE-----


Follow ups

References