RocketChat is a company developing an open source chat application that is used by Event Hosts for live before, during and after the conference.
We use RocketChat in development as a docker image - part of the Docker Development Environment
In production, we have been using Galaxy to host our RocketChat app instances and Atlas to provide the Mongo DB.
In both situations we use oAuth to authenticate RocketChat against Django oAuth Toolkit which is configured as an oAuth provider and built into our Django project.
Production Config/Deployment:
Stub
Dev Config/Deployment:
Stub
Useful Django Shell Commands:
from rocketchat_conferences import helpers as rch
rch.functionName()
config_galaxy_server() - After manual setup of the RocketChatConferenceInstance object in the Django Admin Database(for example https://icml.cc/adminrocketchatconferences/rocketchatconferenceinstance/), this function will setup custom fields (for the user bio, including pronoun, institute, etc), setup oauth (on both RocketChat and Django), create a custom site moderator role, add the site mod role to designated users (volunteers) and make community rooms (currently ‘Volunteers’,'announcements','introductions','socials','HelpDesk').
init_docker_rocketchat_server() - For the Docker Dev environment only, does all of the above plus eliminates the manual step of creating the RocketChatConferenceInstance object.
deactivate_user(RocketchatConferenceUserObject) - Booting user only through RocketChat still allows re-entry through a new user created by our automated integration. This function will prevent the user from rejoining any chats and prevent another chat user creation.
add_sitemod_role_to_designated_users() - Adds the site moderator role to designated users, currently for volunteers. This function can and is run manually multiple times without negative effects as new volunteers come in.