101 lines
3.1 KiB
ReStructuredText
101 lines
3.1 KiB
ReStructuredText
User Retirement Scripts
|
|
=======================
|
|
|
|
`This <https://github.com/openedx/edx-platform/tree/master/scripts/user_retirement>`_ directory contains python scripts which are migrated from the `tubular <https://github.com/openedx/tubular/tree/master/scripts>`_ respository.
|
|
These scripts are intended to drive the user retirement workflow which involves handling the deactivation or removal of user accounts as part of the platform's management process.
|
|
|
|
These scripts could be called from any automation/CD framework.
|
|
|
|
How to run the scripts
|
|
======================
|
|
|
|
Download the Scripts
|
|
--------------------
|
|
|
|
To download the scripts, you can perform a partial clone of the edx-platform repository to obtain only the required scripts. The following steps demonstrate how to achieve this. Alternatively, you may choose other utilities or libraries for the partial clone.
|
|
|
|
.. code-block:: bash
|
|
|
|
repo_url=git@github.com:openedx/edx-platform.git
|
|
branch=master
|
|
directory=scripts/user_retirement
|
|
|
|
git clone --branch $branch --single-branch --depth=1 --filter=tree:0 $repo_url
|
|
cd edx-platform
|
|
git sparse-checkout init --cone
|
|
git sparse-checkout set $directory
|
|
|
|
Create Python Virtual Environment
|
|
---------------------------------
|
|
|
|
Create a Python virtual environment using Python 3.11:
|
|
|
|
.. code-block:: bash
|
|
|
|
python3.11 -m venv ../venv
|
|
source ../venv/bin/activate
|
|
|
|
Install Pip Packages
|
|
--------------------
|
|
|
|
Install the required pip packages using the provided requirements file:
|
|
|
|
.. code-block:: bash
|
|
|
|
pip install -r scripts/user_retirement/requirements/base.txt
|
|
|
|
In-depth Documentation and Configuration Steps
|
|
----------------------------------------------
|
|
|
|
For in-depth documentation and essential configurations follow these docs
|
|
|
|
`Documentation <https://docs.openedx.org/projects/edx-platform/en/latest/references/docs/scripts/user_retirement/docs/index.html>`_
|
|
|
|
`Configuration Docs <https://docs.openedx.org/projects/edx-platform/en/latest/references/docs/scripts/user_retirement/docs/driver_setup.html>`_
|
|
|
|
|
|
Execute Script
|
|
--------------
|
|
|
|
Execute the following shell command to establish entry points for the scripts
|
|
|
|
.. code-block:: bash
|
|
|
|
chmod +x scripts/user_retirement/entry_points.sh
|
|
source scripts/user_retirement/entry_points.sh
|
|
|
|
To retire a specific learner, you can use the provided example script:
|
|
|
|
.. code-block:: bash
|
|
|
|
retire_one_learner.py \
|
|
--config_file=src/config.yml \
|
|
--username=user1
|
|
|
|
Make sure to replace ``src/config.yml`` with the actual path to your configuration file and ``user1`` with the actual username.
|
|
|
|
You can also execute Python scripts directly using the file path:
|
|
|
|
.. code-block:: bash
|
|
|
|
python scripts/user_retirement/retire_one_learner.py \
|
|
--config_file=src/config.yml \
|
|
--username=user1
|
|
|
|
Feel free to customize these steps according to your specific environment and requirements.
|
|
|
|
Run Test Cases
|
|
==============
|
|
|
|
Before running test cases, install the testing requirements:
|
|
|
|
.. code-block:: bash
|
|
|
|
pip install -r scripts/user_retirement/requirements/testing.txt
|
|
|
|
Run the test cases using pytest:
|
|
|
|
.. code-block:: bash
|
|
|
|
pytest scripts/user_retirement
|