Skip to main content

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

  1. 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

  2. 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

  3. 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:

    1. 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:

  1. 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
  2. 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

  3. 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:

  4. 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",

Course Authoring in edX Studio

  1. Change Advanced Settings

    1. Open a course you are authoring and select “Settings” ⇒ “Advanced Settings

    2. Navigate to the section titled “Advanced Module List”

    3. Add “edx_sga” to module list.

    4. Studio should save your changes automatically.

the Advanced Module List section in Advanced Settings
  1. Create an SGA XBlock

    1. Return to the Course Outline

    2. Create a Section, Sub-section and Unit, if you haven’t already

    3. In the “Add New Component” interface, you should now see an “Advanced” button

    4. Click “Advanced” and choose “Staff Graded Assignment”

buttons for problems types, including advanced types
  1. Write a question with an SGA response

    Since the Staff Graded Assignment doesn’t support text within the problem, it is recommended to precede the SGA XBlock with a Text or HTML XBlock with instructions for the student. We recommend something using the following template:

    Use the “Select a File” button below to choose the file you wish to have graded. After you have chosen the file the button will change to the name of the file. Click the button again to Upload.

    When the upload is complete, a link will appear with the name of your file. Click it to confirm that the upload was successful. You can replace this file by simply selecting another file and uploading it. After the due date has passed, you will no longer be able to upload files.

  2. Settings

display_name

The name appears in the horizontal navigation at the top of the page

Maximum Score

Maximum grade score given to assignment by staff

Problem Weight

Defines the number of points each problem is worth.

Editing SGA Settings

Course Authoring in XML

XML for an SGA XBlock consists of one tag with the three attributes mentioned above. It is recommended to also include a url_name attribute. For example:

<vertical display_name="Staff Graded Assignment">
    <edx_sga url_name="sga_example" weight="10.0" display_name="SGA Example" points="100.0" />
</vertical>

Staff Grading

  1. 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”).

  2. 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.)

Staff view of LMS interface
  1. 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.

Staff view of grading grid
  1. Click the filename in any row to download the student’s submission. If it can be displayed in your browser, it will.

  2. Click the Enter grade link to bring up an interface to enter grades and comments.

Enter grade interface
  1. 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.

Staff view of grading grid after a submission has been graded
  1. Course staff can enter grades, but only Instructors can approve grades. Grades must be approved for the student to view them.

  2. 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.

Student view of graded assignment with annotated instructor response

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


Download files

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

Source Distribution

edx-sga-0.4.0.tar.gz (17.2 kB view details)

Uploaded Source

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

Hashes for edx-sga-0.4.0.tar.gz
Algorithm Hash digest
SHA256 4e27e91c56f3fb6a4eec4d76e241a954d434abcb089e6a7efd3aa608f17bd59c
MD5 b99bc1bb1b2b53e6a99f07c677321fc0
BLAKE2b-256 e991b9d8911f02ad0834beb6bcfcc2e892a04bb629e9b5ed8670c36da38cb55d

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