v2.10.0: LTI Integration, Generalized Feedback, and Streaming Output
Breaking Changes
- Table migrations needed due to schema changes for new features
- Upgrade of old gems
- A new required config file
config/lti_settings.yml
has been added for LTI integration. This is also required to be done manually for the docker-compose installation as well. Please initialize the file by running
cp config/lti_settings.yml.template config/lti_settings.yml
New Features
LTI Integration
#1635, #1649, #1657, #1678
Autolab now supports roster syncing with courses on Canvas and other LTI (Learning Tools Interoperability) services. For full instructions on setup, see the documentation.
Once a course is linked, instructors can go to [Course] > Manage Course > Manage Course Users to refresh the roster:
Instructors can also edit "Linked Course Settings" to configure whether or not to auto-drop students who are not enrolled in a linked course.
Streaming Output
#1622, #1645, #1671, #1679, Tango #223, Tango #225
Updated feedback interface
The feedback interface now features a two-column panel for displaying feedback. The left-hand side features the autograding output as well as a status (Queued, In-Progress, or Completed) badge, and the right-hand side features a results panel, with the student's scores for a submission.
Partial Output
Submissions being graded are now clickable with a clock icon rather than a plaintext dash. Once clicked, partial output from Tango can now be viewed on the feedback page as a submission is being graded. Partial feedback will be updated when the user clicks on the refresh icon.
Assignments that have been added to the autograding queue, but haven't started grading yet will be displayed as such:
Generalized Feedback
#1617, #1629
Instructors and CA's are able to leave "general" feedback on each problem, not tied to any specific line number or file. These can be accessed by pressing the plus button next to a problem header.
Once added, the general feedback comments will be displayed with a badge indicating the number of points. When hovered over, they can be edited or deleted.
Improvements
Grading
#1658 - Correctly display orphaned annotations on the viewFeedback page
#1643 - Don't mark error-initialized scores as graded by autograder
#1639 - API endpoints to create problems and query/update scores for an assessment
#1618 - Positive grading for assessments
#1617 - Filename, line number, better collapsibility for annotations
#1610 - Allow linebreaks in remarks; new UI for remarks in viewFeedback
#1590 - Fix order of annotations on feedback view and file view to be consistent
#1660 - Annotations Improvements:
New features
- Display current max score on edit problem page
- Add problem max score to annotation panel
- Allow multiple annotations per line
Breaking changes
- Make shared comments operate on a per-problem basis
Others
- Optimize performance of updating grades and annotation panes
Metrics
#1655 - Export metrics to CSV
#1651 - Ability For Instructors to Enable Student Metrics for Course Assistants
#1630 - Exclude dropped students from watchlist during refresh and updates
Roster
#1640 - bulk import & assign roles to users from emails
#1637 - Add course number column to roster
#1585 - Standardize roster upload tables
#1580 - Mononym support
UI Improvements
#1633 - Refactor manage course statistics table
#1631 - Remove extraneous span padding on metrics page
#1626 - Rework watchlist top button visibility, allow student names to be copied
#1624 - Make submission summary fill up space
#1615 - Hide view writeup button when no writeup exists
#1609 - Compact submission history, increased visibility of "see all submissions"
#1607 - Make attachment uploads more understandable, indicate if attachment is unreleased
#1606 - Overflow scroll within feedback div instead of flow through entire page
#1602 - Improved formatting of handin history page
#1601 - Updated heading sizes
#1598 - "Beautify" user profile
Other
#1672 - Catch invalid assessment config on import assignment tar
#1662 - Allow admins to edit school and major of users
#1638 - Check for handin file type when uploading file to assignment
#1623 - Show revised due date for manage extensions
#1619 - Extension support for non-english names
#1592 - Update extension functionality
#1587 - Add reset layout button to student view of speedgrader
Bug Fixes
#1647 - Fix codebox highlighting after switching files
#1621 - Fix annotation switching problems not updating score
#1660 - Prevent selection of autograded problems when editing annotation, persist shared comments checkbox for global annotations, preserve newlines in descriptions, add handling for nil
problem max_score
#1620 - Force flatpicker interface for date/datetime picker on mobile
#1616 - Use correct files list for sorting annotations when viewing an archive
#1614 - Show only one download option in assessment submission summary
#1613 - Retry loading file viewer with new header position when render error occurs
#1596 - Make grades section scrollable, delete unnecessary headings in speedgrader
#1595 - Fix enroll student for existing students
#1589 - Remove possibility of having a submission time in the future when bulk importing grades
#1588 - Parameterize category names for metrics allowlist
#1584 - Fix creation of missing submissions
#1579 - Fix remarks for annotations on autograder support
Security Advisories
File disclosure via remote handin feature
RCE via MOSS functionality