Package: eox-core
Eox-core (A.K.A. Edunext Open extensions) is anopenedx plugin, for theedx-platformthat adds multiple API
endpoints in order to extend the functionality of theedx-platformand avoid changing the base code directly. These
API endpoints includes bulk creation of pre-activated users (for example, skip sending an activation email), enrollments
and pre-enrollment operations.InstallationAdd this plugin in your Tutorconfig.ymlin theOPENEDX_EXTRA_PIP_REQUIREMENTSvariable.Save your configuration withtutor config save.Build your open edx image withtutor images build openedx.Launch your platform withtutor local launch.Note:To use all the features, you need to havethe tutor-forum pluginandthe eox-tenant plugin.FeaturesSupport redirections with middlewares.Add pipelines to be used withopenedx-filters.Add a group of APIs.You can find more information inHelp for devs doc.Compatibility NotesOpen edX ReleaseVersionIronwood< 3.0Juniper>= 3.0 < 5.0Koa>= 4.9 < 6.0Lilac>= 4.9 < 6.0Maple>= 6.0Nutmeg>= 7.0Olive>= 8.0Palm>= 9.0Quince>= 10.0NOTE: The Maple version does not support Django 2.2 but it does support Django 3.2 as of eox-core 7.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.LilacEOX_CORE_USERS_BACKEND:"eox_core.edxapp_wrapper.backends.users_l_v1"EOX_CORE_PRE_ENROLLMENT_BACKEND:"eox_core.edxapp_wrapper.backends.pre_enrollment_l_v1"EOX_CORE_ENROLLMENT_BACKEND:"eox_core.edxapp_wrapper.backends.enrollment_l_v1"MapleEOX_CORE_USERS_BACKEND:"eox_core.edxapp_wrapper.backends.users_m_v1"EOX_CORE_PRE_ENROLLMENT_BACKEND:"eox_core.edxapp_wrapper.backends.pre_enrollment_l_v1"EOX_CORE_ENROLLMENT_BACKEND:"eox_core.edxapp_wrapper.backends.enrollment_l_v1"NutmegEOX_CORE_USERS_BACKEND:"eox_core.edxapp_wrapper.backends.users_m_v1"EOX_CORE_PRE_ENROLLMENT_BACKEND:"eox_core.edxapp_wrapper.backends.pre_enrollment_l_v1"EOX_CORE_ENROLLMENT_BACKEND:"eox_core.edxapp_wrapper.backends.enrollment_l_v1"Olive, Palm and QuinceEOX_CORE_ENROLLMENT_BACKEND:"eox_core.edxapp_wrapper.backends.enrollment_o_v1"These settings can be changed ineox_core/settings/common.pyor, for example, in ansible configurations.NOTE: the currentcommon.pyworks with Open edX Nutmeg version.Dependency ManagementEOX core now follows OEP-18 so the correct way to update dependencies is to runmake upgradeinside your virtualenv.Integrations with third party servicesThe plugin offers some integrations listed below:Sentry: This service allows to track the errors generated on edx-platform. Check more details inhttps://sentry.io/welcome/.
To enable the integration, follow the steps below:Install the plugin with Sentry support (extras_require [sentry]).Sign up/in to your sentry account and create a new Django application integration.Get the DSN for your integration. This is an unique identifier for your application.Setup the following configuration values for edx-platform:EOX_CORE_SENTRY_INTEGRATION_DSN:<your DSN value>EOX_CORE_SENTRY_IGNORED_ERRORS:[]# optionalEOX_CORE_SENTRY_EXTRA_OPTIONS:{}# optionalBy default,EOX_CORE_SENTRY_INTEGRATION_DSNsetting is None, which disables the sentry integration.EOX_CORE_SENTRY_IGNORED_ERRORSis optional. It is a list of the exceptions you want to ignore. For instance, it can be defined as:EOX_CORE_SENTRY_EXTRA_OPTIONSis optional. It is a dictionary with extra options to be passed to the sentry client. For instance, it can be defined as:EOX_CORE_SENTRY_IGNORED_ERRORS:['xmodule.exceptions.NotFoundError','openedx.core.djangoapps.user_authn.exceptions.AuthFailedError',]EOX_CORE_SENTRY_EXTRA_OPTIONS:experiments:profiles_sample_rate:0.5another_client_parameter:'value'Auditing Django viewsThe majority of views in eox-core use an auditing decorator, defined in our custom library calledeox-audit-model,
that helps saving relevant information about non-idempotent operations. By default this functionality is turned on. To
check your auditing records go to Django sysadmin and find DJANGO EDUNEXT AUDIT MODEL.For more information, check the eox-audit-model documentation.How to ContributeContributions 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.