Version 21 (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
- Simple app for sending mails from a form (using smtplib): http://mdp.cti.depaul.edu/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).
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
Attachments (1)
-
Message Flows.png
(20.8 KB
) - added by 15 years ago.
Message Flows
Download all attachments as: .zip