Giter VIP home page Giter VIP logo

moodle-local_rocketchat's Introduction

#Rocket.Chat

The Rocket.Chat plugin is an integration between Moodle that allows users to push students from Moodle into channels on Rocket.Chat. These channels correspond to their groups in Moodle.

##Status

This was built quite quickly so we could test out how collaboration would work leveraging Rocket.Chat with Moodle. Please expect changes.

##Main features

  1. Channel creation
  2. User creation - role filter available
  3. Channel subscription based on groups in Moodle - regex filter available
  4. Manual sync
  5. Background task sync
  6. User activation/deactivation based on user_enrolment_updated moodle event

##Installation

  1. Copy the Rocket.Chat directory to the local directory of your Moodle instance
  2. Visit the notifications page

For more information, visit documentation for installing contributed modules and plugins.

Note - you need a running Rocket.Chat server that you can point the plugin to. If you aren't sure how to do this, checkout the documentation on Rocket.Chat. I also added a bit of code to Rocket.Chat to make integration a little easier. This unfortunately will require a custom build of the Rocket.Chat source code.

##Usage

###Settings A new Site Adminstration section has been added under Rocket.Chat. The settings page allows administrators to enter the host, username and password for Rocket.Chat. To get these settings you need to create a user on Rocket.Chat with whatever credentials you want and paste them into Moodle.

The regex block allows you to add group regex filters. When a sync between Moodle and Rocket.Chat happens, channels are created for each group that matches your regex expression. You can have multiple expressions on new lines. If you don't want any groups, don't add any regex expressions.

###Integration

There are two tables that help control what data is pushed to Rocket.Chat.

  1. Roles Included in Sync - determines what user roles can be pushed to Rocket.Chat
  2. Integrated Courses - allows setting of a course to sync in the background (task and cron based) or a manual sync that is executed immediately.

##Todo

  • Add an activity/resource/block that can be added within a course.
  • Handle deletion/suspension of users in Moodle - right now the sync only pushes students to Rocket.Chat. It does not remove them.
  • Improve error reporting one sync failure
  • Improve error reporting for suspensions

moodle-local_rocketchat's People

Contributors

ryannealmes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.