wiki:BluePrint/Chat

Version 6 (modified by knowing42, 8 years ago) ( diff )

--

BluePrint: Chat

Introduction

Name : Arnav Kumar Agrawal
Github : https://github.com/arnavkagrawal
IRC Handle : knowing42
Email id: arnavkagrawal@gmail.com
Skype: arnavkagrawal

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

  • Ability to show which users are online

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

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