wiki:BluePrint/Chat

Version 8 (modified by Pat Tressel, 11 years ago) ( diff )

--

BluePrint: Chat

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

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 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.

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.

Advanced

  • Easily switch to the user's email / SMS / Phone to contact them if they are not available by chat
    • candy plugin which links to Eden's msg.compose()
  • Status Updates
    • candy plugin?
  • 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
    • candy plugin to expose ejabberd's capabilities?

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

VoIP

Assuming single-user:

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/


BluePrints BluePrints

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.