Version 25 (modified by 15 years ago) ( diff ) | ,
---|
Blueprint for the Messaging Module
Current design is here:
User Guide:
What we need is:
- Contacts List
- Admin UI for:
- Email Settings
- SMS Settings
- CAP alerts: http://talksahana.com/2009/03/04/firefox-browser-cap-alerting-plugin-sahana-idea-for-gsoc2009/
- SMS alerts
- SMS login / data entry / reports
- J2ME client
tools.py has mail settings:
mail=MailS3() # These settings should be made configurable as part of the Messaging Module mail.settings.server='mail:25' mail.sender='sahana@sahanapy.org'
& a function:
mail.send(to, subject='None', message='None')
Can use this to send emails with dynamic data inserted into templates (like HTML pages):
smtplib is required for sending HTML mails (MIME encoded):
- http://groups.google.com/group/web2py/browse_thread/thread/3d8ed693dd2f29bc
- https://web2py.com/wiki/default/page/98b7448f-059a-47f7-82da-dce4728aa4dd
- Simple app for sending mails from a form (using smtplib): http://web2py.com/appliances/default/show/10
There is a Cron job to check the contents of the OutBox & send pending messages. On Success it moves the message to the 'Sent' table:
SMS
The SMS Daemon to handle Inbound messages is a separate Python script.
It can distinguish between simple messages (added to the InBox of the Messaging Module) & those which are encoded in Binary XML (the output of XForms from the J2ME client).
Implementation details are here: http://wiki.sahana.lk/doku.php/dev:pythonsms
Q: Do we use Cron to check OutBox & signal the daemon to send Pending messages? (as for email)
Toolkits we can base on:
- RapidSMS (Python-based): http://rapidsms.org
- PySerial: http://pyserial.wiki.sourceforge.net/pySerial
- Gammu: http://www.gammu.org (Python-gammu: http://www.gammu.org/wiki/index.php?title=Gammu:Python-gammu)
- Gnokii: http://www.gnokii.org (PyGnokii: http://mobilehacking.org/index.php/PyGnokii)
- Kannel: http://kannel.org (PyKannel: http://mobilehacking.org/index.php/PyKannel)
- SMSTools: http://smstools3.kekekasvi.com
Hardware compatibility databases:
Adding support for sending out/receiving alerts via Twitter would be nice. This is easy to do within base Web2Py, so this just needs a little UI work to integrate.
Attachments (1)
-
Message Flows.png
(20.8 KB
) - added by 14 years ago.
Message Flows
Download all attachments as: .zip