A plugin for openedx-platform to store LTI configurations centrally. This allows course creators to add LTI components without having to enter the details like secrets, keys and URLs everytime the component block is created.
The development instructions are written with the Open edX Devstack as reference.
<devstack_root>/src/
directory
cd <devstack_root>/src/
git clone git@github.com:open-craft/openedx-ltistore.git
cd <devstack_root>/devstack/
make studio-shell
pip install -e /edx/src/openedx-ltistore
python manage.py cms migrate lti_store
exit
make lms-shell
pip install -e /edx/src/openedx-ltistore
exit
openedx-filters
mechanism. It calls the filter org.openedx.xblock.lti_consumer.configuration.listed.v1
whenever it wants to fetch the configurations from external tools like plugins. In order for LTI Store to send available LTI Tools, add the following to any existing openedx-filters
configurations for both LMS (edx-platform/lms/envs/devstack.py
or private.py
) and studio (edx-platform/cms/envs/devstack.py
):
OPEN_EDX_FILTERS_CONFIG = {
"org.openedx.xblock.lti_consumer.configuration.listed.v1": {
"fail_silently": False,
"pipeline": [
"lti_store.pipelines.GetLtiConfigurations"
]
}
}
make lms-restart
make studio-restart
Now any changes made to the source code should reflect in the application
http://localhost:18000/admin
LTI_STORE
and add External lti configurations by clicking + Add
buttonhttp://localhost:18000/admin
LTI_STORE
and go to External lti configurationslti_store:1
).The project uses Black for linting. To lint the code
make lint
Unit tests can be run with
make test