Galaxy makes it very easy to analyse data but communicating with other researchers and sharing tricks or asking questions is too hard and a for many people big hurdle.
We should promote https://biostar.usegalaxy.org wherever we can, but I think there is also a need for quick, instant help ... like we (developers) do with IRC.
This PR integrates a realtime communication server and it's user-interface.
It features a chat-application with a gloabl room where all users can communicate with each other.
To offer more specilised rooms for bigger Galaxy instance we have integrated persistent communication rooms that can be configured
by an admin via galaxy.ini
. These additional global chat-rooms will stay even if no user is logged in and can be
joined/followed by all interested users. Moreover, we included an option to create personal chat rooms.
These rooms will not be listed to all users.
At first you need to install a few requirements.
. GALAXY_ROOT/.venv/bin/activate
# activate Galaxy's virtualenvpip install flask flask-login flask-socketio eventlet
# install the requirements
As a next step start the communication server with something like this:
./scripts/communication/communication_server.py --port 7070 --host localhost
Please make sure the host and the port matches the ones in ./config/galaxy.ini
and
set the secret_id
in galaxy.ini
We implemented this as an external implementation as we were not sure if everyone agrees that such a feature should be deeply integrated into Galaxy.
As a consequence and to protect user-privacy we disabled the communication server and the admin as well as the user needs to explicitly enable it.
The communication server can be controlled on three different levels:
- The admin can activate/deactivate the communication server via ./config/galaxy.ini. [off by default]
- The user can activate/deactivate it in their own personal-settings via Galaxy user preferences. [off by default]
- The user can activate/deactivate communications for a session directly in the communication window. [on by default]
Thanks a lot to Anup Kumar (@anuprulez) a Galaxy first time contributor, Rémi Marenco (@remimarenco) and Eric Rasche (@erasche). It's always a pleasure to work with you guys!
Any comments welcome! What do you think about such a feature, any other way how we should integrate this. Thanks and see you all at GCC!