Seems like there's something being built in that direction already: http://github.com/jtauber/django-notification/tree/master
Will investigate further. I might be able to port my stuff to theirs. On Thu, Aug 13, 2009 at 8:01 PM, Helder Ribeiro<[email protected]> wrote: > Hi guys, > > I'm also about to embark into developing something a little big, so > I'd like to get some eyeballs on my idea before hammering at it. If > you could take a few moments to go over it and give me suggestions, I > would greatly appreciate it. I've also posted this on StackOverflow, > if you're into that kind of thing :) > http://stackoverflow.com/questions/1275077/user-configurable-signalling-mechanism-in-django. > > Here goes: > > I need to allow an arbitrary Principal (User, Group, Site Admin) to > add Event Sinks (like email addresses, Webhook URLs, etc.) to the > system (through the web interface) and, for each one, specify which > kinds of <Event Source, Event Type> should be sent to it. Since I'm > doing this for ReviewBoard, I'll give a concrete example with a > hypothetical implementation: > > 1. John creates a new event_sink (a webhook), identified by postbin1; > 2. John specifies that postbin1 will receive events of type publish > on ReviewRequests (a class-level subscription -- the source_id is > unspecified); > 3. When a new review_request is created, the Event Manager, lists > (through a JOIN with subscriptions) all event_sinks interested in > ReviewRequests and creates a (instance-level) subscription binding > them as a listener to their particular event_type (the name of a > django signal) of interest and to the specific review_request; > 4. When that review_request gets published, the Event Manager (who > listens to the publish signal) lists all event_sinks interested in > that review_request instance and the publish signal and dispatches the > signal parameters to their sink method. > 5. The Webhook event_sink marshals the data however pleases it and > POSTs it to its URL. > > The schema I thought of is attached. If you can't see it, it's also > at: http://bayimg.com/image/aadgoaacd.jpg > > I'm about to start implementing this myself, but I just want to make > sure I'm not reinventing the wheel. Couldn't find anything on Google. > Ready-to-use package names, half-way package names that will help me, > and/or criticism to my DIY approach are all welcome. > > Thanks a lot! > > Helder > > http://helderribeiro.net > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "reviewboard" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en -~----------~----~----~----~------~----~------~--~---
