Teamie Chat
Categories
Component ID
Component name
Component type
Maintenance status
Development status
Component security advisory coverage
Component created
Component changed
Component body
Yet another Chat module for Drupal 7.
Note: This module is not an integration with a third-party service. This allows you to run your own chat server by yourself and enable users on your Drupal site to communicate with each other in real-time.
Features
- Seamless SSO to the chat server with credentials on the host Drupal site.
- Gmail/Facebook-style UI.
- Fast with an in-memory datastore used for storing & retrieving threads and messages.
- One to one chat with a user's connections.
- Multi-user chat allowing users to add their connections to a thread by themselves.
- Group chat (Members of a group have a dedicated chat thread for themselves).
- Ability for a user to switch off chat for himself (this choice is persisted).
- Addons include:
- Sounds for chat alerts.
- Convert text emoticons in chat messages to pictures.
- Convert inline URLs in chat messages to click-able links.
- Chat history
Technology
- AngularJS for the front-end.
- SocketIO for the transport.
- NodeJS application as the chat server.
- Redis for storing and retrieving messages, threads and user rosters quickly.
The role of Drupal is limited to delivering the markup and instructing the browser to download the required libraries (either from the CDN or the server). The client application bootstraps itself and takes it from there. Drupal is also used to manage user permissions & the site configuration.
Module Dependencies
- Bootstrap (you can ignore this dependency if you have the Bootstrap library installed by hand on your site)
- Organic Groups module (7.x-1.5)
- Realname
Current Limitations
- Users can only see their connections in their roster. A user's connection is another user who is an active member of at least one group that the former is a part of.
- Site cannot opt-out of group chat - explains the strict dependency on Organic Groups right now.
Acknowledgement
This project began at Teamie Pte. Ltd in May 2013. Teamie is a social LMS that can be deployed in schools and colleges for learning and in enterprises for training. The intent of the project was to enable learners and instructors to communicate with their connections in real-time from within Teamie. This module was open-sourced in late July and has been available for the community to try out & extend since.
