Skip to content

Latest commit

 

History

History
144 lines (110 loc) · 5.8 KB

README.md

File metadata and controls

144 lines (110 loc) · 5.8 KB

HOW TO LOCALLY DEPLOY THE ROOMS TOOL WITH THE LTI-BROKER

This is a tutorial for a local deployment of the rooms and broker apps as well as setting it up with moodle (or any other LMS).

Prerequisites:

Repo Setup:

  1. Clone the two repositories: bbb-app-rooms and bbb-lti-broker

  2. Set up the environment variables for the rooms app:
    $ cd bbb-app-rooms
    $ cp dotenv .env
    $ sudo vi .env
    Edit the following variable values as necessary:

## App configuration
# Generate a secret by running the command openssl rand -hex 32
SECRET_KEY_BASE=

RELATIVE_URL_ROOT=apps

## Database configuration
# DB_ADAPTER=[postgresql]
# DB_HOST=<localhost>
# DB_NAME=
# DB_USERNAME=<root>
# DB_PASSWORD=

# BigBlueButton configuration
BIGBLUEBUTTON_ENDPOINT=https://bbb.<your-name>.blindside-dev.com/bigbluebutton/api
BIGBLUEBUTTON_SECRET=<your server's secret>
BIGBLUEBUTTON_MODERATOR_ROLES=Instructor,Faculty,Teacher,Mentor,Administrator,Admin

# BigBlueButton LTI Broker configuration
OMNIAUTH_BBBLTIBROKER_SITE=https://lti.<JOHN>.blindside-dev.com
OMNIAUTH_BBBLTIBROKER_ROOT=lti
#  Should match the values used when adding the app to the broker.
#    rake db:apps:add[rooms,key,secret,https://lti.<JOHN>.blindside-dev.com/apps/rooms/auth/bbbltibroker/callback]
OMNIAUTH_BBBLTIBROKER_KEY=<choose a key>
OMNIAUTH_BBBLTIBROKER_SECRET=<choose a secret>

## Set the hostname using your own domain (Required)
URL_HOST=lti.<JOHN>.blindside-dev.com

## Use to send logs to Standard Output (Optional)
RAILS_LOG_TO_STDOUT=true

## Use to serve assets through the app (Required for now)
RAILS_SERVE_STATIC_FILES=true

## Use to enable features only available for development (Optional)
# RAILS_ENV=production
  1. Set up the environment variables for the lti broker: $ cd ~/bbb-lti-broker
    $ cp dotenv .env
    $ sudo vi .env
POSTGRES_PASSWORD=<password you set for the postgres database during setup>
POSTGRES_USER=postgres

# Create a Secret Key for Rails
#
# You can generate a secure one through the Greenlight docker image
# with the command.
#
#   docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret
#
SECRET_KEY_BASE=

# App configuration
RELATIVE_URL_ROOT=lti

# LTI tools configuration
# DEFAULT_LTI_TOOL=rooms

# DEVELOPER_MODE_ENABLED=true

#WHITELIST_HOST=broker.example.com

## Set the hostname using your own domain (Required)
URL_HOST=lti.<JOHN>.blindside-dev.com

## Use only with postgres instance outside the one pre-packaged with docker-compose (Optional)
# DATABASE_URL=postgres://postgres:password@localhost

## Use to send logs to Standard Output (Optional)
RAILS_LOG_TO_STDOUT=true

## Use to serve assets through the app (Required for now)
RAILS_SERVE_STATIC_FILES=true

## Use to enable features only available for development (Optional)
#RAILS_ENV=development
  1. Create, migrate and seed the databases for both the rooms and broker (rake db:create db:migrate db:seed)

  2. Add the rooms app to the broker. For key and secret, use the ones you set in the rooms app env variables:
    $ rake db:apps:add[rooms,https://lti.<JOHN>.blindside-dev.com/apps/rooms/auth/bbbltibroker/callback,<key>,<secret>]
    Add the key and secret to the keyset:
    $ rake db:keys:add[<key>:<secret>]

NGINX Configuration

  1. Configure nginx.
    • Edit the conf file for nginx:
      $ sudo vim /etc/nginx/conf.d/default.conf
    • Replace the contents using this template
    • Run $ sudo systemctl restart nginx

Adding the tool to an LMS

  1. Run both applications:

    • From the bbb-app-rooms directory, run $ rails s -b 0.0.0.0 -p 3012
    • From the bbb-lti-broker directory, run $ rails s -b 0.0.0.0 -p 3011
  2. In your browser, go to lti.<JOHN>.blindside-dev.com\lti

  3. Click on 'View LTI Configuration XML'. It'll take to you a page with the following URL: https://lti.\.blindside-dev.com/lti/default/xml_config. Replace the 'default' with 'rooms' and refresh the page/press enter.

  4. Copy the secure_launch_url. This is the url that you will use when adding the plugin in your lms. The consumer_key and shared_secret are the same as the ones set in the rooms env. variables (as OMNIAUTH_BBBLTIBROKER_KEY and OMNIAUTH_BBBLTIBROKER_SECRET)

Other

Custom parameters

Custom parameters accepted in the launch:

  • custom_recording: Set to true to create the room with this flag checked. Don't set it on the launch to use the default value.
  • custom_all_moderators: Set to true to create the room with this flag checked. Don't set it on the launch to use the default value.
  • custom_wait_moderator: Set to true to create the room with this flag checked. Don't set it on the launch to use the default value.
  • custom_allow_all_moderators: Set to true to allow meetings to have this flag turned on/off. Set to any other value to hide this option from users. If this parameter is not set on launch the option will be shown.
  • custom_allow_wait_moderator: Set to true to allow meetings to have this flag turned on/off. Set to any other value to hide this option from users. If this parameter is not set on launch the option will be shown.