Package: edx-arch-experiments
A plugin to include applications under development by and useful utility scripts for the architecture team at 2U.OverviewThis plugin is meant to house experimental and in-development applications from the edX architecture team at 2U that are either not appropriate (i.e. 2U-specific) or not yet ready for community consumption.
It also includes some one-off scripts meant to reduce toil for the team.Development WorkflowOne Time Setup# Clone the repository
git clone git@github.com:edx/edx-arch-experiments.git
cd edx-arch-experiments

# Set up a virtualenv using virtualenvwrapper with the same name as the repo and activate it
mkvirtualenv -p python3.8 edx-arch-experimentsLocal testingTwo options are available for testing changes locally:First, viamake test-shella dockerized development envrionment can be launched to runpytestand do basic migration work.Second, a local copy of the package can be installed into edx-platform. For example, if using devstack, copy or clone your branch into <devstack-parent>/src/edx-arch-experiments. Then, in an lms or cms shell, runpip install-e/edx/src/edx-arch-experiments.  The plug-in configuration will automatically be picked up once installed, and changes will be hot reloaded.Every time you develop something in this repo# Activate the virtualenv
workon edx-arch-experiments

# Grab the latest code
git checkout main
git pull

# Install/update the dev requirements
make requirements

# Run the tests and quality checks (to verify the status before you make any changes)
make validate

# Make a new branch for your changes
git checkout -b <your_github_username>/<short_description>

# Using your favorite editor, edit the code to make your change.
vim …

# Run your new tests
pytest ./path/to/new/tests

# Run all the tests and quality checks
make validate

# Commit all your changes
git commit …
git push

# Open a PR and ask for review.LicenseThe code in this repository is licensed under the AGPL 3.0 unless
otherwise noted.Please seeLICENSE.txtfor details.How To ContributeContributions are very welcome.
Please readHow To Contributefor details.
Even though they were written withedx-platformin mind, the guidelines
should be followed for all Open edX projects.The pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you
can find it atPULL_REQUEST_TEMPLATE.md.The issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you
can find it atISSUE_TEMPLATE.md.Reporting Security IssuesPlease do not report security issues in public. Please emailsecurity@edx.org.Getting HelpIf you’re having trouble, we have discussion forums athttps://discuss.openedx.orgwhere you can connect with others in the community.Our real-time conversations are on Slack. You can request aSlack invitation, then join ourcommunity Slack workspace.For more information about these options, see theGetting Helppage.Change LogUnreleased[3.3.1] - 2024-02-26AddedAdded support forPython 3.12[3.3.0] - 2024-01-23ChangedUpdatedConfigWatcherto include the IDA’s name in change messages ifCONFIG_WATCHER_SERVICE_NAMEis setEnabledConfigWatcheras a plugin for CMS[3.2.0] - 2024-01-11AddedAddcodejail_serviceapp for transition to containerized codejail[3.1.1] - 2023-11-06FixedConfigWatcher should now respond to model events properly now that it registers receivers with strong references. (Tested in sandbox.)[3.1.0] - 2023-10-31ChangedAdd log message for each model the ConfigWatcher is listening toEnsure that ConfigWatcher only attaches receivers once[3.0.0] - 2023-10-30ChangedRenamedConfigWatcherApptoConfigWatcherto be less redundant. This is technically a breaking change but the app was not in use yet.EnabledConfigWatcheras a plugin for LMS[2.2.0] - 2023-10-27AddedAddedx_arch_experiments.config_watcherDjango app for monitoring Waffle changesAdd script to get github action errorsAdd script to republish failed events[2.1.0] - 2023-10-10Add ORA2 to our code owner mapping script.[2.0.0] - 2023-06-01Removes summary hook aside, now in the ai-aside repo[1.2.0] - 2023-05-08Update summary hook to trigger on videosRemove text selection data key from summary hook html[1.1.4] - 2023-04-14Add course and block ID to summary hook html[1.1.3] - 2023-04-05FixedRemoveddefault_app_config(deprecated in Django 3)[1.1.2] - 2023-03-14Add “staff only” summary hook flag[1.1.1] - 2023-03-09Revise summary hook HTML[1.1.0] - 2023-03-08Add summary hook xblock aside[1.0.0] - 2022-10-06Breaking change: Removekafka_consumerpackage and plugin (migrated toedx-event-bus-kafka)[0.2.1] - 2022-06-14Add new target to MakefileUpdate openedx-events[0.2.0] - 2022-03-16Update consumer to use bridge and signals[0.1.1] - 2022-03-16Fix GitHub actions[0.1.0] - 2022-02-22AddedFirst release on PyPI.