Name | eox-hooks JSON |
Version |
6.0.0
JSON |
| download |
home_page | |
Summary | EoxHooks |
upload_time | 2024-02-09 15:52:46 |
maintainer | |
docs_url | None |
author | eduNEXT |
requires_python | |
license | AGPL |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
=========
Eox-hooks
=========
.. |build-status| image:: https://circleci.com/gh/eduNEXT/eox-hooks.svg?style=svg
Eox-hooks (A.K.A. Edunext Open extensions) is an `openedx plugin`_, for the `edx-platform`_ that allows extending
edx-platform through Django configurations and Open edX Events.
Compatibility Notes
--------------------
+-------------------+----------------+
| Open edX Release | Version |
+===================+================+
| Juniper | <= 1.0 |
+-------------------+----------------+
| Koa | > 1.0 |
+-------------------+----------------+
| Lilac | > 1.0 < 2.0 |
+-------------------+----------------+
| Maple | >= 2.0 < 3.0 |
+-------------------+----------------+
| Nutmeg | >= 3.0 |
+-------------------+----------------+
| Olive | >= 4.0 |
+-------------------+----------------+
| Palm | >= 5.0 |
+-------------------+----------------+
| Quince | >= 6.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**
.. code-block:: yaml
EOX_HOOKS_ENROLLMENTS_BACKEND: "eox_hooks.edxapp_wrapper.backends.enrollments_l_v1"
EOX_HOOKS_COURSES_BACKEND: "eox_hooks.edxapp_wrapper.backends.courses_l_v1"
EOX_HOOKS_COURSE_MODES_BACKEND: "eox_hooks.edxapp_wrapper.backends.course_modes_l_v1"
EOX_HOOKS_MODELS_BACKEND: "eox_hooks.edxapp_wrapper.backends.models_l_v1"
**Koa**
.. code-block:: yaml
EOX_HOOKS_ENROLLMENTS_BACKEND: "eox_hooks.edxapp_wrapper.backends.enrollments_l_v1"
EOX_HOOKS_COURSES_BACKEND: "eox_hooks.edxapp_wrapper.backends.courses_l_v1"
EOX_HOOKS_COURSE_MODES_BACKEND: "eox_hooks.edxapp_wrapper.backends.course_modes_l_v1"
EOX_HOOKS_MODELS_BACKEND: "eox_hooks.edxapp_wrapper.backends.models_l_v1"
**Lilac**
.. code-block:: yaml
EOX_HOOKS_ENROLLMENTS_BACKEND: "eox_hooks.edxapp_wrapper.backends.enrollments_l_v1"
EOX_HOOKS_COURSES_BACKEND: "eox_hooks.edxapp_wrapper.backends.courses_l_v1"
EOX_HOOKS_COURSE_MODES_BACKEND: "eox_hooks.edxapp_wrapper.backends.course_modes_l_v1"
EOX_HOOKS_MODELS_BACKEND: "eox_hooks.edxapp_wrapper.backends.models_l_v1"
**Maple**
.. code-block:: yaml
EOX_HOOKS_ENROLLMENTS_BACKEND: "eox_hooks.edxapp_wrapper.backends.enrollments_l_v1"
EOX_HOOKS_COURSES_BACKEND: "eox_hooks.edxapp_wrapper.backends.courses_l_v1"
EOX_HOOKS_COURSE_MODES_BACKEND: "eox_hooks.edxapp_wrapper.backends.course_modes_l_v1"
EOX_HOOKS_MODELS_BACKEND: "eox_hooks.edxapp_wrapper.backends.models_l_v1"
**Nutmeg**
.. code-block:: yaml
EOX_HOOKS_ENROLLMENTS_BACKEND: "eox_hooks.edxapp_wrapper.backends.enrollments_l_v1"
EOX_HOOKS_COURSES_BACKEND: "eox_hooks.edxapp_wrapper.backends.courses_l_v1"
EOX_HOOKS_COURSE_MODES_BACKEND: "eox_hooks.edxapp_wrapper.backends.course_modes_l_v1"
EOX_HOOKS_MODELS_BACKEND: "eox_hooks.edxapp_wrapper.backends.models_l_v1"
**Olive**
.. code-block:: yaml
EOX_HOOKS_ENROLLMENTS_BACKEND: "eox_hooks.edxapp_wrapper.backends.enrollments_l_v1"
EOX_HOOKS_COURSES_BACKEND: "eox_hooks.edxapp_wrapper.backends.courses_l_v1"
EOX_HOOKS_COURSE_MODES_BACKEND: "eox_hooks.edxapp_wrapper.backends.course_modes_l_v1"
EOX_HOOKS_MODELS_BACKEND: "eox_hooks.edxapp_wrapper.backends.models_l_v1"
**Palm and Quince**
.. code-block:: yaml
EOX_HOOKS_ENROLLMENTS_BACKEND: "eox_hooks.edxapp_wrapper.backends.enrollments_l_v1"
EOX_HOOKS_COURSES_BACKEND: "eox_hooks.edxapp_wrapper.backends.courses_p_v1"
EOX_HOOKS_COURSE_MODES_BACKEND: "eox_hooks.edxapp_wrapper.backends.course_modes_l_v1"
EOX_HOOKS_MODELS_BACKEND: "eox_hooks.edxapp_wrapper.backends.models_l_v1"
These settings can be changed in ``eox_hooks/settings/common.py`` or, for example, in ansible configurations.
**NOTE**:
- The current ``common.py`` works with Open edX Lilac version.
- Koa and Lilac work with PR (backports) 28266 and 28640 from Maple release.
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/Studio services.
Usage
#####
Before using eox-hooks, this plugin must be configured using EOX_HOOKS_DEFINITIONS:
.. code-block:: python
{
"trigger_event": {
"module": "path_to_module",
"action": "action_name",
"fail_silently": True,
},
}
Where:
- trigger_event: is the name of the event sent by the platform. For example: pre_enrollment_trigger.
- module: path to the module where the action to be executed is defined. For example: eox_hooks.tests.tests_utils.
- action: name of the action to be executed. For example: custom_action.
- fail_silently: defines what happens if an exception raises while executing the action. If False, then the exception is raised.
Examples
########
.. code-block:: json
"EOX_HOOKS_DEFINITIONS": {
"post_certificate_creation": {
"action": "post_to_webhook_url",
"config": {
"send_certificate_data": true,
"url": "https://webhook.site"
},
"fail_silently": true,
"module": "eox_hooks.actions"
}
}
.. code-block:: json
"EOX_HOOKS_DEFINITIONS": {
"post_register": {
"action": "post_to_webhook_url",
"fail_silently": true,
"module": "eox_hooks.actions",
"config" : {
"send_certificate_data": false,
"url": "https://webhook.site",
"fields": {
"recipient_email": "user.pii.email"
}
}
}
}
.. code-block:: json
"EOX_HOOKS_DEFINITIONS": {
"post_certificate_creation": {
"action": "trigger_grades_assignment",
"fail_silently": true,
"module": "eox_hooks.actions"
}
}
.. code-block:: json
"EOX_HOOKS_DEFINITIONS": {
"post_enrollment": {
"action": "trigger_enrollments_creation",
"fail_silently": false,
"module": "eox_hooks.actions"
}
}
How to Contribute
#################
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.
.. _CONTRIBUTING: https://github.com/eduNEXT/eox-hooks/blob/master/CONTRIBUTING.rst
.. _edx-platform: https://github.com/edx/edx-platform/
.. _openedx plugin: https://github.com/edx/edx-platform/tree/master/openedx/core/djangoapps/plugins
Raw data
{
"_id": null,
"home_page": "",
"name": "eox-hooks",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "eduNEXT",
"author_email": "contact@edunext.co",
"download_url": "https://files.pythonhosted.org/packages/c8/13/deea8bf21cb94e4f4796eafa87935fe360d9a59c56dfb4b00a15880ec689/eox-hooks-6.0.0.tar.gz",
"platform": null,
"description": "=========\nEox-hooks\n=========\n\n.. |build-status| image:: https://circleci.com/gh/eduNEXT/eox-hooks.svg?style=svg\n\nEox-hooks (A.K.A. Edunext Open extensions) is an `openedx plugin`_, for the `edx-platform`_ that allows extending\nedx-platform through Django configurations and Open edX Events.\n\nCompatibility Notes\n--------------------\n\n+-------------------+----------------+\n| Open edX Release | Version |\n+===================+================+\n| Juniper | <= 1.0 |\n+-------------------+----------------+\n| Koa | > 1.0 |\n+-------------------+----------------+\n| Lilac | > 1.0 < 2.0 |\n+-------------------+----------------+\n| Maple | >= 2.0 < 3.0 |\n+-------------------+----------------+\n| Nutmeg | >= 3.0 |\n+-------------------+----------------+\n| Olive | >= 4.0 |\n+-------------------+----------------+\n| Palm | >= 5.0 |\n+-------------------+----------------+\n| Quince | >= 6.0 |\n+-------------------+----------------+\n\nThe following changes to the plugin settings are necessary. If the release you are looking for is\nnot listed, then the accumulation of changes from previous releases is enough.\n\n\n**Juniper**\n\n.. code-block:: yaml\n\n EOX_HOOKS_ENROLLMENTS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.enrollments_l_v1\"\n EOX_HOOKS_COURSES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.courses_l_v1\"\n EOX_HOOKS_COURSE_MODES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.course_modes_l_v1\"\n EOX_HOOKS_MODELS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.models_l_v1\"\n\n**Koa**\n\n.. code-block:: yaml\n\n EOX_HOOKS_ENROLLMENTS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.enrollments_l_v1\"\n EOX_HOOKS_COURSES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.courses_l_v1\"\n EOX_HOOKS_COURSE_MODES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.course_modes_l_v1\"\n EOX_HOOKS_MODELS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.models_l_v1\"\n\n**Lilac**\n\n.. code-block:: yaml\n\n EOX_HOOKS_ENROLLMENTS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.enrollments_l_v1\"\n EOX_HOOKS_COURSES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.courses_l_v1\"\n EOX_HOOKS_COURSE_MODES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.course_modes_l_v1\"\n EOX_HOOKS_MODELS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.models_l_v1\"\n\n**Maple**\n\n.. code-block:: yaml\n\n EOX_HOOKS_ENROLLMENTS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.enrollments_l_v1\"\n EOX_HOOKS_COURSES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.courses_l_v1\"\n EOX_HOOKS_COURSE_MODES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.course_modes_l_v1\"\n EOX_HOOKS_MODELS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.models_l_v1\"\n\n**Nutmeg**\n\n.. code-block:: yaml\n\n EOX_HOOKS_ENROLLMENTS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.enrollments_l_v1\"\n EOX_HOOKS_COURSES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.courses_l_v1\"\n EOX_HOOKS_COURSE_MODES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.course_modes_l_v1\"\n EOX_HOOKS_MODELS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.models_l_v1\"\n\n**Olive**\n\n.. code-block:: yaml\n\n EOX_HOOKS_ENROLLMENTS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.enrollments_l_v1\"\n EOX_HOOKS_COURSES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.courses_l_v1\"\n EOX_HOOKS_COURSE_MODES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.course_modes_l_v1\"\n EOX_HOOKS_MODELS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.models_l_v1\"\n\n**Palm and Quince**\n\n.. code-block:: yaml\n\n EOX_HOOKS_ENROLLMENTS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.enrollments_l_v1\"\n EOX_HOOKS_COURSES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.courses_p_v1\"\n EOX_HOOKS_COURSE_MODES_BACKEND: \"eox_hooks.edxapp_wrapper.backends.course_modes_l_v1\"\n EOX_HOOKS_MODELS_BACKEND: \"eox_hooks.edxapp_wrapper.backends.models_l_v1\"\n\n\nThese settings can be changed in ``eox_hooks/settings/common.py`` or, for example, in ansible configurations.\n\n**NOTE**:\n\n\n- The current ``common.py`` works with Open edX Lilac version.\n- Koa and Lilac work with PR (backports) 28266 and 28640 from Maple release.\n\nOpen edX devstack\n*****************\n\n- Clone this repo in the src folder of your devstack.\n- Open a new Lms/Devstack shell.\n- Install the plugin as follows: pip install -e /path/to/your/src/folder\n- Restart Lms/Studio services.\n\nUsage\n#####\n\nBefore using eox-hooks, this plugin must be configured using EOX_HOOKS_DEFINITIONS:\n\n.. code-block:: python\n\n {\n \"trigger_event\": {\n \"module\": \"path_to_module\",\n \"action\": \"action_name\",\n \"fail_silently\": True,\n },\n }\n\nWhere:\n\n- trigger_event: is the name of the event sent by the platform. For example: pre_enrollment_trigger.\n- module: path to the module where the action to be executed is defined. For example: eox_hooks.tests.tests_utils.\n- action: name of the action to be executed. For example: custom_action.\n- fail_silently: defines what happens if an exception raises while executing the action. If False, then the exception is raised.\n\nExamples\n########\n\n.. code-block:: json\n\n \"EOX_HOOKS_DEFINITIONS\": {\n \"post_certificate_creation\": {\n \"action\": \"post_to_webhook_url\",\n \"config\": {\n \"send_certificate_data\": true,\n \"url\": \"https://webhook.site\"\n },\n \"fail_silently\": true,\n \"module\": \"eox_hooks.actions\"\n }\n }\n\n.. code-block:: json\n\n \"EOX_HOOKS_DEFINITIONS\": {\n \"post_register\": {\n \"action\": \"post_to_webhook_url\",\n \"fail_silently\": true,\n \"module\": \"eox_hooks.actions\",\n \"config\" : {\n \"send_certificate_data\": false,\n \"url\": \"https://webhook.site\",\n \"fields\": {\n \"recipient_email\": \"user.pii.email\"\n }\n }\n }\n }\n\n.. code-block:: json\n\n \"EOX_HOOKS_DEFINITIONS\": {\n \"post_certificate_creation\": {\n \"action\": \"trigger_grades_assignment\",\n \"fail_silently\": true,\n \"module\": \"eox_hooks.actions\"\n }\n }\n\n.. code-block:: json\n\n \"EOX_HOOKS_DEFINITIONS\": {\n \"post_enrollment\": {\n \"action\": \"trigger_enrollments_creation\",\n \"fail_silently\": false,\n \"module\": \"eox_hooks.actions\"\n }\n }\n\n\nHow to Contribute\n#################\n\nContributions are welcome! See our `CONTRIBUTING`_ file for more\ninformation \u2013 it also contains guidelines for how to maintain high code\nquality, which will make your contribution more likely to be accepted.\n\n.. _CONTRIBUTING: https://github.com/eduNEXT/eox-hooks/blob/master/CONTRIBUTING.rst\n.. _edx-platform: https://github.com/edx/edx-platform/\n.. _openedx plugin: https://github.com/edx/edx-platform/tree/master/openedx/core/djangoapps/plugins\n",
"bugtrack_url": null,
"license": "AGPL",
"summary": "EoxHooks",
"version": "6.0.0",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2af4a74214171ff1aaa5a38a63ade89943ef16d022fcb2d4da6f32dc63b6766c",
"md5": "b8ac21cb489718399ece92557a712678",
"sha256": "ddde300c259ed7f2524bad8d06ac8811b534c9ddc2579a929c421c7ee19b3a5e"
},
"downloads": -1,
"filename": "eox_hooks-6.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b8ac21cb489718399ece92557a712678",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 44851,
"upload_time": "2024-02-09T15:52:44",
"upload_time_iso_8601": "2024-02-09T15:52:44.216834Z",
"url": "https://files.pythonhosted.org/packages/2a/f4/a74214171ff1aaa5a38a63ade89943ef16d022fcb2d4da6f32dc63b6766c/eox_hooks-6.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c813deea8bf21cb94e4f4796eafa87935fe360d9a59c56dfb4b00a15880ec689",
"md5": "e32b6397a7560c366a216a4f57364b91",
"sha256": "63c4495955796c3b23448acb1cc09debad5cf94834fdc62ee8c83fd273c38082"
},
"downloads": -1,
"filename": "eox-hooks-6.0.0.tar.gz",
"has_sig": false,
"md5_digest": "e32b6397a7560c366a216a4f57364b91",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 36508,
"upload_time": "2024-02-09T15:52:46",
"upload_time_iso_8601": "2024-02-09T15:52:46.080151Z",
"url": "https://files.pythonhosted.org/packages/c8/13/deea8bf21cb94e4f4796eafa87935fe360d9a59c56dfb4b00a15880ec689/eox-hooks-6.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-09 15:52:46",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "eox-hooks"
}