GithubHelp home page GithubHelp logo

gradetool's Issues

Minor layout details

  • Hide the find and clear buttons if no text has been entered into the search field
  • Hide the "show grade calculation" button if there's no grade calculation (i.e. no children)
  • On the signing screen, maybe show the catalog number in a smaller font below the course title (along with the date) rather than the current huge font :-)

Add recalculate selected option

Component

Grade list, calculation options

Summary

Add a third option in the 'recalculate grades' dropdown that only recalculates the grades for the students that have been selected and/or are visible on the screen.

Requested by

FGw

NAP button inconsistency

When entering a NAP manually, 'EDITED' appears. When using the button, it does not. Always show edited?

PDF upload requirement

Certain FNWI programmes have a requirement that a PDF version of the examination is uploaded before grade submission. This check is currently still present in Canvas layout, but there is no option to upload the PDF. Add that option in the submission dialog.

Import existing grades

FGw wants all existing grades for the current academic year to be imported into the grade tool for the second semester, so that retakes can be submitted normally.

Improve indicators for multiple examiners

Component

Grade list

Summary

In the case that you are not allowed to process grades (either for a student or at all), show in the mouseover the name(s) of the examiners who are allowed to do so.

Show grades from SIS

Component

Grade list

Summary

If there are already grades in SIS that have somehow been submitted outside of the tool, retrieve them and show them in the tool.

Correction approval

Corrections should always be possible within six weeks of the original grades being submitted. To handle corrections after the six week term, we need:

  • A mandatory reason field for such corrections
  • An overview screen for the education desks with all submitted corrections
  • The ability for the education desk to approve or reject corrections that were submitted outside the six week term

And possibly:

  • A weekly update of all submitted corrections, sent by email, and/or
  • A notification when a new correction has been submitted

Select all should have dropdown for exam/retake

If there are open grades for the final exam and the retake, show a popup/dropdown when clicking the 'select all' button to allow the user to choose which one they want to select.
DEF870

Handle cross-listed courses

Canvas allows cross-listing of sections, essentially moving a section from one course ('source') to another ('target'). The grade tool currently ignores cross-listing entirely, showing the sections as they are in SIS. One example use case (from Psychology) is a 12 EC course that consists of 6 EC subcourses that can also be taken separately, which are all part of a single Canvas course.

While it doesn't seem possible to solve this entirely, the tool could (assuming Canvas allows this) detect the cross-listing and display links between the various courses. So the grade list for the target course might include a list of links to the source courses, allowing you to easily switch to the other courses for grade input.

Additionally, the grade calculation might allow the user to use the grades in the target course to calculate final grades in the source courses.

Individual courses

Add the fields "Title", "Assessor" and "Examination date" to the Canvas layout for individual courses (i.e. when Course.IsIndividual is set). The fields should appear when the grade row is expanded. Title is a free text field, assessor should be chosen from a list of people using a PersonPicker variant. Title and assessor are (for now?) not required to submit grades, the date is required and should be validated as follows:

  • Date should be in the past
  • Date needs to within the period for the course
  • Date cannot be 31/1 or 31/8 (suggest 30/x in this case)

There are currently no retakes for individual courses so the retake column can be hidden.

Faculty settings

Component

Admin interface

Summary

Create a settings page where a faculty can configure

  • Closing date for grade submission
  • Whether or not to display the add student button
  • ?

Grade tool access controls

In acceptance, the grade submission should be enabled for all courses. In production, it should be usable for all courses in FNWI, AUC, and we be able to easily turn it on for other faculties and/or individual courses.

Corrections to existing grades

We need to add an option for teachers to submit corrections to existing grades.

Some thoughts on the UX for corrections: say that you have submitted a final grade (partially), so that when you open the grading screen there is now a retake column. What you want to do is correct some or all of the submitted final grades, and the option to require a reason is enabled. A possible way this might work:

  • By default all submitted grades are locked
  • You click a 'correct final grade' button somewhere (not for a specific grade, but for the entire column)
  • Now the grades that you have already submitted become 'editable' (in terms of the data model you are actually creating one or more new lists with new entries, but this is the UX) and all other cells (any final grades you have not yet submitted and the retake) become uneditable. You can calculate, upload or manually enter grades.
  • When submitting, you are asked for a reason (instead of an exam date, which will be the same as the original one) and you sign the grade
  • After submission the new grades are shown and are again locked
  • Corrected grades show a CORRECTED indicator, with a mouseover showing the original grade

Planning
Live in semester 2.

Exam date for individual grade lists

Currently GradeInputList.ExamDate is not set for an individual grade list. This sort of makes sense since there is no longer a single exam date, but there are a number of processes which assume this is not null for a submitted grade list. For example, I just got this error when submitting list 81693:

System.InvalidOperationException: Nullable object must have a value.
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Nullable`1.get_Value()
   at UvA.DataNose.Data.GradeInputEntry.<>c__DisplayClass28_0.<get_IsVURelevant>b__0(Enrolment z)
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at UvA.DataNose.Data.GradeInputEntry.get_IsVURelevant()
   at UvA.DataNose.Data.UvAData.<>c.<AddVisibility>b__32_0(GradeInputEntry e)
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
   at UvA.DataNose.Data.UvAData.AddVisibility(GradeInputList entity, Int32[] years)
   at UvA.DataNose.Data.UvAData.OnSavingChanges()
   at UvA.DataNose.Data.UvAData.SaveChanges()
   at UvA.DataNose.Core.DataContainer.SaveData(Boolean notify, UvAData data, String filePath, Int32 lineNumber, Boolean noTracking)

Maybe the exam date should be set anyway (say to the last date?), and/or we need to check all places where this is used?

Cookie blocking issues

Certain browsers block cross-site cookies aggressively, preventing the tool from loading within Canvas.

This might not be easy to fix, but can we at least show a warning for the user that they might need to disable the tracking blocking.

Safari in particular does this by default with the 'cross-site tracking' option.

Retakes for individual grades

Component

Grade lists for individual courses

Summary

Add an option to allow retakes for individual grades, with a second column as usual.

VU grade processing

For grades that come from the VU (CourseYear.ExternalType == VU and/or SignedBy = VUCIJFERS), create classes with section EXVU instead of EXCV

Retrieve CVPA from enrolment course

For some reason, UvANose adds the CVPA attribute to the course where enrolment is done, rather than the Y-course. Hence when checking for the attribute we need to look there as well (I think it suffices to see if there is a child that has the attribute).

Improve grade PDF format

  • English/Dutch versions
  • Show 'not yet signed'/'nog niet ondertekend' instead of signature field if not signed
  • Hide 'Vakcoördinator' for non-FNWI courses
  • Add EC after the number of EC
  • Consistent date format (both in Dutch and English version)
  • Don't show header if there are no rows
  • Show name as well as UvAnetID for GradeInputList.SignedBy

View-only rights

Change the permissions so that anyone who can view grades in Canvas can also view grades and calculation settings in the grading tool, in a read-only view. Keep editing permissions as they are now.

Save created class to uvainfo

Newly created classes need to be saved to uvainfo.
Currently a second gradelist on the same class seems to try to create the class again.
Session start and end should also be checkable on new classes.

Notifications for pending grades

Add an option to send a configurable notification to teachers that is automatically sent a certain amount of days after the examination date. Per faculty we can configure:

  • On/off
  • Sender
  • Subject and body
  • Number of days after exam date
  • Cc address

Multiple notifications can be configured per faculty at different dates.

Notifications are sent out to all examiners as long as there is at least one pending grade for a course.

Clarify delete button

Maybe it's me, but the delete button for added students looks more like an icon to me. Maybe it already helps if it changes color on mouseover like most links?

Better error message on invalid examination date

DEF853

For now let's show an error "An invalid examination date has been set for this course. Please contact the education desk of your programme"/"Er is een ongeldige tentamendatum ingesteld voor dit vak. Neem contact op met de onderwijsadministratie van de opleiding"

(This should obviously only be shown in the case the exam date cannot be edited)

EC field shown on import

When importing grades for an individual course, you can import an EC column, even if the UI doesn't allow the EC to be changed.

Overview of submitted grades

Make a screen available to admin users that gives an overview of all grades that have been submitted, with the current status. This should mostly be able to re-use existing screens, but should take submission of partial lists into account.

To do:

  • Add a full overview of errors

Add submission not allowed icon

If

  1. the user is allowed to book grades for some students, but
  2. not all of them
    show an icon for the students they aren't allowed to submit grades for.

DEF907

Exam date retrieved from wrong class

When looking up the exam date on the T class, it should look for a T class for which the session matches the session of the Y-class (modulo S/T, so S11 should be matched to T11).

See DEF868, in this case the AJ T class should be used because the Y class is AJ.

Send FNWI examiners

Use SNS_OPR_DEF_TBL_CS to set the CVEX role for all FNWI examiners and use their ID when possible instead of DATANOSE.

Handle non-standard EC values

If there is a non-standard EC value on the existing Y-enrolment for an individual course, this EC amount should be kept when registered the grade (so if a student is enrolled for a 6 EC course with a 12 EC enrollment, the grade should be registered with 12 EC).

(Dutch) language label fixes

When looking at the Dutch language version I see a few minor inconsistencies:

  • "All students" in the group dropdown lacks a translation
  • For non-FNWI courses the single person field should be 'Assessor'/'Beoordelaar'
  • The groups are shown as "Section Group X" (for an FNWI course), which seems a bit superfluous :-)
  • "Inlever datum" should be "Tentamendatum"/"Exam date"
  • The date picker for the exam date lacks a Dutch translation
  • "EDITED" should be "BEWERKT"

Verify session start/end date checks

Make sure that when processing results to SIS, the exam date is correctly checked against the start/end dates of the session. Do not try to process grades that do not fall within the session.

See DEF881 and DEF1192.

Import data from thesis workflow

Retrieve data from the thesis workflow whenever the Canvas grading page is loaded: title, assessor (as person reference?) and submission date.

Getting the data from Canvas turned out to be fairly simple, but the supervisor doesn't seem to be there in any kind of consistent format, so we'll have to leave that out for now it seems.

Tooltip for rejected grades

When a grade has been rejected (e.g. #pendinggrade/list[96521,81740]), make sure that status is shown in the grade screen with a cross. Add a tooltip showing 'Grade has been rejected by administratie'/'Cijfers is afgewezen door onderwijsadministratie'

Issue with different careers

See DEF1329. Here students are enrolled for the main course with career 60. Why does it fail to process the grades? Does it pick the wrong career, or is there something wrong in SIS and is it impossible to process them? In the latter case, add a new career mismatch error type

Audit log grade changes

Component

Grade submission screen

Summary

Log all changes to unsubmitted grades in the grade screen, including when the calculation button is pressed. Log the change, date and user.

Requested by

FGw (Joris)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.