Skip to content

Eox Theming | eduNEXT Open edX extensions for theming

License

Notifications You must be signed in to change notification settings

Ever3tt/eox-theming

 
 

Repository files navigation

Open edX Theming Plugin

Features

This plugin provides a stable place from where to create and launch your openedx theme.

Compatibility Notes

Open edX Release Version
Juniper >= 1.0 < 2.0
Koa >= 2.0 < 3.0
Lilac >= 2.0
Maple >= 3.0
Nutmeg >= 4.0
Olive >= 5.0
Palm >= 6.0

NOTE: 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.

Juniper

EOX_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

EOX_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 in eox_theming/settings/common.py or, for example, in ansible configurations.

NOTE: the current common.py works with Open edX lilac version.

Installation

Open edX devstack

  • Clone 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/folder
  • Restart lms/cms services.

Tutor

  • Install the plugin with OPENEDX_EXTRA_PIP_REQUIREMENTS, this should be added in the config.yml.
  • Restart lms/cms services.

Usage

Include a usage description for your plugin.

Settings

To 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 the common.py file and set the USE_EOX_TENANT variable to True

Include the follow configuration in devstack.py:

"""
Production Django settings for eox_theming project.
"""

from __future__ import unicode_literals


def plugin_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_FINDERS

    settings.STATICFILES_STORAGE = 'eox_theming.theming.storage.EoxDevelopmentStorage'

    from lms.envs.common import _make_mako_template_dirs # pylint: disable=import-error
    settings.ENABLE_COMPREHENSIVE_THEMING = True
    settings.COMPREHENSIVE_THEME_DIRS = [
        '/edx/src/themes/ednx-test-themes/edx-platform/',
    ]
    settings.TEMPLATES[1]["DIRS"] = _make_mako_template_dirs
    settings.derive_settings("lms.envs.devstack")

Note that in COMPREHENSIVE_THEME_DIRS it must contain a list of directories where the folders of the themes to be tested are located.

Contributing

Contributions are welcome! See our CONTRIBUTING file for more information - it also contains guidelines for how to maintain high code quality, which will make your contribution more likely to be accepted.

About

Eox Theming | eduNEXT Open edX extensions for theming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.5%
  • Makefile 2.5%