This is a fantastic project!
On Jan 27, 2:53 am, Bruno Rocha <rochacbr...@gmail.com> wrote: > Hi, > > I just finished the hardest part of the social network, the Notifications > Engine, The secret of Facebook success is the notifiers showing news > without the need of users to click anywhere. > > I did a little bit different and it needs improvements but the first draft > is working now and this is the basic structure. > > 1. Movuca now has an API method called _new_event(event_type, **kwargs), > this method inserts anything in timeline. > 2. Another API method is Notifier.notify(event_type, **kwargs) > > Both methods uses event_types as a string "key" and this key is used to > configure texts, icons, images and email templates for that kind of > event/notification, you can create many event_types you need. > > In config (a sqlite database) you have notification_options, you can set > some keys and worker can be "site", "queue", "scheduler" and "celery", > if worker is "site" it means that all notifications are sent at the post > time (it is very slow if article has too many subscribers) > if worker is "queue" mail is not sent and "mail_sent" is set to False on > that record, the record stores a Pickled state of the notification to be > sent later. > > In your server you need to start the queue worker: > > $ python web2py.py -S demo -M -N -R > applications/<appname>/private/notification_worker.py & > > This script can run on background and will check for unsent notifications > and send it. > > Scheduller and Cellery are not working yet, I need help with them. > > For each event_type you can create an html email template that works just > like web2py views, but is stored in db. > > Users can set for each event_type how they want to receive that > notification by "site" by "email" or both, (users can reply the email to > reply the comments or board notifications) > > In site notifications looks like > this:http://www.diigo.com/item/image/121xl/jqgp?size=o(a counter, a popup, a > button to mark as read) > > Now I want to have an ajax keepalive or websockets to pop it automatically > (does anyone knows about it?) > > [image: 1768767_105086613_6030344.png] > > *TODO*: > > The TODO list is very large, you can check > here:https://github.com/rochacbruno/Movuca/blob/master/TODO > > I am developing alone and some people are helping with tests, every help is > very appreciated, tests, suggestions, code, improvements, coffee, review > etc... > > Thanks > > feedbacks in movuca.uservoice.com > issues in github > > -- > > Bruno Rocha > [http://rochacbruno.com.br] > > 1768767_105086613_6030344.png > 598KViewDownload