A plugin that auto saves the course OLX to git when an author publishes it
Project description
Installation
For detailed installation instructions, please refer to the plugin installation guide.
Installation required in:
Studio (CMS)
Configuration
Enable the following FEATURES flags in the config file in Open edX. For any release after Juniper, that config file is /edx/etc/cms.yml. If you’re using private.py, you will need to enable these FEATURES in cms/envs/private.py.
"FEATURES": { "ENABLE_EXPORT_GIT": true, "ENABLE_AUTO_GITHUB_REPO_CREATION": true # Optional, to auto create github repo for new courses } # Set when ENABLE_AUTO_GITHUB_REPO_CREATION is true GITHUB_ORG_API_URL = "https://api.github.com/orgs/<GITHUB_ORG_NAME>" # For GitHub Enterprise, change the URL accordingly GITHUB_ACCESS_TOKEN = "<GITHUB_PERSONAL_ACCESS_TOKEN>" # Token must have 'repo - Full control of private repositories' permissionSet your commit user in cms/envs/common.py, if you don’t want to use the default one
GIT_EXPORT_DEFAULT_IDENT = { 'name': 'STUDIO_EXPORT_TO_GIT', 'email': 'STUDIO_EXPORT_TO_GIT@example.com' }Restart the server using make studio-restart on Devstack or tutor dev/local restart openedx on Tutor.
For Tutor installations, these values can also be managed through a custom tutor plugin.
Setup github authentication for plugin
If you’re testing from a docker machine running devstack setup github authentication for plugin, you’ll need to generate SSH keys in that machine and add them to your Github account (https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/ - https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account)
Studio/CMS UI settings
Open studio admin at /admin/ol_openedx_git_auto_export/contentgitrepository/
Add your course_id and in the GIT URL, add your OLX git repo. For example git@github.com:<GITHUB_USERNAME>/edx4edxlite.git.
- Make a change to the course content and publish.
When using Tutor, attach with the CMS container using tutor dev/local start cms and enter yes to the prompt to add the GitHub to known hosts.
You should see a new commit in your OLX repo.
Commit user should be the one that published the change.
If user is not available, it should be the default one set in GIT_EXPORT_DEFAULT_IDENT.
Test commit count increase on your OLX repo.
Library Support
This plugin supports automatic git export for both courses and content libraries.
Library v1 (Legacy Libraries)
Library Key Format: library-v1:org+library
Supported Operations:
✅ Auto-export on update: When you update/publish a library v1, changes are automatically exported to git
✅ Auto-repo creation: Library v1 does NOT have a creation signal in Open edX, so the GitHub repository is automatically created on the first library update signal
Setup for Library v1:
Enable the library feature flags in your config:
"FEATURES": { "ENABLE_GIT_AUTO_LIBRARY_EXPORT": true, "ENABLE_AUTO_GITHUB_LIBRARY_REPO_CREATION": true }Make changes to your library and publish
Library v2 (Content Libraries)
Library Key Format: lib:org:slug
Supported Operations:
✅ Auto-export on update: When you update a library v2, changes are automatically exported to git
✅ Auto-repo creation: When you create a new library v2, a GitHub repository can be automatically created
Setup for Library v2:
Enable the library feature flags in your config:
"FEATURES": { "ENABLE_GIT_AUTO_LIBRARY_EXPORT": true, "ENABLE_AUTO_GITHUB_LIBRARY_REPO_CREATION": true }When creating a new library v2, if ENABLE_AUTO_GITHUB_LIBRARY_REPO_CREATION is enabled, a GitHub repository will be created automatically
Updates to the library will be automatically exported to git
Important Notes:
Library v1 does not emit a creation signal, so the GitHub repository is automatically created on the first library update
Library v2 uses the new event architecture and supports both creation and update signals for immediate repository creation
Both library types support automatic git export on updates once configured
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ol_openedx_git_auto_export-0.8.2.tar.gz.
File metadata
- Download URL: ol_openedx_git_auto_export-0.8.2.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb12093ad6724d5a37639075635d342886166bb0653fdb113b4bb681048844d0
|
|
| MD5 |
4b25db95417acac3a8bb9450dcce7eb3
|
|
| BLAKE2b-256 |
b643d75f4324d4fa47c12414cb6c7c11573a6dc0e5518590dea4b0352c660ade
|
File details
Details for the file ol_openedx_git_auto_export-0.8.2-py3-none-any.whl.
File metadata
- Download URL: ol_openedx_git_auto_export-0.8.2-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38299c7c391b6ffbadc23b89792470251fab6a16a7dec1500f4dd12c6e0e9f6c
|
|
| MD5 |
c8b988e1088f7c0a501a1155f8df08f1
|
|
| BLAKE2b-256 |
50a468f26b446c88001204a37a47dbe0c26299080a8c0b4a7d716a88e19a752a
|