Version 10 (modified by 11 years ago) ( diff ) | ,
---|
BluePrint: Chat
Table of Contents
Introduction
The Blueprint aims at development of a real time chat system for Sahana Eden.
Description
- Provide a chat board through which users can help each other or get help from the system administrator.
- Perhaps have one chat for each organization or project.
Requirements
Necessary features
We expect to need the ability to...
- Show which users are online.
- Maintain a chat history, and allow users who are members of a chat to see its history.
- Apply access controls to the chat and its history, i.e. selectively permit users to enter a chat and see its history.
- Assure security for messages.
Desirable features
These may include the ability to...
- Ping users to alert them that a message is directed to them.
- Call users to the chat if they are not present.
- Send out messages to a user who is offline, using their designated contact methods, and receive messages into the chat from external channels such as Twitter or SMS.
Advanced Features
- Easily switch to the user's email / SMS / Phone to contact them if they are not available by chat
- Status Updates
- History
- Store chat history in DB (per-room & per user<>user private chat with appropriate permissions).
- Scheduled task to prune.
- Allow access to view this history from within the client 1 day/1week/1month/3months.
- User can override archiving.
- VoIP
- Single-user
- Multi-user
- Video
- Whiteboard
- Screen Sharing
- File Transfer
Stake Holders
- The End Users - The group of end users would like to have a communication channel through which they can contact each other .
- Developers - Instead of using an IRC the people who contribute sahana eden can find themselves at a one stop platform to clear various doubts or have a technical discussion.
- Site Administrator, Site Operators,
Need
Many organizations and people use Sahana Eden. Eden Chat will be a medium of communication between organizations and users. It would allow users to remain on a single platform and accomplish the task they want to perform without the need to go over 3rd party software to communicate.The chat would be integrated with Eden features that would help making tasks easier such as customized commands(like in irc) for accomplishing different tasks by different users. It would have the capability of seeing online users and message on mobile incase the user is offline. This would make communication easier since one need not any other information to contact other user.The chat could allow to send map images or map location from Eden Map to other user. The chat would be much more secure than irc and it will have better privacy than irc. We want to be able to provide the ability for users to be able to message each other in real-time.
This is useful for compliance reasons as well as just convenience.
Design
- Simple option is to provide a preconfigured IRC client, but this may not be good for scalability
- e.g. qwebirc was used for SandyRelief and there is some code to have this display in a side-pane to the main browser window
- Scalable option would to provide an XMPP client (e.g. to a Jabber server)
Server
Client
- http://candy-chat.github.io/candy/
- Needs updating to work with current jQuery/UI
- Add Authentication: Users are who they say they are & are only allowed into the correct rooms.
- Add Notifications hook.
- Add Offline Users.
- Pull-in profile pictures.
- Add "User is typing"
- Add Recent Messages at Top
- http://stackoverflow.com/questions/1081634/which-is-the-most-mature-python-xmpp-library-for-a-gchat-client
- http://twistedmatrix.com/trac/wiki/TwistedWords
- https://github.com/Jajcus/pyxmpp2
- http://xmpppy.sourceforge.net (unmaintained)
VoIP
Assuming single-user:
- http://mumble.sourceforge.net
- Flash client included in http://frug.github.io/AJAX-Chat/
Implementation
Name : Arnav Kumar Agrawal
Github : https://github.com/arnavkagrawal
IRC Handle : knowing42
Email id: arnavkagrawal@gmail.com
Skype: arnavkagrawal
<Leave open for a list of implementation>
References
<Links to external resources>
Professional XMPP Programming with JavaScript and jQuery: http://professionalxmpp.com/
Attachments (1)
-
sahana chat use case.jpg
(23.0 KB
) - added by 11 years ago.
Use Case Diagram for Chat in Sahana Eden
Download all attachments as: .zip