cookiecutteropenedxplugin 0.1.3
Cookiecutter Open edX Plugin
An Open edX Plugin that implements customizations for deployment to Kubernetes. Implements the following:
Hooks for openedx Django Signals for 'user_logged_in', 'user_logged_out', 'register_user', 'course_enrollment_created', 'certificate_created' and more. Demonstrates both the legacy, and the newer methodology for subscribing to and listening for the signals.
Scaffolding for waffle flag setup, including Django model initializations. These are currently only used to enable Django Signals.
A custom badges backend that is compatible with django-storages backend for Amazon S3
Getting Started
Install using Tutor
See Installing extra xblocks and requirements
tutor config save # to ensure that tutor's root folder system has been created
# OPTION 1: install as a PyPi package
echo "cookiecutter-openedx-plugin>=0.1.3" >> "$(tutor config printroot)/env/build/openedx/requirements/private.txt"
# OPTION 2: install as an editable requirement
echo "-e git+https://github.com/cookiecutter-openedx/cookiecutter-openedx-plugin.git" >> "$(tutor config printroot)/env/build/openedx/requirements/private.txt"
cat "$(tutor config printroot)/env/build/openedx/requirements/private.txt"
tutor images build openedx
tutor local quickstart
Install using Cookiecutter Github Actions Workflow
Add the following to your Cookiecutter Github Actions Build workflow
- name: Add cookiecutter-openedx-plugin
uses: openedx-actions/tutor-plugin-build-openedx-add-requirement
with:
pip-package: cookiecutter-openedx-plugin
pip-package-version: "0.1.3"
Documentation
Documentation is available here: Documentation
Support
To get community support, go to the official Open edX discussion forum: https://discuss.openedx.org.
Contributing
We welcome contributions! cookiecutter-openedx-plugin is part of the cookiecutter-openedx project. Pull requests are welcome in all repos belonging to this organization. You can also contact Lawrence McDaniel directly.
Getting Started With Local development
Use the same virtual environment that you use for edx-platform
Ensure that your Python interpreter to 3.8x
install black: https://pypi.org/project/black/
install flake8: https://flake8.pycqa.org/en/latest/
install flake8-coding: https://pypi.org/project/flake8-coding/
# Run these from within your edx-platform virtual environment
python3 -m venv venv
source venv/bin/activate
cd /path/to/edx-platform
pip install -r requirements/edx/base.txt
pip install -r requirements/edx/coverage.txt
pip install -r requirements/edx/development.txt
pip install -r requirements/edx/pip-tools.txt
pip install -r requirements/edx/testing.txt
pip install -r requirements/edx/doc.txt
pip install -r requirements/edx/paver.txt
pip install pre-commit black flake8
pre-commit install
Local development good practices
run black on modified code before committing.
run flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
run flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
run pre-commit run --all-files before pushing. see: https://pre-commit.com/
edx-platform dependencies
To avoid freaky version conflicts in prod it's a good idea to install all of the edx-platform requirements to your local dev virtual environment.
requirements/edx/base.txt
requirements/edx/develop.txt,
requirements/edx/testing.txt
At a minimum this will give you the full benefit of your IDE's linter.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.