Skip to main content

A library for tracking completion of blocks by learners in edX courses.

Project description

PyPI Travis Codecov Documentation Supported Python versions License

A library for tracking completion of blocks by learners in edX courses.

Overview

This repository provides a Django model BlockCompletion that is intended to be plugged into edx-platform. It provides various handlers and services for the recording of completion data. It also provides a DRF API for submitting completion data in batches.

License

The code in this repository is licensed under the AGPL 3.0 unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome.

Please read How To Contribute for details.

Even though they were written with edx-platform in mind, the guidelines should be followed for Open edX code in general.

PR description template should be automatically applied if you are sending PR from github interface; otherwise you can find it it at PULL_REQUEST_TEMPLATE.md

Issue report template should be automatically applied if you are sending it from github UI as well; otherwise you can find it at ISSUE_TEMPLATE.md

Reporting Security Issues

Please do not report security issues in public. Please email security@edx.org.

Using with Docker Devstack

Prerequisite: Have your Open edX Devstack properly installed.

Note: When you see “from inside the lms” below, it means that you’ve run make lms-shell from your devstack directory and are on a command prompt inside the LMS container.

  1. Clone this repo into ../src/ directory (relative to your “devstack” repo location). This will mount the directory in a way that is accessible to the lms container.

  2. From inside the lms, uninstall completion and reinstall your local copy. You can just copy the following line:

    pip uninstall completion -y; pip install -e /edx/src/completion/
  3. Now, get your completion development environment set up:

    cd /edx/src/completion
    virtualenv completion-env
    source completion-env/bin/activate
    make install
  4. That’s it! In order to simulate a given tox environment (django18, django111, quality), run tox -e <env> for the env in question. If you want to run pytest directly:

    pytest completion/tests/test_models.py

Getting Help

Have a question about this repository, or about Open edX in general? Please refer to this list of resources if you need any assistance.

Change Log

Unreleased

[0.1.4] - 2018-03-28

  • Site configurations must now explicitly disable visual progress for the enable_visual_progress() feature gating function to return False early.

[0.1.3] - 2018-03-26

  • Added some documentation.

[0.1.2] - 2018-03-23

  • Fix management of dependency versions

[0.1.1] - 2018-03-23

  • Fixes wildly inefficient raw query in BlockCompletion.latest_blocks_completed_all_courses()

  • Updates freezegun version, makes tests that use it somewhat faster.

[0.1.0] - 2018-03-20

[0.0.11] - 2018-03-20

  • Added “subsection-completion/{username}/{course_key}/{subsection_id}” API endpoint, to be used with the completion milestones experiment.

[0.0.9] - 2018-02-27

  • Added “utilities.py”, which houses methods for working with BlockCompletion data.

[0.0.8] - 2018-03-01

  • Add model method for superlative “last completed block” - for site awareness include every last completed block by course, for later sorting in business layer.

[0.0.7] - 2018-02-15

  • Add settings and service method for determining completion-by-viewing delay.

[0.0.6] - 2018-02-13

  • Add the additional completion logic into the service and models from edx-platform

[0.0.2] - 2018-01-31

  • Fix up edx-lint requirements shenanigans.

[0.0.1] - 2018-01-31

  • Initial release

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

edx-completion-0.1.4.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

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

edx_completion-0.1.4-py2.py3-none-any.whl (32.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file edx-completion-0.1.4.tar.gz.

File metadata

File hashes

Hashes for edx-completion-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d715034e304f5db8f9cd893f4d008f0b4ddd2c990968b24cef93bc689b936c8d
MD5 395e5043f2977523e6fbc44e6c701f32
BLAKE2b-256 648e054a7cbd71070ad5a8099601f1f59b06665915b34285e2677d66fad3a746

See more details on using hashes here.

File details

Details for the file edx_completion-0.1.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for edx_completion-0.1.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1d246f7a1a11b2441bfc45157901283411f37f8809c25657fbde4d84a129a348
MD5 b08c468a9bc8952d30ec308c19150ebc
BLAKE2b-256 b03d85946c331cd0e7eb3dc1b14ae2dec2d0710ecdca985fffbb8ddda40070e6

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 Pingdom Monitoring Sentry Error logging StatusPage Status page