Comment 7 for bug 223928

Revision history for this message
Curtis Hovey (sinzui) wrote :

Hi Michael.

I can help. Some work has already been done. StructuralSubscriptions already know about BlueprintNotificationLevel. I have not looked into this matter in detail, but I can point you to where the code must change.

Model branch:
StructuralSubscriptionTargetMixin provides all the major objects with the subscription feature. There are some special methods for bugs. We need similar methods for blueprints. Adding them to the mixin will enable all the model objects to support structural subscriptions.

Email branch:
Email probably needs to be it own branch because I suspect the email handlers need a lot of work. We need a BlueprintNotificationRecipientSet object. I do not see one. We may need to fix some old email rules to. In summary, a NotificationRecipientSet collects every user who must be notified, and why they must be notified. the email headers and the foot of the email must state why the email was sent to the user.

View branch:
Update the UI. Show structural subscribers on each blueprint. Add links to subscribe/unsubscribe to blueprints from each major model's view.

The code you want to look at is old:
lib/canonical/launchpad/interfaces/structuralsubscriptions.py
lib/canonical/launchpad/database/structuralsubscriptions.py
lib/canonical/launchpad/mailnotification.py
lib/lp/blurprints/*

I can help you with pre-implementation plans so that the code you write is what a reviewer will accept.