Metadata-Version: 1.2
Name: edx-sysadmin
Version: 0.1.0
Summary: An Open edX plugin to enable SysAdmin panel
Home-page: https://github.com/edx/edx-sysadmin
Author: MIT Office of Digital Learning
License: AGPL 3.0
Description: edx-sysadmin
        =============================
        
        This is a django app plugin extracted from `edx-platform <https://github.com/edx/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 <https://github.com/edx/edx-platform/tree/open-release/lilac.master>`_ 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 <https://github.com/edx/edx-platform/tree/open-release/lilac.master>`_ 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.
        
        .. code-block::
        
          # 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
        
        .. code-block::
        
          # 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 <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.
        
Keywords: Python edx
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django
Classifier: Framework :: Django :: 2.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.8
