Skip to main content

An Open edX plugin to enable SysAdmin panel

Project description

This is a django app plugin extracted from edx-platform which enables certian users to perform some specific operations in Open edX environment (which are described under Features section below). Earlier, Sysadmin Dashboard was a part of edx-platform, however starting from lilac release of Open edX the sysadmin panel has been removed and transitioned to as separate plugin.

NOTE: It is recommended that you use edx-sysadmin plugin with Open edX’s lilac release and successors. If you wish to use the Sysadmin Dashboard with Open edX releases before lilac you don’t have to install this plugin and can simply enable ENABLE_SYSADMIN_DASHBOARD feature flag in environment files (e.g lms.yml or lms.env.json) to access sysadmin dashboard features.

Features

edx-sysadmin provides different features such as:

  • Register Users:
    • You can register new user accounts with an easy to use form via Users tab.

  • Delete Courses:
    • You can delete any course by using a course ID or directory via Courses tab.

  • Git Import:
    • You can import any course maintained through a git repository via Git Import tab.

  • Git Logs
    • You can check the logs for all imported courses through git via Git Logs tab.

Installing The Plugin

  • You can install the plugin into your Open edX environment using PyPI e.g. pip install edx-sysadmin or directly from github e.g. pip install https://github.com/mitodl/edx-sysadmin.git

  • Once you have installed the plugin you can visit <EDX_BASE_URL>/sysadmin to access the plugin features.

  • If you decide to make your own changes in the plugin you can go to Development Workflow section below.

Note: In some cases you might need to restart edx-platform after installing the plugin to reflect the changes.

Development Workflow

For development you need to install this plugin into your Open edX instance.

# Clone edx-sysadmin to a directory which can be accessed from inside lms container i.e. ``src`` folder of
# Open edX devstack setup, which is present under root directory (sibling directory of edx-platform directory)
# and mapped at ``/edx/src`` inside edx-platform's lms container.
cd src
git clone git@github.com:mitodl/edx-sysadmin.git

# Open LMS shell
cd ../devstack
make lms-shell

# Remove edx-sysadmin plugin if already installed
pip uninstall edx-sysadmin

# Install plugin in editable mode
pip install -e /edx/src/edx-sysadmin

# If edx-sysadmin plugin doesn't reflect anything you can simply restart lms container (optional)
make lms-restart

After installation the plugin should be directly getting served through your edx-sysadmin cloned repo (present at src folder) and you can do live changes to the plugin and they will be reflected in your Open edX instance.

Testing

edx-sysadmin tests are dependednt on edx-platform that’s why they can only be run from inside of lms shell

# Enter LMS shell
cd devstack
make lms-shell

# Go to the directory where edx-sysadmin is mapped inside container i.e. ``/edx/src/edx-sysadmin``
cd /edx/src/edx-sysadmin

# Install requirements for running tests (you can also install requirements inside a virtual environment)
pip install -r ./requirements/quality.txt

# Run Pytest
pytest .

# Run black formatter
black --check .

# Run Pycodestyle
pycodestyle edx_sysadmin tests

# Run Pylint
pylint ./edx_sysadmin

License

The code in this repository is licensed under the AGPL 3.0 unless otherwise noted. Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome. Even though they were written with edx-platform in mind, the guidelines should be followed in all Open edX projects including this plugin.

Project details


Download files

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

Source Distribution

edx-sysadmin-0.1.0.tar.gz (41.5 kB view details)

Uploaded Source

Built Distribution

edx_sysadmin-0.1.0-py2.py3-none-any.whl (47.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file edx-sysadmin-0.1.0.tar.gz.

File metadata

  • Download URL: edx-sysadmin-0.1.0.tar.gz
  • Upload date:
  • Size: 41.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for edx-sysadmin-0.1.0.tar.gz
Algorithm Hash digest
SHA256 75efc04817cc17efc016a172bf847668989af9a24f93bb568cb238af1fc473c5
MD5 4aba8795616e773f102858eb777fc757
BLAKE2b-256 7fad7ba2f0366d3df3a0e1c821f9022ed66c9343008b6ee4bfad2b15e91d64ea

See more details on using hashes here.

File details

Details for the file edx_sysadmin-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: edx_sysadmin-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 47.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for edx_sysadmin-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 34b8e913fbf81a2ee25f9fb02443fcfd793ac9af2b81288c7c8d9f508f6704d6
MD5 86cc87f129d74ed9d7aad6f967c1cc38
BLAKE2b-256 81e1dca9bde966c413f588449c1c20b27706480e1d4d5411109530d56366ea1e

See more details on using hashes here.

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