Skip to main content

A command-line tool suite for communicating with the Blackboard Learn Managment System

Project description

Under Development Public Domain Travis


Logo

Blackboard-LMS-CLI

Command-line tool suite for Blackboard LMS
Explore the docs »

View Demo · Report Bug · Request Feature


About The Project

user@computer:~$ bb

Usage: bb [OPTIONS] COMMAND [ARGS]...

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  activate-shell-completion  Activate shell completion for your shell
  announcements              Commands for listing, creating, deleting and...
  assignments                Commands for creating, listing and...
  contents                   Commands for listing, creating, deleting,...
  courses                    Commands for listing courses
  login                      Authorize user with username and password.
  logout                     Logout user.
user@computer:~$ bb courses list

Id           Course Name

_33050_1     Donn Alexander Morrison testrom
_32909_1     Sammenslått - Ingeniørfaglig systemtenkning INGA2300 INGG2300 INGT2300 (2022 VÅR)
_31606_1     INGT2300 Ingeniørfaglig systemtenkning (2022 VÅR)
_32736_1     Sammenslått - Matematiske metoder 3 for dataingeniører IMAX2150 (2021 HØST)
_28936_1     IMAT2150 Matematiske metoder 3 for dataingeniører (2021 HØST)
_27251_1     IDATT2900 Bacheloroppgave  (start 2021 HØST)

Blackboard LMS CLI is a command-line tool suite that students and staff can use to communicates with the Blackboard Learn REST API. It was created because the blackboard web interface can be ineffective and awkward to use. The CLI aims to offer a simple, intuitive and effective way to execute tasks in the Blackboard LMS.

Built With

The software is written in python and built with:

  • Click - A python package for creating beautiful command line interfaces in a composable way with as little code as necessary.

Getting Started

Some instructions on how to quickly make the CLI available on your computer!

Prerequisites

To run this CLI you need python and pip installed, as well as magic library, which is installed by following the installation guide beneath.

Installation

NB! Currently, this CLI can only be installed using pip, but we are planning to support other installation methods later.

  1. Install pip package

    pip install Blackboard-LMS-CLI
    
  2. Install magic dependecy

    # Windows:
    pip install python-magic-bin
    
    # Linux:
    sudo apt-get install libmagic1
    
    # Mac OS X
    brew install libmagic
    

Test if the installation was successful by running $ bb --version command. You should see something like this:

$ bb --version
bb, version 0.1.0

Shell completion: The CLI also supports shell completion with TAB, but is currently only comaptible with bash, zsh and fish. To activate this you can follow the guide here: Click shell completion help page.

Usage

First of all, you can either login using the command:

user@computer:~$ bb login

or just execute the command you want, and you'll be logged in if you aren't already.

The CLI is designed in such a way that its commands and subcommands, is structured much alike like the Blackboard Learn REST API modules. bb is the main command, then for example is courses a subcommand of bb, and at last, list is a subcommand of courses. See demo here

All commands contains a help page that can be accessed through adding the flag --help, for example if I want to see the help page about creating a file content:

user@computer:~$ bb contents create file --help

Output:

Usage: bb contents create file [OPTIONS] TITLE FILE_PATH

  Creates a file content.

Options:
  -c, --course TEXT   COURSE ID, of the course where the content exists
                      [required]
  -f, --folder TEXT   FOLDER ID, of the folder you want to create content in.
                      [required]
  -n, --new-window
  --end-date TEXT     When to make content unavailable. Format: DD/MM/YY
                      HH:MM:SS
  --start-date TEXT   When to make content available. Format: DD/MM/YY
                      HH:MM:SS
  -r, --reviewable    Make content reviewable
  -h, --hide-content  Hide contents for students
  --help              Show this message and exit.

Using the --help flag is very useful, because many commands have many possible options which can be hard to memorize in the beginnning.

Example usage of the CLI:

Dependencies

For this CLI to work you need python and pip installed on your computer. The CLI also uses the library magic.

The following libraries are required:

Configuration

TODO:

If the software is configurable, describe it in detail, either here or in other documentation to which you link.

At the moment, the CLI is not configurable. However, this is something we plan on adding in the future.

Ideas configurable elements:

  • A setting that chooses whether ID's such as course id and content id is used as positional arguments or required options.
  • If they want the responses in json or formatted by the CLI.

How to test the software

TODO:

If the software includes automated tests, detail how to run those tests.

Known issues

TODO:

Document any known significant shortcomings with the software.

Getting help

If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker, or mail us:

Mail info:

Getting involved

TODO:

This section should detail why people should get involved and describe key areas you are currently focusing on; e.g., trying to get feedback on features, fixing certain bugs, building important pieces, etc.

General instructions on how to contribute should be stated with a link to CONTRIBUTING.


Open source licensing info

TODO:

  1. TERMS
  2. LICENSE
  3. CFPB Source Code Policy

Credits and references

TODO:

  1. Projects that inspired you
  2. Related projects
  3. Books, papers, talks, or other sources that have meaningful impact or influence on this project

CFPB Open Source Project Template Instructions

  1. Create a new project.
  2. Copy these files into the new project
  3. Update the README, replacing the contents below as prescribed.
  4. Add any libraries, assets, or hard dependencies whose source code will be included in the project's repository to the Exceptions section in the TERMS.
  • If no exceptions are needed, remove that section from TERMS.
  1. If working with an existing code base, answer the questions on the open source checklist
  2. Delete these instructions and everything up to the Project Title from the README.
  3. Write some great software and tell people about it.

Keep the README fresh! It's the first thing people see and will make the initial impression.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

Blackboard_LMS_CLI-1.0.1-py3-none-any.whl (41.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page