Package: eox-theming
FeaturesThis plugin provides a stable place from where to create and launch your openedx theme.Compatibility NotesOpen edX ReleaseVersionJuniper>= 1.0 < 2.0Koa>= 2.0 < 3.0Lilac>= 2.0Maple>= 3.0Nutmeg>= 4.0Olive>= 5.0Palm>= 6.0Quince>= 7.0NOTE: From Lilac version Django 2.2 is not supported, you should use Django 3.2 and eox-tenant >=4.0.The following changes to the plugin settings are necessary. If the release you are looking for is
not listed, then the accumulation of changes from previous releases is enough.JuniperEOX_THEMING_BASE_FINDER_BACKEND='eox_theming.edxapp_wrapper.backends.j_finders'EOX_THEMING_BASE_LOADER_BACKEND='eox_theming.edxapp_wrapper.backends.j_loaders'EOX_THEMING_SITE_THEME_BACKEND='eox_theming.edxapp_wrapper.backends.j_models'EOX_THEMING_CONFIGURATION_HELPER_BACKEND='eox_theming.edxapp_wrapper.backends.j_configuration_helpers'EOX_THEMING_THEMING_HELPER_BACKEND='eox_theming.edxapp_wrapper.backends.j_theming_helpers'EOX_THEMING_STORAGE_BACKEND='eox_theming.edxapp_wrapper.backends.j_storage'STATICFILES_STORAGE='eox_theming.theming.storage.EoxProductionStorage'EOX_THEMING_EDXMAKO_BACKEND='eox_theming.edxapp_wrapper.backends.j_mako'Koa (optional)**EOX_THEMING_STORAGE_BACKEND='eox_theming.edxapp_wrapper.backends.l_storage'EOX_THEMING_EDXMAKO_BACKEND='eox_theming.edxapp_wrapper.backends.l_mako'Lilac - Maple - Nutmeg - Olive - Palm - QuinceEOX_THEMING_STORAGE_BACKEND='eox_theming.edxapp_wrapper.backends.l_storage'EOX_THEMING_EDXMAKO_BACKEND='eox_theming.edxapp_wrapper.backends.l_mako'Those settings can be changed ineox_theming/settings/common.pyor, for example, in ansible configurations.NOTE: the currentcommon.pyworks with Open edX lilac version.InstallationOpen edX devstackClone this repo in the src folder of your devstack.Open a new Lms/Devstack shell.Install the plugin as follows: pip install -e /path/to/your/src/folderRestart lms/cms services.TutorInstall the plugin with OPENEDX_EXTRA_PIP_REQUIREMENTS, this should be added in the config.yml.Restart lms/cms services.UsageInclude a usage description for your plugin.SettingsTo start using eox-theming, we must make the settings shown in the tenant settings (if we don’t have one created, create it and configure it), add some available settings to the tenant:{"THEME_OPTIONS":{"theme":{"grandparent":"test-3","name":"test-1","parent":"test-2"}}}For this, you must also make sure you have eox-tenant installed in your environment,
and to configure it we must locate thecommon.pyfile and set theUSE_EOX_TENANTvariable toTrueInclude the follow configuration in devstack.py:"""
Production Django settings for eox_theming project.
"""from__future__importunicode_literalsdefplugin_settings(settings):"""
    Set of plugin settings used by the Open Edx platform.
    More info: https://github.com/edx/edx-platform/blob/master/openedx/core/djangoapps/plugins/README.rst
    """settings.STATICFILES_FINDERS=['eox_theming.theming.finders.EoxThemeFilesFinder',]+settings.STATICFILES_FINDERSsettings.STATICFILES_STORAGE='eox_theming.theming.storage.EoxDevelopmentStorage'fromlms.envs.commonimport_make_mako_template_dirs# pylint: disable=import-errorsettings.ENABLE_COMPREHENSIVE_THEMING=Truesettings.COMPREHENSIVE_THEME_DIRS=['/edx/src/themes/ednx-test-themes/edx-platform/',]settings.TEMPLATES[1]["DIRS"]=_make_mako_template_dirssettings.derive_settings("lms.envs.devstack")Note that inCOMPREHENSIVE_THEME_DIRSit must contain a list of directories where the folders of the themes to be tested are located.ContributingContributions are welcome! See ourCONTRIBUTINGfile for more information - it also contains guidelines for how to maintain high code
quality, which will make your contribution more likely to be accepted.