Code Monkey home page Code Monkey logo

tutor-contrib-hastexo's Introduction

Tutor plugin for the Hastexo Guacamole Client

This is a plugin for Tutor that deploys the Hastexo Guacamole Client application alongside Open edX. Using this plugin is neccessary for running the Hastexo XBlock in your Tutor Open edX platform.

Version compatibility matrix

You must install a supported release of this plugin to match the Open edX and Tutor version you are deploying. If you are installing this plugin from a branch in this Git repository, you must select the appropriate one:

Open edX release Tutor version Hastexo XBlock version Plugin branch Plugin release
Lilac >=12.0, <13 Not supported Not supported Not supported
Maple >=13.2, <141 >=6.0, <7.0 maple 0.3.x
Nutmeg >=14.0, <15 >=7.0 main 1.x.x
Olive >=15.0, <16 >=7.0 main 1.x.x
Palm >=16.0, <17 >=7.0 main 1.x.x

Installation

First of all, before installing this plugin, make sure you have installed the Hastexo XBlock to your Open edX platform running with Tutor. For that, add the XBlock to your OPENEDX_EXTRA_PIP_REQUIREMENTS in config.yml:

OPENEDX_EXTRA_PIP_REQUIREMENTS:
- git+https://github.com/hastexo/hastexo-xblock.git

rebuild the openedx docker image:

tutor images build openedx

then upload the image to the registry of your choice, and set DOCKER_IMAGE_OPENEDX in your config.yml to reference that image.

For more information about installing XBlocks, please refer to the Tutor documentation for installing XBlocks

Then, to install this plugin, run:

pip install git+https://github.com/hastexo/tutor-contrib-hastexo

To enable this plugin, run:

tutor plugins enable hastexo

Before starting Tutor, build the docker image for the hastexo service:

tutor images build hastexo

then (as with the openedx image) upload the image to your preferred registry, and set HASTEXO_DOCKER_IMAGE to point to that image.

Configuration

  • HASTEXO_XBLOCK_SETTINGS: The Hastexo XBlock settings, examples and details provided in the XBlock README. (default: {})
  • HASTEXO_XBLOCK_VERSION: The Hastexo XBlock version. (default: stable)
  • HASTEXO_GUACD_VERSION: guacd version (default: 1.5.2)
  • HASTEXO_GUACD_DOCKER_IMAGE: guacd Docker image version. (default: guacamole/guacd:1.5.2)
  • HASTEXO_REPLICA_COUNT: Number of replicas for the hastexo-xblock service. (default: 1)
  • HASTEXO_ENABLE_SUSPENDER: If True, run 1 pod in the hastexo-xblock-suspender deployment. If False, run 0 pods, effectively disabling the deployment. (Default: True).
  • HASTEXO_ENABLE_REAPER: If True, run 1 pod in the hastexo-xblock-reaper deployment. If False, run 0 pods, effectively disabling the deployment. (Default: True).

Using a custom terminal font

When using the terminal_font_name setting via HASTEXO_XBLOCK_SETTINGS, the requested font must be installed in the guacd container. This means that you'll need to build a custom guacd image. For that:

  • Define the HASTEXO_GUACD_DOCKER_IMAGE in your config.yml to override using the default upstream image.
  • Create a YAML plugin to patch hastexo-guacd-dockerfile and add your font installation steps. For example:
    name: guacdfonts
    version: 1.0.0
    patches:
      hastexo-guacd-dockerfile: |
        USER root
        RUN apt update && apt install -y fonts-hack-ttf
    
  • Enable the YAML plugin and save your configuration changes (tutor config save)
  • Build the custom docker image for guacd:
    tutor images build guacd
    

License

This software is licensed under the terms of the AGPLv3.

Footnotes

  1. For Open edX Maple and Tutor 13, you must run version 13.2.0 or later. That is because this plugin uses the Tutor v1 plugin API, which was introduced with that release. โ†ฉ

tutor-contrib-hastexo's People

Contributors

foadlind avatar fghaas avatar mrtmm avatar namratasitlani avatar

Watchers

 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.