diff --git a/lms/envs/aws.py b/lms/envs/aws.py index bf65051e9c..9c3d4a952a 100644 --- a/lms/envs/aws.py +++ b/lms/envs/aws.py @@ -1,8 +1,7 @@ # -*- coding: utf-8 -*- """ -This is the default template for our main set of AWS servers. This does NOT -cover the content machines, which use content.py +This is the default template for our main set of AWS servers. Common traits: * Use memcached, and cache-backed sessions @@ -46,7 +45,6 @@ CONFIG_ROOT = path(os.environ.get('CONFIG_ROOT', ENV_ROOT)) # prefix. CONFIG_PREFIX = SERVICE_VARIANT + "." if SERVICE_VARIANT else "" - ################################ ALWAYS THE SAME ############################## DEBUG = False @@ -271,12 +269,6 @@ BULK_EMAIL_ROUTING_KEY = ENV_TOKENS.get('BULK_EMAIL_ROUTING_KEY', HIGH_PRIORITY_ # we have to reset the value here. BULK_EMAIL_ROUTING_KEY_SMALL_JOBS = ENV_TOKENS.get('BULK_EMAIL_ROUTING_KEY_SMALL_JOBS', LOW_PRIORITY_QUEUE) -# Queue to use for updating persistent grades -RECALCULATE_GRADES_ROUTING_KEY = ENV_TOKENS.get('RECALCULATE_GRADES_ROUTING_KEY', LOW_PRIORITY_QUEUE) - -# Queue to use for updating grades due to grading policy change -POLICY_CHANGE_GRADES_ROUTING_KEY = ENV_TOKENS.get('POLICY_CHANGE_GRADES_ROUTING_KEY', LOW_PRIORITY_QUEUE) - # Queue to use for expiring old entitlements ENTITLEMENTS_EXPIRATION_ROUTING_KEY = ENV_TOKENS.get('ENTITLEMENTS_EXPIRATION_ROUTING_KEY', LOW_PRIORITY_QUEUE) @@ -1075,15 +1067,6 @@ PARENTAL_CONSENT_AGE_LIMIT = ENV_TOKENS.get( PARENTAL_CONSENT_AGE_LIMIT ) -############## Settings for ACE #################################### -ACE_ENABLED_CHANNELS = ENV_TOKENS.get('ACE_ENABLED_CHANNELS', ACE_ENABLED_CHANNELS) -ACE_ENABLED_POLICIES = ENV_TOKENS.get('ACE_ENABLED_POLICIES', ACE_ENABLED_POLICIES) -ACE_CHANNEL_SAILTHRU_DEBUG = ENV_TOKENS.get('ACE_CHANNEL_SAILTHRU_DEBUG', ACE_CHANNEL_SAILTHRU_DEBUG) -ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME = ENV_TOKENS.get('ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME', ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME) -ACE_CHANNEL_SAILTHRU_API_KEY = AUTH_TOKENS.get('ACE_CHANNEL_SAILTHRU_API_KEY', ACE_CHANNEL_SAILTHRU_API_KEY) -ACE_CHANNEL_SAILTHRU_API_SECRET = AUTH_TOKENS.get('ACE_CHANNEL_SAILTHRU_API_SECRET', ACE_CHANNEL_SAILTHRU_API_SECRET) -ACE_ROUTING_KEY = ENV_TOKENS.get('ACE_ROUTING_KEY', ACE_ROUTING_KEY) - # Do NOT calculate this dynamically at startup with git because it's *slow*. EDX_PLATFORM_REVISION = ENV_TOKENS.get('EDX_PLATFORM_REVISION', EDX_PLATFORM_REVISION) @@ -1101,6 +1084,11 @@ COMPLETION_VIDEO_COMPLETE_PERCENTAGE = ENV_TOKENS.get( COMPLETION_VIDEO_COMPLETE_PERCENTAGE, ) +############################### Plugin Settings ############################### + +from openedx.core.djangolib.django_plugins import DjangoAppRegistry, ProjectType, SettingsType +DjangoAppRegistry.add_plugin_settings(__name__, ProjectType.LMS, SettingsType.AWS) + ########################## Derive Any Derived Settings ####################### derive_settings(__name__) diff --git a/lms/envs/common.py b/lms/envs/common.py index 3220992aa6..f0c29f3f84 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -2015,14 +2015,6 @@ BULK_EMAIL_LOG_SENT_EMAILS = False # parallel, and what the SES rate is. BULK_EMAIL_RETRY_DELAY_BETWEEN_SENDS = 0.02 -############################# Persistent Grades #################################### - -# Queue to use for updating persistent grades -RECALCULATE_GRADES_ROUTING_KEY = LOW_PRIORITY_QUEUE - -# Queue to use for updating grades due to grading policy change -POLICY_CHANGE_GRADES_ROUTING_KEY = LOW_PRIORITY_QUEUE - ############################# Email Opt In #################################### # Minimum age for organization-wide email opt in @@ -2105,9 +2097,6 @@ INSTALLED_APPS = [ # For content serving 'openedx.core.djangoapps.contentserver', - # Theming - 'openedx.core.djangoapps.theming.apps.ThemingConfig', - # Site configuration for theming and behavioral modification 'openedx.core.djangoapps.site_configuration', @@ -2136,7 +2125,6 @@ INSTALLED_APPS = [ 'openedx.core.djangoapps.course_groups', 'bulk_email', 'branding', - 'lms.djangoapps.grades.apps.GradesConfig', # Signals 'openedx.core.djangoapps.signals.apps.SignalConfig', @@ -2344,8 +2332,6 @@ INSTALLED_APPS = [ 'database_fixups', 'openedx.core.djangoapps.waffle_utils', - 'openedx.core.djangoapps.ace_common.apps.AceCommonConfig', - 'openedx.core.djangoapps.schedules.apps.SchedulesConfig', # Course Goals 'lms.djangoapps.course_goals', @@ -3443,20 +3429,6 @@ COURSES_API_CACHE_TIMEOUT = 3600 # Value is in seconds COURSEGRAPH_JOB_QUEUE = LOW_PRIORITY_QUEUE -############## Settings for ACE #################################### -ACE_ENABLED_CHANNELS = [ - 'file_email' -] -ACE_ENABLED_POLICIES = [ - 'bulk_email_optout' -] -ACE_CHANNEL_SAILTHRU_DEBUG = True -ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME = 'Automated Communication Engine Email' -ACE_CHANNEL_SAILTHRU_API_KEY = None -ACE_CHANNEL_SAILTHRU_API_SECRET = None - -ACE_ROUTING_KEY = LOW_PRIORITY_QUEUE - # Initialize to 'unknown', but read from JSON in aws.py EDX_PLATFORM_REVISION = 'unknown' @@ -3469,3 +3441,9 @@ COMPLETION_VIDEO_COMPLETE_PERCENTAGE = 0.95 ############### Settings for Django Rate limit ##################### RATELIMIT_ENABLE = True RATELIMIT_RATE = '30/m' + +############## Plugin Django Apps ######################### + +from openedx.core.djangolib.django_plugins import DjangoAppRegistry, ProjectType, SettingsType +INSTALLED_APPS.extend(DjangoAppRegistry.get_plugin_apps(ProjectType.LMS)) +DjangoAppRegistry.add_plugin_settings(__name__, ProjectType.LMS, SettingsType.COMMON) diff --git a/lms/envs/devstack.py b/lms/envs/devstack.py index 04e187a84b..c73423b122 100644 --- a/lms/envs/devstack.py +++ b/lms/envs/devstack.py @@ -269,21 +269,9 @@ JWT_AUTH.update({ 'JWT_AUDIENCE': 'lms-key', }) - -############## Settings for ACE #################################### -ACE_ENABLED_CHANNELS = [ - 'file_email' -] -ACE_ENABLED_POLICIES = [ - 'bulk_email_optout' -] -ACE_CHANNEL_SAILTHRU_DEBUG = True -ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME = 'Automated Communication Engine Email' -ACE_CHANNEL_SAILTHRU_API_KEY = None -ACE_CHANNEL_SAILTHRU_API_SECRET = None - -ACE_ROUTING_KEY = LOW_PRIORITY_QUEUE - +##################################################################### +from openedx.core.djangolib.django_plugins import DjangoAppRegistry, ProjectType, SettingsType +DjangoAppRegistry.add_plugin_settings(__name__, ProjectType.LMS, SettingsType.DEVSTACK) ##################################################################### # See if the developer has any local overrides. diff --git a/lms/envs/test.py b/lms/envs/test.py index f42194289b..f32d50b6e7 100644 --- a/lms/envs/test.py +++ b/lms/envs/test.py @@ -297,10 +297,6 @@ OIDC_COURSE_HANDLER_CACHE_TIMEOUT = 0 FEATURES['ENABLE_MOBILE_REST_API'] = True FEATURES['ENABLE_VIDEO_ABSTRACTION_LAYER_API'] = True -########################### Grades ################################# -FEATURES['PERSISTENT_GRADES_ENABLED_FOR_ALL_TESTS'] = True -FEATURES['ASSUME_ZERO_GRADE_IF_ABSENT_FOR_ALL_TESTS'] = True - ###################### Payment ##############################3 # Enable fake payment processing page FEATURES['ENABLE_PAYMENT_FAKE'] = True @@ -532,9 +528,6 @@ NOTES_DISABLED_TABS = [] # Enable EdxNotes for tests. FEATURES['ENABLE_EDXNOTES'] = True -# Enable teams feature for tests. -FEATURES['ENABLE_TEAMS'] = True - # Enable courseware search for tests FEATURES['ENABLE_COURSEWARE_SEARCH'] = True @@ -601,6 +594,11 @@ ACTIVATION_EMAIL_FROM_ADDRESS = 'test_activate@edx.org' TEMPLATES[0]['OPTIONS']['debug'] = True +####################### Plugin Settings ########################## + +from openedx.core.djangolib.django_plugins import DjangoAppRegistry, ProjectType, SettingsType +DjangoAppRegistry.add_plugin_settings(__name__, ProjectType.LMS, SettingsType.TEST) + ########################## Derive Any Derived Settings ####################### derive_settings(__name__) diff --git a/lms/urls.py b/lms/urls.py index 7a3f6fd78f..1098e6fa0b 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -133,9 +133,6 @@ urlpatterns = [ # URLs for managing dark launches of languages url(r'^update_lang/', include('openedx.core.djangoapps.dark_lang.urls', namespace='dark_lang')), - # URLs for managing theming - url(r'^theming/', include('openedx.core.djangoapps.theming.urls', namespace='theming')), - # For redirecting to help pages. url(r'^help_token/', include('help_tokens.urls')), @@ -478,13 +475,6 @@ urlpatterns += [ name='program_marketing_view', ), - # rest api for grades - url( - r'^api/grades/', - include('lms.djangoapps.grades.api.urls', namespace='grades_api') - ), - - # For the instructor url( r'^courses/{}/instructor$'.format( @@ -1084,3 +1074,7 @@ if settings.BRANCH_IO_KEY: urlpatterns += [ url(r'^text-me-the-app', 'student.views.text_me_the_app', name='text_me_the_app'), ] + + +from openedx.core.djangolib.django_plugins import DjangoAppRegistry, ProjectType +urlpatterns.extend(DjangoAppRegistry.get_plugin_url_patterns(ProjectType.LMS))