Out Of Office Features - aditya-mitra/Rocket.Chat GitHub Wiki

Out Of Office Features

Author - aditya.mitra

Mentors - amol.babu and asrar

Project under Rocket.Chat and Google Summer of Code 2021


Summary

Out of Office feature is a setting integrated into the main Rocket.Chat app. The current changes introduce the basic functionalities of Out of Office. These include sending an automatic reply to the channel once Out of Office is enabled by the user. The user can select a start date from when he/she would be away and the end date when he/she will return. Out of Office will automatically be enabled and disabled respectively at these dates. Out of Office also provies the options for the user to select the rooms where he/she wants its enabled.

Introduced Changes

The Out Of Office Page

The Out of Office page is located in the My Account section of the user.

There are options to change select the start date, end date, your reply message, and the channels to be selected when it should be enabled.

Out of Office gets enabled at the scheduled startDate

Once the user successfully saves and enables Out of Office, his entry will be saved to the database.

For example, if you have scheduled Out of Office from tonight at 9 pm till tomorrow night at 11 pm, Out of Office will start sending messages once it is 9 pm and will be disabled once it is 11 pm tomorrow.

Your message will be sent in the selected channels

Out of Office will send the custom message provided by you to the only the channels selected by you.

So, once a message comes in the any of the selected channels, Out of Office will notify the users in that channel that you are away by sending your custom message.

If you have disabled Out of Office or the endDate has passed, Out of Office will not send your reply message.

Future Plans

We had planned to introduce the basic and essential features of Out of Office before introducing the others.

Although we have tested the current features more than a hundred times, there can still be bugs or a window for improvement.

We will now be working on the other features (including the Assigning Deputy) and writing unit tests for continuous integration.

We would love to hear your feedback here on the current pull request.

Thanks for reading!