Files
edx-platform/openedx/core/djangoapps/xblock/apps.py
Kyle McCormick 15caa9746f refactor: Completely remove Blockstore (#34739)
Blockstore and all of its (experimental) functionality has been replaced with
openedx-learning, aka "Learning Core". This commit uninstalls the now-unused
openedx-blockstore package and removes all dangling references to it.

Note: This also removes the `copy_library_from_v1_to_v2` management command,
which has been broken ever since we switched from Blockstore to Learning Core.

Part of this DEPR: https://github.com/openedx/public-engineering/issues/238
2024-05-13 09:48:18 -04:00

99 lines
3.0 KiB
Python

"""
Django app configuration for the XBlock Runtime django app
"""
from django.apps import AppConfig, apps
from django.conf import settings
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
from .data import StudentDataMode
class XBlockAppConfig(AppConfig):
"""
Django app configuration for the new XBlock Runtime django app
"""
name = 'openedx.core.djangoapps.xblock'
verbose_name = 'New XBlock Runtime'
label = 'xblock_new' # The name 'xblock' is already taken by ORA2's 'openassessment.xblock' app :/
def get_runtime_system_params(self):
"""
Get the XBlockRuntimeSystem parameters appropriate for viewing and/or
editing XBlock content.
"""
raise NotImplementedError
def get_site_root_url(self):
"""
Get the absolute root URL to this site, e.g. 'https://courses.example.com'
Should not have any trailing slash.
"""
raise NotImplementedError
def get_learning_context_params(self):
"""
Get additional kwargs that are passed to learning context implementations
(LearningContext subclass constructors).
"""
return {}
class LmsXBlockAppConfig(XBlockAppConfig):
"""
LMS-specific configuration of the XBlock Runtime django app.
"""
def get_runtime_system_params(self):
"""
Get the XBlockRuntimeSystem parameters appropriate for viewing and/or
editing XBlock content in the LMS
"""
return dict(
student_data_mode=StudentDataMode.Persisted,
)
def get_site_root_url(self):
"""
Get the absolute root URL to this site, e.g. 'https://courses.example.com'
Should not have any trailing slash.
"""
return configuration_helpers.get_value('LMS_ROOT_URL', settings.LMS_ROOT_URL)
class StudioXBlockAppConfig(XBlockAppConfig):
"""
Studio-specific configuration of the XBlock Runtime django app.
"""
def get_runtime_system_params(self):
"""
Get the XBlockRuntimeSystem parameters appropriate for viewing and/or
editing XBlock content in Studio
"""
return dict(
student_data_mode=StudentDataMode.Ephemeral,
)
def get_site_root_url(self):
"""
Get the absolute root URL to this site, e.g. 'https://studio.example.com'
Should not have any trailing slash.
"""
scheme = "https" if settings.HTTPS == "on" else "http"
return scheme + '://' + settings.CMS_BASE
# or for the LMS version: configuration_helpers.get_value('LMS_ROOT_URL', settings.LMS_ROOT_URL)
def get_learning_context_params(self):
"""
Get additional kwargs that are passed to learning context implementations
(LearningContext subclass constructors).
"""
return {}
def get_xblock_app_config():
"""
Get whichever of the above AppConfig subclasses is active.
"""
return apps.get_app_config(XBlockAppConfig.label)