FAQ | This is a LIVE service | Changelog

Skip to content
Snippets Groups Projects
  • Dr Rich Wareham's avatar
    af4b6cee
    initial implementation · af4b6cee
    Dr Rich Wareham authored
    Add an initial implementation of the scheduler application. The initial
    implementation contains:
    
    * Documentation (README, an API reference and getting started guide)
    * Test harness using tox
    * docker-compose based development environment
    * A Dockerfile
    * An ingest loop for Google Sheets
    * A stub implementation of the Opencast scheduler which prints what
      events should be scheduled.
    af4b6cee
    History
    initial implementation
    Dr Rich Wareham authored
    Add an initial implementation of the scheduler application. The initial
    implementation contains:
    
    * Documentation (README, an API reference and getting started guide)
    * Test harness using tox
    * docker-compose based development environment
    * A Dockerfile
    * An ingest loop for Google Sheets
    * A stub implementation of the Opencast scheduler which prints what
      events should be scheduled.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Lecture capture scheduling engine

This repository contains a tool to schedule lecture capture recordings. It has the following features:

  • Ingest events to be scheduled from Google Sheets.
  • Respect lecturer opt-in/out preferences. (TODO)
  • Reconciles Opencast events with the schedule. (TODO)
  • Sets appropriate role-based access policies on Opencast events. (TODO)

Further documentation

Usage and API documentation may be built using tox:

$ COMPOSE_ARGS="-v $PWD/build/:/tmp/tox-data/artefacts/" ./tox.sh -e doc
$ xdg-open build/doc/index.html   # Linux
$ open build/doc/index.html       # Mac

Quickstart

This quickstart is an abbreviated form of the getting started guide from the main documentation.

The ./scheduler_development.sh script will build a containerised version of the tool and run it with the repository directory mounted read-only under /usr/src/app inside the container. As such you can have development-local configuration inside the repository.

When first running the tool, you will need to create some configuration. (See the "Configuration" section in the documentation for what is required.)

$ cd /path/to/this/repo
$ mkdir .scheduler
$ cp configuration-template.yaml .scheduler/configuration.yaml
# ... edit configuration, see below ...

Once configured, the scheduler can be run as follows:

$ ./scheduler_development.sh

The scheduler_development.sh script can be used to run the scheduler utility within a development Docker image. The repository directory is mounted read-only as /usr/src/app so that local modifications take effect.

Running tests

The tests may be run using tox:

$ ./tox.sh