Package: edx-bulk-grades
Support for bulk scoring and grading. This adds models and an API for reading and modifying
scores and grades in bulk.OverviewTheREADME.rstfile 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.Using with Docker DevstackPrerequisite: Have your Open edXhttps://github.com/openedx/devstackproperly installed.
Note: When you see “from inside the lms” below, it means that you’ve runmakelms-shellfrom 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 directoryin 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-gradesOr, you can run the following make command:make install-localNow, 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 requirementsMaking Code ChangesAfter checking out a new branch, increment__version__by the smallest possible value located inbulk_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 upgradefrom docker shell of edx-platform. This will increment the version of edx-bulk-grades to the correct one.Once the code from step 3 is merged, this will trigger deployment of the correct versions of edx platform and bulk-grades.Unit Testingmock_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-shellfollowed by:$ cd /edx/src/edx-bulk-grades
make testThis will run the unit tests and code coverage numbersLicenseThe code in this repository is licensed under the AGPL 3.0 unless
otherwise noted.Please seeLICENSE.txtfor details.How To ContributeContributions are very welcome.Please readHow To Contributefor details.The pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you
can find it atPULL_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 atISSUE_TEMPLATE.md.Reporting Security IssuesPlease do not report security issues in public. Please emailsecurity@edx.org.Getting HelpHave a question about this repository, or about Open edX in general?  Please
refer to thislist of resourcesif you need any assistance.Change LogUnreleased[1.0.2] - 2023-06-14Support added for Django 4.2.Switch fromedx-sphinx-themetosphinx-book-themesince 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-20Added support for django 3.2[0.8.14] - 2021-07-12
* Update csv import error message
=======[0.8.13] - 2021-07-12Fix bug where we ignore repeat user in the csv import[0.8.12] - 2021-06-21Fixed import csv to not working with multiple sections per-user override[0.8.11] - 2021-07-09Fixed a bug causing bulk management import history to break when import had pre-filtered columns[0.8.10] - 2021-05-14Updated dependencies[0.8.9] - 2021-04-09Updated dependencies[0.8.8] - 2021-04-08Added excludedCourseRoles to grade export endpoint[0.8.7] - 2021-03-15Upgrade super-csv to 2.0.1Only show modified subsections in the Bulk Grade Override Report.[0.8.6] - 2021-01-22Added a management commandinstall-localthat will install your local code into devstack LMSGradeCSVProcessor export now includes an additional column per subsection,grade-{subsection_id}.
This column is equal to theoriginal_gradecolumn for that subsection if there is no override, or equal toprevious_overrideif there is an override.[0.8.5] - 2020-12-24Upgrading celery to 5.0Removed python 3.5 classifier as its support is dropped earlier[0.8.4] - 2020-12-24Adding celery5.0 testing using tox.[0.8.3] - 2020-11-19Updated the build status badge in README.rst to point to travis-ci.com instead of travis-ci.org[0.8.2] - 2020-11-02Addedactive_onlyfield toGradeCSVProcessorFor Grade CSV bulk download, only include active enrollments[0.8.0] - 2020-09-03Upgraded to celery 4.2.2Removed django-celery[0.6.6] - 2019-12-13Added Support for Django22.[0.6.5] - 2019-12-05Inget_scores(), account for case where noScoreOverriderexists.[0.6.4] - 2019-09-24GradeCSVProcessor.save()should return something.[0.6.3] - 2019-09-24Upgrade super-csv to 0.9.4, make sure to passuser_idto GradeCSVProcessor.__init__().[0.6.2] - 2019-09-23Upgrade super-csv to 0.9.3[0.6.1] - 2019-09-17Call grades api withcommentwhen doing bulk uploadAdduser_idfield to GradeCSVProcessor to fix bulk_upload history entries[0.6.0] - 2019-09-10Prevent Grade and Intervention CSV processors from producing duplicate columns.[0.5.10] - 2019-09-06Prevent user from setting negative grades[0.5.9] - 2019-08-28Make intervention report display either grade override if exists or original grade.[0.5.8] - 2019-08-26Make intervention masters track nly. Some clan up.[0.5.3] - 2019-08-16Add support for filters to Interventions CSV report endpoint, mirroring bulk management filters[0.5.2] - 2019-08-15Bring datasource for grade information inline with what the rest of gradebook uses[0.4.4] - 2019-08-13Add ability to filter by course grade, provided as a percentage to the endpoint.[0.4.3] - 2019-08-12Add ability to filter by subsection grade, provided as a percentage to the endpoint[0.4.1] - 2019-08-01Added ability to filter by subsection & assignment grading type for bulk management CSV downloads.[0.1.4] - 2019-07-02Added an endpoint for this history of bulk management operations on grade overrides.[0.1.0] - 2019-05-24AddedFirst release on PyPI.