Skip to main content

An Open edX plugin that adds a per-block “Send feedback” trigger to applicable leaf blocks in the LMS via an XBlockAside. The trigger is shown only to authenticated learners (never in Studio author/preview mode and never to anonymous users).

When a learner clicks the trigger the aside posts an ol-feedback::drawer-open message to its parent window (the Learning MFE) using window.parent.postMessage. The message payload carries the block context needed to identify the content being rated:

  • courseId — the course key

  • blockUsageKey — the block’s usage key

  • blockType — the XBlock category (e.g. problem, video)

  • blockDisplayName — the block’s display name

The Learning MFE receives the message and opens the feedback drawer, which submits the learner’s feedback directly to the mit-learn service. This plugin does not persist anything in edx-platform and exposes no REST API.

Installation

Install the package into the LMS Python environment:

pip install ol-openedx-feedback

The plugin registers itself automatically through its entry points — the xblock_asides.v1 aside plus the lms.djangoapp app config — so no changes to INSTALLED_APPS are required. Restart the LMS after installing. (The trigger is learner-facing only, so the plugin is LMS-only and is not installed in Studio/CMS.)

Enable XBlock asides in the LMS admin

XBlock asides must be turned on for any aside (including this one) to render. In the LMS Django admin, open XBlock Asides Config (/admin/lms_xblock/xblockasidesconfig/), add a new entry, and check Enabled. Make sure the block types you want the feedback trigger on are not listed in Disabled blocks (the space-separated field defaults to about course_info static_tab).

Enablement

Feedback is gated by the ol_openedx_feedback.feedback_enabled course waffle flag (default off). Enable it for the desired courses (or globally) to roll out.

Configuration

Excluded block types

By default the trigger renders on every leaf block and is suppressed only on structural containers (course / chapter / sequential / vertical). To additionally exclude one or more block types (for example html), override the excluded set through ENV_TOKENS (e.g. in lms.yml):

OL_OPENEDX_FEEDBACK_EXCLUDED_BLOCK_TYPES:
  - course
  - chapter
  - sequential
  - vertical
  - html

The plugin reads this value via its settings.common plugin_settings hook and exposes it as the OL_OPENEDX_FEEDBACK_EXCLUDED_BLOCK_TYPES Django setting, defaulting to the structural set above when unset.

Text label

The trigger shows only the megaphone icon by default. To also render the “Feedback” text label beside it, enable it through ENV_TOKENS:

OL_OPENEDX_FEEDBACK_SHOW_LABEL: true

This is exposed as the OL_OPENEDX_FEEDBACK_SHOW_LABEL Django setting via the same plugin_settings hook, defaulting to false (icon-only) when unset.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ol_openedx_feedback-0.2.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ol_openedx_feedback-0.2.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file ol_openedx_feedback-0.2.0.tar.gz.

File metadata

  • Download URL: ol_openedx_feedback-0.2.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for ol_openedx_feedback-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f27f922e70bb1612bbf7917f0a71a071165ca918d078061ff61fe1eb3eca4676
MD5 e5522a9f275a17358966fa9ece831f95
BLAKE2b-256 c19bdc4f751c55183cecb72d3c44748303a3c1464621cd64a519458e7bcc69ec

See more details on using hashes here.

File details

Details for the file ol_openedx_feedback-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ol_openedx_feedback-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 36b187ded7fe34328651aabf5ab087dc78fcadd2e58e3a503843b866d7871f6e
MD5 830a1d46aabfe46df3445c47e165bbd1
BLAKE2b-256 1210b983ad7daf4c4f3e6fa32957b4c46ac288bf89c017f0a488efd372cbac45

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page