Giter VIP home page Giter VIP logo

feedbackxblock's Introduction

Feedback XBlock

This is a basic clone of Dropthought for use in Open edX. This used to be called the RateXBlock. We renamed it for better consistency. We are keeping the old one around for backwards-compatibility.

The goal of this XBlock is two-fold:

  1. Allow students to reflect on their learning experience
  2. Provide instructors with feedback on which parts of courses work well and which parts work poorly.

Instructors have a good amount of control over the contents of the block:

Screenshot of the FeedbackXBlock -- good to bad scale Screenshot of the FeedbackXBlock -- scale where good is in the middle Screenshot of the FeedbackXBlock -- numerical scale

This can be placed anywhere in the courseware, and students can provide feedback on those sections. With just a few database queries, we can compile that feedback into useful insights. ;) We do provide aggregate statistics to instructors, but not yet the text of the feedback.

It installs on any Open edX install same as any other xblock:

pip install -e git+https://github.com/pmitros/FeedbackXBlock.git#egg=rate==0.0

From there, add "feedback" to your list of advanced modules, and you're good to go.

feedbackxblock's People

Contributors

dmytroalipov avatar inferato avatar mariajgrimaldi avatar omarithawi avatar pmitros avatar

feedbackxblock's Issues

Add support for Python 3.8+

Hello!

I've installed the xBlock on Maple release and discovered the following:

When I'm trying to edit and save the xBlock in the studio (see screenshot attached), I'm receiving an error:

Mar 10 09:03:45 lms-maple-dev [service_variant=cms][root][env:sandbox] ERROR [lms-maple-dev  3207192] [user None] [ip None] [signals.py:22] - Uncaught exception from None
Traceback (most recent call last):
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/edx/app/edxapp/edx-platform/cms/djangoapps/contentstore/views/component.py", line 503, in component_handler
    resp = handler_descriptor.handle(handler, req, suffix)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/xblock/mixins.py", line 84, in handle
    return self.runtime.handle(self, handler_name, request, suffix)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1448, in handle
    return super().handle(block, handler_name, request, suffix=suffix)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/xblock/runtime.py", line 1081, in handle
    results = handler(request, suffix)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/xblock/mixins.py", line 63, in wrapper
    response = func(self, request_json, suffix)
  File "/edx/app/edxapp/venvs/edxapp/src/feedback-xblock/feedback/feedback.py", line 283, in studio_submit
    self.prompts[0][item] = cgi.escape(item_submission)
AttributeError: module 'cgi' has no attribute 'escape'

Here is where the error line lives:

self.prompts[0][item] = cgi.escape(item_submission)

Another place using this function:
self.prompts[0]['scale_text'][i] = cgi.escape(likert)

The problem is cgi.escape() was deprecated since py3.2 and removed since py3.8

Could you please update the xBlock to support py3.8+?

AFAIK the preferred replacement for cgi.escape() is html.escape()

image

PS
I don't know if any other issues related to py3.8+ support existing

Enable support for Django 3.2

Hi all! I'm interested in contributing to the edX open source project and was looking at open issues related to the Django 3.2 upgrade. I saw that FeedbackXBlock is the replacement component for the deprecated RateXBlock component but that FeedbackXBlock is not yet compatible with Django 3.2.

Would it be possible for you all to upgrade this component to be Django 3.2-compatible? I'm happy to help however I can.

You can find the associated edX Django upgrade Github issue here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.