Skip to main content

Flow Control XBlock

Project description

build-status PyPI PyPI license

The Flow Control XBlock provides a way to display the content of a unit or to redirect the user elsewhere based on compliance with a condition that evaluates the submission or the score of a problem or a set of problems.

Installing on Open edX Devstack

Inside both LMS and Studio shells, using make lms-shell and make studio-shell in your devstack directory do:

pip install flow-control-xblock

However, if you want to further develop this XBlock, you might want to instead clone this repository and do:

pip install -e path/to/flow-control

Enabling in Studio

After successful installation, you can activate this component for a course following these steps:

  • From the main page of a specific course, navigate to Settings -> Advanced Settings from the top menu.

  • Check for the Advanced Module List policy key, and Add "flow-control" to the policy value list.

  • Click the “Save changes” button.

Usage

Include the Flow Control component in the content unit you want to control access to, and follow these steps on “settings”:

  • Select the condition to check.

  • Enter the problem locator ids (as many as required) to evaluate the condition.

  • Select an action to apply when the condition is met.

Development

You can install this XBlock’s dependencies for development by performing:

make requirements

Common use cases

Flow Control can be used whenever you need to control the available course content based on grades obtained by a student, on one or more evaluated problems in the course. Also, it is possible to check if those problems have been answered or not. Some common uses cases are:

  • Only allow the learner to see unit B when a problem in unit A has been answered, otherwise displaying a explanatory message.

  • Only allow the learner to see unit B when a problem in unit A has been answered, otherwise redirecting to unit A.

  • Only allow the learner to see unit B when a problem in unit A has scored above a certain threshold.

  • Present further explanatory content to learners that did not answer correctly a certain problem, while redirecting to the next unit learners that did answer correcly.

  • Display a message congratulating the learner for passing an exam, or a message notifying the exam wasn’t passed.

  • Display a message notifying the learner that some of the exam’s questions have not been answered yet.

  • Used in combination with the subsection prerequites feature to better explain the learners why certain subsections will or will not be made available to them.

Features include

Studio editable settings: Allows to select the conditions and operators to evaluate and the actions to apply in a particular unit.

Condition types: Currently, the xblock features evaluating the score of a single problem and the average score of a list of problems.

Condition operators: The implemented operators are:

  • Equals

  • Not equal to

  • Greather than

  • Greather than or equal to

  • Less than

  • Less than or equal to

  • Is empty

  • Is not empty

  • Has empty

Actions: This actions can be applied when a condition is met:

  • Display a message

  • Redirect to another unit in the same subsection (without reloading the page)

  • Redirect to another unit using jump_to_id (reloading the page)

  • Redirect to a given url

WYSIWYG editor: A simple to use HTML editor to simplify writing the content or message that learners will get if the condition is met.

About this XBlock

The Flow Control XBlock was built by eduNEXT, a company specialized in open edX development and open edX cloud services.

It was presented at the open edX con 2016 at Stanford University.

How to Contribute

  • Fork this repository.

  • Commit your changes on a new branch

  • Make a pull request to the master branch

  • Wait for the code review and merge process

Project details


Download files

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

Source Distribution

flow-control-xblock-1.0.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

flow_control_xblock-1.0.1-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file flow-control-xblock-1.0.1.tar.gz.

File metadata

  • Download URL: flow-control-xblock-1.0.1.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.5.10

File hashes

Hashes for flow-control-xblock-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ea4a2c1dea0d255d0c5c70041cbab9e2abc8816b66834d688ed39a9652fea6dc
MD5 3380bfb91a8ff99c6444151947d1fc20
BLAKE2b-256 86fd9003f5cb699f9603937aafef17cab2879f086a45a3adb9ffac61a6ac8165

See more details on using hashes here.

File details

Details for the file flow_control_xblock-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: flow_control_xblock-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.5.10

File hashes

Hashes for flow_control_xblock-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2e74ab0bb7e9c762eeff8826f6d05383b81f5f29c945877b151b7e3389b3140d
MD5 622d038b64ac0d76e9acfe06d08fb03b
BLAKE2b-256 e6bfdc21ad1f39d501c50ab4e17fe5e61bbff111c23fdbb506e8e1bf662a7bc9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page