Skip to content

Commit bcb5d04

Browse files
pwnage101claude
andcommitted
feat: register enterprise and consent as openedx LMS plugins
- Add plugin_app dict to EnterpriseConfig (enterprise/apps.py) declaring lms.djangoapp settings config with common and production relative paths. - Add plugin_app dict to ConsentConfig (consent/apps.py) declaring lms.djangoapp settings config with common and production relative paths. - Create enterprise/settings/common.py with empty plugin_settings() stub. - Create enterprise/settings/production.py re-exporting plugin_settings from common. - Create consent/settings/__init__.py, consent/settings/common.py with empty plugin_settings() stub, and consent/settings/production.py re-exporting from common. - Add lms.djangoapp entry_points to setup.py for enterprise and consent so the openedx plugin framework can discover them via stevedore. - Bump version to 6.8.0 and add CHANGELOG entry. ENT-11663 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent bb0fb9b commit bcb5d04

10 files changed

Lines changed: 77 additions & 1 deletion

File tree

CHANGELOG.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ Unreleased
1717
----------
1818
* nothing unreleased
1919

20+
[6.8.0] - 2026-03-24
21+
---------------------
22+
* feat: register enterprise and consent as openedx LMS plugins (ENT-11663)
23+
2024
[6.7.0] - 2026-03-10
2125
---------------------
2226
* feat: Invite admin endpoints with validation (ENT-11238)

consent/apps.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,19 @@
1111
class ConsentConfig(AppConfig):
1212
"""Configuration for edX Enterprise's Consent application."""
1313

14+
plugin_app = {
15+
"settings_config": {
16+
"lms.djangoapp": {
17+
"common": {
18+
"relative_path": "settings.common",
19+
},
20+
"production": {
21+
"relative_path": "settings.production",
22+
},
23+
},
24+
},
25+
}
26+
1427
name = 'consent'
1528
verbose_name = "Enterprise Consent"
1629

consent/settings/__init__.py

Whitespace-only changes.

consent/settings/common.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""
2+
Common plugin settings for the consent app.
3+
"""
4+
5+
6+
def plugin_settings(settings): # pylint: disable=unused-argument
7+
"""
8+
Override platform settings for the consent app.
9+
10+
This is called by the Open edX plugin system during LMS/CMS startup. Add
11+
any Django settings overrides here (e.g. ``settings.FEATURES['...'] = True``).
12+
13+
Args:
14+
settings: The Django settings module being configured.
15+
"""

consent/settings/production.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""
2+
Production plugin settings for the consent app.
3+
"""
4+
5+
from consent.settings.common import plugin_settings # noqa: F401 pylint: disable=unused-import

enterprise/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
Your project description goes here.
33
"""
44

5-
__version__ = "6.7.0"
5+
__version__ = "6.8.0"

enterprise/apps.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ class EnterpriseConfig(AppConfig):
1313
Configuration for the enterprise Django application.
1414
"""
1515

16+
plugin_app = {
17+
"settings_config": {
18+
"lms.djangoapp": {
19+
"common": {
20+
"relative_path": "settings.common",
21+
},
22+
"production": {
23+
"relative_path": "settings.production",
24+
},
25+
},
26+
},
27+
}
28+
1629
name = "enterprise"
1730
valid_image_extensions = [".png", ]
1831
valid_max_image_size = getattr(settings, 'ENTERPRISE_CUSTOMER_LOGO_IMAGE_SIZE', 512) # Value in KB's

enterprise/settings/common.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""
2+
Common plugin settings for the enterprise app.
3+
"""
4+
5+
6+
def plugin_settings(settings): # pylint: disable=unused-argument
7+
"""
8+
Override platform settings for the enterprise app.
9+
10+
This is called by the Open edX plugin system during LMS/CMS startup. Add
11+
any Django settings overrides here (e.g. ``settings.FEATURES['...'] = True``).
12+
13+
Args:
14+
settings: The Django settings module being configured.
15+
"""

enterprise/settings/production.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""
2+
Production plugin settings for the enterprise app.
3+
"""
4+
5+
from enterprise.settings.common import plugin_settings # noqa: F401 pylint: disable=unused-import

setup.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,12 @@ def get_requirements(requirements_file):
8383
setup(
8484
name="edx-enterprise",
8585
version=VERSION,
86+
entry_points={
87+
"lms.djangoapp": [
88+
"enterprise = enterprise.apps:EnterpriseConfig",
89+
"consent = consent.apps:ConsentConfig",
90+
],
91+
},
8692
description="""Your project description goes here""",
8793
long_description=f"{README}\n\n{CHANGELOG}",
8894
author="edX",

0 commit comments

Comments
 (0)