edx-sga Staff Graded Assignment XBlock
Project description
This package provides an XBlock for use with the edX platform which provides a staff graded assignment. Students are invited to upload files which encapsulate their work on the assignment. Instructors are then able to download the files and enter grades for the assignment.
Note that this package is both an XBlock and a Django application.
Installation
Try Out on devstack/fullstack
Install Package
installing manually for evaluation and testing:
sudo su - edxapp -s /bin/bash
. edxapp_env
pip install -e git+https://github.com/mitodl/edx-sga@release#egg=edx-sga
Add edx_sga to installed Django apps
In /edx/app/edxapp/lms.env.json and /edx/app/edxapp/cms.env.json, add
"ADDL_INSTALLED_APPS": ["edx_sga"],
on the second line right after {
In /edx/app/edxapp/cms.envs.json, add
"ALLOW_ALL_ADVANCED_COMPONENTS": True,
to the list of FEATURES
Configure file storage
For file storage, SGA uses the same file storage configuration as other applications in edX, such as the comments server. If you change these settings to SGA it will also affect those other applications.
devstack defaults to local storage, but fullstack defaults to S3. To configure local storage:
Use local storage (useful for evaluation and testing)
In /edx/app/edxapp/edx-platform/lms/envs/aws.py change:
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
to:
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' MEDIA_ROOT = '/edx/var/edxapp/uploads'
Production Installation
Create a branch of edx-platform to commit a few minor changes:
Add SGA to the platform requirements
In /edx/app/edxapp/edx-platform/requirements/edx/github.txt, add:
-e git+https://github.com/mitodl/edx-sga@release#egg=edx-sga
Add edx_sga to installed Django apps
In /edx/app/edxapp/edx-platform/cms/envs/common.py, add 'edx_sga' to OPTIONAL_APPS
In /edx/app/edxapp/edx-platform/lms/envs/common.py, add 'edx_sga' to OPTIONAL_APPS
Enable the SGA component in LMS and Studio (CMS).
In /edx/app/edxapp/edx-platform/cms/envs/common.py, add 'edx_sga', to ADVANCED_COMPONENT_TYPES:
Configure file storage
In production, the edx-platform uses S3 as the default storage engine. If you want to use file storage see the devstack/full instructions above. To configure S3 storage properly in the platform, set the following values in your /edx/app/edxapp/lms.auth.json file or, preferably, in your additional yaml overrides in your edx/configuration setup.
"AWS_ACCESS_KEY_ID": "your bucket AWS access key ID", "AWS_SECRET_ACCESS_KEY": "Your bucket AWS access key secret", "AWS_STORAGE_BUCKET_NAME": "Your upload bucket name",
Staff Grading
Navigate to the student view (LMS) of the course and find the vertical with your Staff Graded Assignment. (If you are in Studio, click “View Live”).
If you are Course Staff or an Instructor for the course, you will see a “Grade Submissions” button in the lower right corner of the XBlock (Be sure you are in “Staff View” indicated by a red label in the upper right corner of the page; if it says “Student View” in green, click on it once.)
When you click “Grade Submissions” a grid of student submissions will display in a lightbox. Columns for username, (full) name, Filename and Uploaded (time) will be filled in.
Click the filename in any row to download the student’s submission. If it can be displayed in your browser, it will.
Click the Enter grade link to bring up an interface to enter grades and comments.
The grades and comments will appear in the grid. Use the “Upload Annotated File” button to upload a file in response to the student’s submission. The student will be able to view the file along with her grade.
Course staff can enter grades, but only Instructors can approve grades. Grades must be approved for the student to view them.
After the grade has been approved, the student will be able to see it inline and also in her progress page. Annotated files, if any, will be available for download.
Testing
Assuming edx-sga is installed as above, you can run tests like so:
$ python manage.py lms --settings=test test edx_sga
To get statement coverage:
$ coverage run --source edx_sga manage.py lms --settings=test test edx_sga $ coverage report -m
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file edx-sga-0.4.0.tar.gz
.
File metadata
- Download URL: edx-sga-0.4.0.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e27e91c56f3fb6a4eec4d76e241a954d434abcb089e6a7efd3aa608f17bd59c |
|
MD5 | b99bc1bb1b2b53e6a99f07c677321fc0 |
|
BLAKE2b-256 | e991b9d8911f02ad0834beb6bcfcc2e892a04bb629e9b5ed8670c36da38cb55d |