Support for bulk scoring and grading
|pypi-badge| |travis-badge| |codecov-badge| |doc-badge| |pyversions-badge| |license-badge|
Support for bulk scoring and grading. This adds models and an API for reading and modifying scores and grades in bulk.
The README.rst
file should then provide an overview of the code in this
repository, including the main components and useful entry points for starting
to understand the code in more detail.
edx-bulk-grades is a library that runs under lms. It uses the configuration settings defined in lms as well.
In order to use, the library must be installed into edx-platform.
Prerequisite: Have your Open edX https://github.com/openedx/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.
| 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.
From inside the lms, uninstall bulk-grades and reinstall your local copy. You can just copy the following line::
pip uninstall edx-bulk-grades -y; pip install -e /edx/src/edx-bulk-grades
Or, you can run the following make command::
make install-local
Now, get your bulk-grades development environment set up::
cd /edx/src/edx-bulk-grades virtualenv edx-bulk-grades-env source edx-bulk-grades-env/bin/activate make requirements
| After checking out a new branch, increment __version__
by the smallest possible value located in bulk_grades/__init__.py
.
| This will allow edx-platform to pick up the new version.
| Once a branch has been merged, it is necessary to make a release on github, specifying the new version from
| __version__
set above.
In order for platform to use the newest version of bulk-grades, it is necessary to run the::
$ make upgrade
from docker shell of edx-platform. This will increment the version of edx-bulk-grades to the correct one.
mock_apps folder: Since bulk_grades depends on platform during actual runtime, for unit tests, we need to mock various endpoints and calls. To this end, they are mocked in the mock_apps folder.
Since edx-bulk grades runs under platform, it is necessary to connect to platform docker::
$ make lms-shell
followed by::
$ cd /edx/src/edx-bulk-grades
make test
This will run the unit tests and code coverage numbers
The code in this repository is licensed under the AGPL 3.0 unless otherwise noted.
Please see LICENSE.txt
for details.
Contributions are very welcome.
Please read How To Contribute <https://github.com/openedx/.github/blob/master/CONTRIBUTING.md>
_ for details.
The pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you
can find it at PULL_REQUEST_TEMPLATE.md <https://github.com/openedx/edx-bulk-grades/blob/master/.github/PULL_REQUEST_TEMPLATE.md>
_.
The issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you
can find it at ISSUE_TEMPLATE.md <https://github.com/openedx/edx-bulk-grades/blob/master/.github/ISSUE_TEMPLATE.md>
_.
Please do not report security issues in public. Please email security@edx.org.
Have a question about this repository, or about Open edX in general? Please
refer to this list of resources
_ if you need any assistance.
.. _list of resources: https://open.edx.org/getting-help
.. |pypi-badge| image:: https://img.shields.io/pypi/v/edx-bulk-grades.svg :target: https://pypi.python.org/pypi/edx-bulk-grades/ :alt: PyPI
.. |travis-badge| image:: https://travis-ci.com/edx/edx-bulk-grades.svg?branch=master :target: https://travis-ci.com/edx/edx-bulk-grades :alt: Travis
.. |codecov-badge| image:: http://codecov.io/github/edx/edx-bulk-grades/coverage.svg?branch=master :target: http://codecov.io/github/edx/edx-bulk-grades?branch=master :alt: Codecov
.. |doc-badge| image:: https://readthedocs.org/projects/edx-bulk-grades/badge/?version=latest :target: http://edx-bulk-grades.readthedocs.io/en/latest/ :alt: Documentation
.. |pyversions-badge| image:: https://img.shields.io/pypi/pyversions/edx-bulk-grades.svg :target: https://pypi.python.org/pypi/edx-bulk-grades/ :alt: Supported Python versions
.. |license-badge| image:: https://img.shields.io/github/license/edx/edx-bulk-grades.svg :target: https://github.com/openedx/edx-bulk-grades/blob/master/LICENSE.txt :alt: License
.. All enhancements and patches to bulk_grades will be documented in this file. It adheres to the structure of http://keepachangelog.com/ , but in reStructuredText instead of Markdown (for ease of incorporation into Sphinx documentation and the PyPI description).
This project adheres to Semantic Versioning (http://semver.org/).
.. There should always be an "Unreleased" section for changes pending release.
Unreleased
[1.0.2] - 2023-06-14
* Support added for Django 4.2.
* Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is
deprecated
[1.0.1] - 2022-12-21
* Fix a bug in building error response messaging.
[1.0.0] - 2022-02-16
* Dropped Support for Django22, 30 and 31
* Added Support for Django40
~~~~~~~~~~
[0.9.12 - 2021-09-02
* Fix grade history not rendering on error
~~~~~~~~~~
[0.9.1] - 2021-08-02
* Feat repeat user error should also show the first occurence
~~~~~~~~~~
[0.9.0] - 2021-07-20
[0.8.14] - 2021-07-12
[0.8.13] - 2021-07-12
* Fix bug where we ignore repeat user in the csv import
[0.8.12] - 2021-06-21
[0.8.11] - 2021-07-09
* Fixed a bug causing bulk management import history to break when import had pre-filtered columns
[0.8.10] - 2021-05-14
[0.8.9] - 2021-04-09
* Updated dependencies
[0.8.8] - 2021-04-08
[0.8.7] - 2021-03-15
* Upgrade super-csv to 2.0.1
* Only show modified subsections in the Bulk Grade Override Report.
[0.8.6] - 2021-01-22
install-local
that will install your local code into devstack LMSgrade-{subsection_id}
.
This column is equal to the original_grade
column for that subsection if there is no override, or equal to previous_override
if there is an override.[0.8.5] - 2020-12-24
* Upgrading celery to 5.0
* Removed python 3.5 classifier as its support is dropped earlier
[0.8.4] - 2020-12-24
[0.8.3] - 2020-11-19
* Updated the build status badge in README.rst to point to travis-ci.com instead of travis-ci.org
[0.8.2] - 2020-11-02
active_only
field to GradeCSVProcessor
[0.8.0] - 2020-09-03
* Upgraded to celery 4.2.2
* Removed django-celery
[0.6.6] - 2019-12-13
[0.6.5] - 2019-12-05
* In ``get_scores()``, account for case where no ``ScoreOverrider`` exists.
[0.6.4] - 2019-09-24
GradeCSVProcessor.save()
should return something.[0.6.3] - 2019-09-24
* Upgrade super-csv to 0.9.4, make sure to pass ``user_id`` to GradeCSVProcessor.__init__().
[0.6.2] - 2019-09-23
[0.6.1] - 2019-09-17
* Call grades api with `comment` when doing bulk upload
* Add `user_id` field to GradeCSVProcessor to fix bulk_upload history entries
[0.6.0] - 2019-09-10
[0.5.10] - 2019-09-06
* Prevent user from setting negative grades
[0.5.9] - 2019-08-28
~~~~~~~~~~~~~~~~~~~~
* Make intervention report display either grade override if exists or original grade.
[0.5.8] - 2019-08-26
~~~~~~~~~~~~~~~~~~~~
* Make intervention masters track nly. Some clan up.
[0.5.3] - 2019-08-16
~~~~~~~~~~~~~~~~~~~~
* Add support for filters to Interventions CSV report endpoint, mirroring bulk management filters
[0.5.2] - 2019-08-15
~~~~~~~~~~~~~~~~~~~~
* Bring datasource for grade information inline with what the rest of gradebook uses
[0.4.4] - 2019-08-13
~~~~~~~~~~~~~~~~~~~~
Add ability to filter by course grade, provided as a percentage to the endpoint.
[0.4.3] - 2019-08-12
~~~~~~~~~~~~~~~~~~~~
Add ability to filter by subsection grade, provided as a percentage to the endpoint
[0.4.1] - 2019-08-01
~~~~~~~~~~~~~~~~~~~~
Added ability to filter by subsection & assignment grading type for bulk management CSV downloads.
[0.1.4] - 2019-07-02
Added an endpoint for this history of bulk management operations on grade overrides.
[0.1.0] - 2019-05-24
Added
_____
* First release on PyPI.