rapid-response-xblock


Namerapid-response-xblock JSON
Version 0.10.0 PyPI version JSON
download
home_pageNone
SummaryAn Open edX plugin to add rapid response aside for problem xBlocks
upload_time2025-07-22 13:47:33
maintainerNone
docs_urlNone
authorMIT Office of Digital Learning
requires_python>=3.11
licenseNone
keywords python edx
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Rapid Response xBlock
=====================

A django app plugin for edx-platform

Setup
-----

1) Add rapid response as a dependency
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In production, the current practice as of 01/2021 is to add this
dependency via Salt.

For detailed installation instructions, please refer to the `plugin installation guide <../../docs#installation-guide>`_.

Installation required in:

* LMS
* Studio (CMS)

2) Update edX config files
~~~~~~~~~~~~~~~~~~~~~~~~~~

`odl_devstack_tools <https://github.com/mitodl/odl_devstack_tools>`__
can be used to automatically apply the necessary config changes when you
start the containers. If you’re not using that tool, you can manually
add/edit the relevant config files while running bash in the LMS
container (``make dev.shell.lms``):

Juniper release or more recent
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

If you’re using any release from Juniper onward, make sure the following property exists with the given value in ``/edx/etc/lms.yml`` and
``/edx/etc/studio.yml``. If you're using ``private.py``, add these values to ``lms/envs/private.py`` and ``cms/envs/private.py``:

.. code:: yaml

   - ALLOW_ALL_ADVANCED_COMPONENTS: true

Any release before Juniper
^^^^^^^^^^^^^^^^^^^^^^^^^^

If you’re using any release before Juniper, make sure the following
properties exist with the given values in
``/edx/app/edxapp/lms.env.json`` and ``/edx/app/edxapp/cms.env.json``:

.. code:: json

   {
       "ALLOW_ALL_ADVANCED_COMPONENTS": true,
       "ADDL_INSTALLED_APPS": ["rapid_response_xblock"]
   }

``ADDL_INSTALLED_APPS`` may include other items. The list just needs to
have ``rapid_response_xblock`` among its values.

Feature flags
^^^^^^^^^^^^^

There is a feature flag to enable toggling the rapid response
functionality for a problem through course outline in CMS. Enable
``ENABLE_RAPID_RESPONSE_AUTHOR_VIEW`` in your CMS config either through
``/edx/app/edxapp/cms.env.json`` or ``private.py``.

.. code:: yaml

   - ENABLE_RAPID_RESPONSE_AUTHOR_VIEW: true or false

NOTE: Once this flag is enabled and you toggle the rapid response
from course outline, It will auto publish the problem if it was not in
draft.

For Tutor installations, these values can also be managed through a `custom tutor plugin <https://docs.tutor.edly.io/tutorials/plugin.html#plugin-development-tutorial>`_.


3) Add database record
~~~~~~~~~~~~~~~~~~~~~~

If one doesn’t already exist, create a record for the
``XBlockAsidesConfig`` model (LMS admin URL:
``/admin/lms_xblock/xblockasidesconfig/``).

If you have enabled ``ENABLE_RAPID_RESPONSE_AUTHOR_VIEW`` you will also
need to create a record in the ``StudioConfig`` model (CMS admin URL:
``/admin/xblock_config/studioconfig/``).

4) Rapid Response for Studio and XML
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`Studio
Documentation <https://odl.zendesk.com/hc/en-us/articles/360007744011-Rapid-Response-for-Studio>`__
`XML
Documentation <https://odl.zendesk.com/hc/en-us/articles/360007744151-Rapid-Response-for-XML>`__

Database Migrations
-------------------

If your ``rapid-response-xblock`` repo is mounted into the devstack
container, you can create migrations for any model changes as follows:

::

   # From the devstack directory, run bash in a running LMS container...
   make dev.shell.lms

   # In bash, create the migrations via management command...
   python manage.py lms makemigrations rapid_response_xblock --settings=devstack_docker

Usage
-----

*NOTE (4/2021)*: Rapid response is **only configured to work with
multiple choice problems**.

Follow these steps to enable an individual problem for rapid response:
1. Load the problem in Studio 2. Click “Edit” 3. In the editing dialog
UI there should be Editor, Settings, and Plugins in the title bar. Click
“Plugins”. (If this option doesn’t exist, rapid response may not be
properly configured) 4. Check the box (“Enable problem for
rapid-response”) 5. Save and publish

When you navigate to that problem in LMS, you should now see an option
for opening the problem for rapid response.

To test rapid response functionality: 1. Login to your local edX
instance as “staff” 2. In Studio go to the edX Demo Course. Create a new
unit which is a multiple choice problem. 3. Edit the problem and turn on
rapid response as described in the previous steps. 4. Publish and click
“View Live Version” 5. Verify that the dropdown next to “View this
course as” is “Staff”. 6. Scroll down and you should see an empty graph
containing a button labeled “Open problem now”. Click on the button and
it should show a timer that starts counting. 7. Pick one of the answers
and submit it. After a few seconds a bar should appear for the column
for the answer. 8. Pick another answer, and the bar should disappear and
a new one should appear at the new answer. 9. Click “Close problem now”
10. Click the dropdown next to “View this course as” to switch to
“Audit”. You should see a multiple choice question with two incorrect
answers and one correct answer according to the labels. You should
**not** see the rapid response functionality beneath the problem.

Rapid Response Reports
----------------------

All the results of the Rapid Response problems are also available in
form of CSV reports as a separate plugin
`ol-openedx-rapid-response-reports <https://github.com/mitodl/open-edx-plugins/tree/main/src/ol_openedx_rapid_response_reports>`__.
(*Installation instructions are on the given link*).

**How/Where to check reports?**

After you’ve installed
`ol-openedx-rapid-response-reports <https://github.com/mitodl/open-edx-plugins/tree/main/src/ol_openedx_rapid_response_reports>`__,
visit ``Rapid Responses`` under the ``Instructor Dashboard``. If you
don’t see ``Rapid Responses`` tab, please check that the plugins is
installed properly. |Screenshot of Rapid Response reports|

**NOTE:** Rapid Response xBlock works independently and doesn’t depend
on ``ol-openedx-rapid-response-reports``, there are no additional steps
to be performed inside Rapid Response xBlock if you want to use the
reports plugin.

.. |Screenshot of Rapid Response reports| image:: docs/rapid_response_reports.png

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "rapid-response-xblock",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "Python, edx",
    "author": "MIT Office of Digital Learning",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/e5/e1/38de1f3b62b9987cdc38a5f72bccac23825545bb7af3717b1d0170492402/rapid_response_xblock-0.10.0.tar.gz",
    "platform": null,
    "description": "Rapid Response xBlock\n=====================\n\nA django app plugin for edx-platform\n\nSetup\n-----\n\n1) Add rapid response as a dependency\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIn production, the current practice as of 01/2021 is to add this\ndependency via Salt.\n\nFor detailed installation instructions, please refer to the `plugin installation guide <../../docs#installation-guide>`_.\n\nInstallation required in:\n\n* LMS\n* Studio (CMS)\n\n2) Update edX config files\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n`odl_devstack_tools <https://github.com/mitodl/odl_devstack_tools>`__\ncan be used to automatically apply the necessary config changes when you\nstart the containers. If you\u2019re not using that tool, you can manually\nadd/edit the relevant config files while running bash in the LMS\ncontainer (``make dev.shell.lms``):\n\nJuniper release or more recent\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf you\u2019re using any release from Juniper onward, make sure the following property exists with the given value in ``/edx/etc/lms.yml`` and\n``/edx/etc/studio.yml``. If you're using ``private.py``, add these values to ``lms/envs/private.py`` and ``cms/envs/private.py``:\n\n.. code:: yaml\n\n   - ALLOW_ALL_ADVANCED_COMPONENTS: true\n\nAny release before Juniper\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf you\u2019re using any release before Juniper, make sure the following\nproperties exist with the given values in\n``/edx/app/edxapp/lms.env.json`` and ``/edx/app/edxapp/cms.env.json``:\n\n.. code:: json\n\n   {\n       \"ALLOW_ALL_ADVANCED_COMPONENTS\": true,\n       \"ADDL_INSTALLED_APPS\": [\"rapid_response_xblock\"]\n   }\n\n``ADDL_INSTALLED_APPS`` may include other items. The list just needs to\nhave ``rapid_response_xblock`` among its values.\n\nFeature flags\n^^^^^^^^^^^^^\n\nThere is a feature flag to enable toggling the rapid response\nfunctionality for a problem through course outline in CMS. Enable\n``ENABLE_RAPID_RESPONSE_AUTHOR_VIEW`` in your CMS config either through\n``/edx/app/edxapp/cms.env.json`` or ``private.py``.\n\n.. code:: yaml\n\n   - ENABLE_RAPID_RESPONSE_AUTHOR_VIEW: true or false\n\nNOTE: Once this flag is enabled and you toggle the rapid response\nfrom course outline, It will auto publish the problem if it was not in\ndraft.\n\nFor Tutor installations, these values can also be managed through a `custom tutor plugin <https://docs.tutor.edly.io/tutorials/plugin.html#plugin-development-tutorial>`_.\n\n\n3) Add database record\n~~~~~~~~~~~~~~~~~~~~~~\n\nIf one doesn\u2019t already exist, create a record for the\n``XBlockAsidesConfig`` model (LMS admin URL:\n``/admin/lms_xblock/xblockasidesconfig/``).\n\nIf you have enabled ``ENABLE_RAPID_RESPONSE_AUTHOR_VIEW`` you will also\nneed to create a record in the ``StudioConfig`` model (CMS admin URL:\n``/admin/xblock_config/studioconfig/``).\n\n4) Rapid Response for Studio and XML\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n`Studio\nDocumentation <https://odl.zendesk.com/hc/en-us/articles/360007744011-Rapid-Response-for-Studio>`__\n`XML\nDocumentation <https://odl.zendesk.com/hc/en-us/articles/360007744151-Rapid-Response-for-XML>`__\n\nDatabase Migrations\n-------------------\n\nIf your ``rapid-response-xblock`` repo is mounted into the devstack\ncontainer, you can create migrations for any model changes as follows:\n\n::\n\n   # From the devstack directory, run bash in a running LMS container...\n   make dev.shell.lms\n\n   # In bash, create the migrations via management command...\n   python manage.py lms makemigrations rapid_response_xblock --settings=devstack_docker\n\nUsage\n-----\n\n*NOTE (4/2021)*: Rapid response is **only configured to work with\nmultiple choice problems**.\n\nFollow these steps to enable an individual problem for rapid response:\n1. Load the problem in Studio 2. Click \u201cEdit\u201d 3. In the editing dialog\nUI there should be Editor, Settings, and Plugins in the title bar. Click\n\u201cPlugins\u201d. (If this option doesn\u2019t exist, rapid response may not be\nproperly configured) 4. Check the box (\u201cEnable problem for\nrapid-response\u201d) 5. Save and publish\n\nWhen you navigate to that problem in LMS, you should now see an option\nfor opening the problem for rapid response.\n\nTo test rapid response functionality: 1. Login to your local edX\ninstance as \u201cstaff\u201d 2. In Studio go to the edX Demo Course. Create a new\nunit which is a multiple choice problem. 3. Edit the problem and turn on\nrapid response as described in the previous steps. 4. Publish and click\n\u201cView Live Version\u201d 5. Verify that the dropdown next to \u201cView this\ncourse as\u201d is \u201cStaff\u201d. 6. Scroll down and you should see an empty graph\ncontaining a button labeled \u201cOpen problem now\u201d. Click on the button and\nit should show a timer that starts counting. 7. Pick one of the answers\nand submit it. After a few seconds a bar should appear for the column\nfor the answer. 8. Pick another answer, and the bar should disappear and\na new one should appear at the new answer. 9. Click \u201cClose problem now\u201d\n10. Click the dropdown next to \u201cView this course as\u201d to switch to\n\u201cAudit\u201d. You should see a multiple choice question with two incorrect\nanswers and one correct answer according to the labels. You should\n**not** see the rapid response functionality beneath the problem.\n\nRapid Response Reports\n----------------------\n\nAll the results of the Rapid Response problems are also available in\nform of CSV reports as a separate plugin\n`ol-openedx-rapid-response-reports <https://github.com/mitodl/open-edx-plugins/tree/main/src/ol_openedx_rapid_response_reports>`__.\n(*Installation instructions are on the given link*).\n\n**How/Where to check reports?**\n\nAfter you\u2019ve installed\n`ol-openedx-rapid-response-reports <https://github.com/mitodl/open-edx-plugins/tree/main/src/ol_openedx_rapid_response_reports>`__,\nvisit ``Rapid Responses`` under the ``Instructor Dashboard``. If you\ndon\u2019t see ``Rapid Responses`` tab, please check that the plugins is\ninstalled properly. |Screenshot of Rapid Response reports|\n\n**NOTE:** Rapid Response xBlock works independently and doesn\u2019t depend\non ``ol-openedx-rapid-response-reports``, there are no additional steps\nto be performed inside Rapid Response xBlock if you want to use the\nreports plugin.\n\n.. |Screenshot of Rapid Response reports| image:: docs/rapid_response_reports.png\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "An Open edX plugin to add rapid response aside for problem xBlocks",
    "version": "0.10.0",
    "project_urls": null,
    "split_keywords": [
        "python",
        " edx"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d4e3f3bd9dbc1caecdbd282d549efefdff9b145e48ae84057af420276704d867",
                "md5": "b3da2fd538190fb4b9b6158b2c131c27",
                "sha256": "d057feff6433920cd2a70f5a4fac778d9156b01f18bd04b81faf763e2596737a"
            },
            "downloads": -1,
            "filename": "rapid_response_xblock-0.10.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b3da2fd538190fb4b9b6158b2c131c27",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 102624,
            "upload_time": "2025-07-22T13:47:32",
            "upload_time_iso_8601": "2025-07-22T13:47:32.436272Z",
            "url": "https://files.pythonhosted.org/packages/d4/e3/f3bd9dbc1caecdbd282d549efefdff9b145e48ae84057af420276704d867/rapid_response_xblock-0.10.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e5e138de1f3b62b9987cdc38a5f72bccac23825545bb7af3717b1d0170492402",
                "md5": "eb12da1ace383de4e6b932c2c081badd",
                "sha256": "a342db3608cfa7ce28735c35acc9a2b603e94c0daf5e7e862ec0862b4c954dfc"
            },
            "downloads": -1,
            "filename": "rapid_response_xblock-0.10.0.tar.gz",
            "has_sig": false,
            "md5_digest": "eb12da1ace383de4e6b932c2c081badd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 95424,
            "upload_time": "2025-07-22T13:47:33",
            "upload_time_iso_8601": "2025-07-22T13:47:33.687004Z",
            "url": "https://files.pythonhosted.org/packages/e5/e1/38de1f3b62b9987cdc38a5f72bccac23825545bb7af3717b1d0170492402/rapid_response_xblock-0.10.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-22 13:47:33",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "rapid-response-xblock"
}
        
Elapsed time: 0.55258s