About OAT

OAT (Online Academic Tools) is a set of tools to assist advisors and others in academic settings.

Components

OAT has a number of distinct components.

ASIS (Advisor Student Information System)

ASIS presents information about a student in a consise format optimized for academic advisors. Searching for a student is fast and flexible, including reviewing the students viewed in the past.

ASIS includes a facility for taking notes about a student; notes can be made private to the writer (although some others, like Associate Deans, have permissions to view them).

Canned Queries

Canned queries are pre-written queries that are made available to authorized users to run on an as-needed basis. Query subjects range from listing outstanding incomplete grades in a given faculty to measuring attrition rates by course and instructor.

Courses

OAT generates photo class lists based on current course enrolment and WatCard photos.

A visualization tool shows in a timetable format groups of courses by instructors, rooms, or catlog numbers to help with scheduling.

Bulk Mail

Bulk mail allows authorized users to send email and/or log ASIS notes to all of the students (or faculty/staff) returned by a query. New communications can be based on templates or a previous communication.

Forms

Forms allow us to collect information we don't know from students, supplement it with information we do know (e.g. from the database), and then make decisions based on that data.

Virtual Queues

Virtual queues is an on-line version of a "take-a-ticket" system. Students get a ticket using a web page that reserves a place for them in a virtual line. They can monitor their position in the line on their computer or web-enabled smarthone. When they are getting close to the front, they'll be notified that it's time to actually go to the office hours.

Web Services

A web service is essentially a web site for other computers. OAT-provided web services are backing UW's Course Evaluation system and several other systems in Science and Engineering.

We welcome other uses, as well.

Access to OAT

Access to OAT is in accordance with UWaterloo's policies on Information Security, Records Management, and Access to and Release of Student Information.

Associate Deans and others in similar positions or their delegates are responsible for deciding who, within their units, should or should not have access to OAT.

Requests for access to the web services should be directed to the chair of the OAT Management Board.

People

  • Byron Weber Becker is the primary developer behind the Online Academic Tools (OAT).
  • Isaac Morland is the database guru.
  • Steve Weber set up production and test (virtual) machines, looked after security, developed the OAT logo, etc.
  • David Gawley set up the virtual machines as well as the hardware OAT runs on.
  • OAT is governed by the OAT Management Board. Current members are:
    • Marek Stastna (Math AD Computing; chair)
    • Cecilia Cotton (Math AD Undergrad)
    • Byron Weber Becker (OAT Developer)
    • Isaac Morland (OAT DBA)
    • plus ad hoc representatives, as needed
    Past members include Wayne Oldford, David McKinnon, Marek Stastna, Charlie Clark, Ken Salem, Dan Brown, Colin Bell, Francis Poulin, Christiane Lemieux, Peter Douglas, Stephen Vavasis, Dan Davison, Martin Karsten, David Bean, Martin Lysy, Andrea Prier, Tracey Sinclair, Benoit Charbonneau, Daryl Dore, Craig Kaplan, Derek Rayside, Patrick Lam, Paige Doherty, Marianne Simm, Stacey Mahoney, and Mary Lynn Benninger. All have played significant roles.
  • Ian Goulden (Dean) and David Taylor (Director of the School of Computer Science) supported the project in the early days and were generous in allocating time, particularly for Byron. Stephen Watt and Mark Giesbrecht have continued that support.
  • Colin Bell and Patrick Matlock were key supporters IST in the early days; Daryl Dore has picked up that torch.
  • Jo Voisin has been invaluable in extracting data from Quest and helping to understand what the data means.
  • Co-op Students:
    • Jay Park and Joe Wood prototyped various parts of OAT during their work terms.
    • Jaden Lin made many contributions, including Bulk Mail, Virtual Queues, Query's "View in ASIS", searching student notes, recording changes to queries, additional unit tests, figuring out how to use scalariform and Scala.js, and many other tasks during Winter and Spring 2016 work terms.
    • Tingjun (Alex) Cai fixed many bugs and made substantial improvements to our use of Scala.JS on the browser. He was a fount of much wisdom when it comes to understanding JavaScript and its interaction with Scala.JS. He also improved our management of JS libraries. Alex did his work during his Winter 2017 workterm.
    • Reuben McCleary brought more order to our list of canned queries, expanded our unit tests, and created a new set of end-to-end tests in Winter 2018.
    • Ashish Mahto fixed bugs and made many improvements to the codebase in Winter & Spring 2019 and again in Winter & Spring 2020 when he made significant improvements to the Forms subsystem.
    • Thaqib Mohammed closed a boat-load of annoying issues in Winter 2022.
    • Ramona Dirks wrote the initial plan definitions for Degree Audit in Winter 2024.

Release History

A note on version numbering: Version numbers are pretty arbitrary. The current version appears until some arbitrary point when the version number is bumped upwards and we start again. The most recent version may "grow" as work continues.

4.1.1 (2024-11-01)
  • ASIS
    • #2180: Fixed bug WRT to campus in course select tab.
  • Degree Audit
    • #2166: Averages other than CAV/MAV/FAV.
  • Bulk Mail
    • #1787: Fixed bug in updating note origin.
  • Admin
    • #2187: Fixed a permissions bug for user maintainers.
  • Web Services
    • #2185: Make data from Q1106 available via API for an Eng project.
4.1.0 (2024-06-14)
  • Degree Audit
    • #2028: What to do if you've found an error.
    • #2032: Improve UX of the main degree audit display tree.
    • #2064: Provisional satisfaction.
    • #2114: New requires clause for transfer students.
    • #2119: Added some help materials for degree audit.
    • #2124: Reorder requirement ids.
    • #2130: Log degree audit requests.
    • #2134: Warn if using unapproved audit specifications, so we can put them all into production.
    • #2137: Prioritize in-progress courses last for being chosen.
    • #2142: Improved handling of audits that time out.
    • #2155: Improve error reporting when a plan file isn't found.
    • Lots of bug fixes.
  • ASIS
    • #2099: Show term if plan changed, even if no courses.
  • Courses
    • #2146: Better error handling for incomplete data in photo class list.
  • Query
    • #2152: Adjust CAMPUS_CODE drop-down.
  • General
    • #2143: Restored email error reporting to Byron.
4.0.0 (2024-03-06)
  • General
    • #2049: Migrated from Scala2 to Scala3.
    • #2007: Migrated from Play framework v2.8 to 3.0.
    • #2020: Deleting google analytics cookies for visitors to the landing page to mitigate future login issues.
    • #2089: Fixed a bug in the login code.
  • Degree Audit
    • #2020: Improved error reporting when an audit can't be completed.
    • #2078: Handle cross-listed courses.
    • #2086: Handled supplementary exams.
  • ASIS
    • #1740: Added preferred pronouns.
    • #2102: Update which unit values are displayed for some coop courses.
3.4.9 (2024-02-09)
  • ASIS
    • #2054: Display requirement designation grade, when available.
  • Degree Audit
    • #2025: Starting to roll out degree audit.
    • #2026: Build regression testing infrastructure for plan definitions.
    • #2039: Added beforeTerm and afterTerm clauses for course specs.
    • #2041: Fixed a bug with minAverage
    • #2059: Removed a source of non-determinism.
    • #2043: Include plan title.
    • #2045: More aggressive preprocessing to solve some timeouts.
    • #2066: Improved error handling.
  • Courses
    • #2010: Continuing to improve course schedules.
  • Query
    • #2038: Added a wildcard parameter for career.
  • General
    • #2062: Changed execution context on browser to improve performance.
    • #1945, #2050, #2060, #2062: Updated libraries; deprecations.
    • #2046: Better error handling.
3.4.8 (2023-12-22)
  • ASIS
    • #1982: Starting to release infrastructure to support degree audits.
    • #1991: Better error handling in a corner case.
    • #1996: Debounced button clicks to add/update/delete notes.
  • Courses
    • #2010: More info about courses to help replace Course Info Report.
  • Query
    • #1978: Corrected stored prodedure used in several queries.
    • #1990: Fix a bomb in Query->History.
    • #2002: Added a new List-of-Int parameter type.
  • Virtual Queue
    • #2023: Allow hyphens in queue URLs.
  • Forms
    • #1999: Fixed bug involving course grades for most recent term.
    • #2003: Fixed a bogus error message when updating some forms.
  • Bulk Mail
    • #2001: Prevent using cross-tabbed queries, which result in duplicate email.
  • General
    • #1964: Split some core classes into a separate module and then into a library.
    • #1981: Updated the compiler and addressed many warnings that resulted.
    • #1989: Security updates for a science faculty project.
    • Add a note regarding touch screens to virtual queue maintenance screen.
    • #2013: Add data to the course offerings web service for Science.
3.4.7 (2022-12-16)
  • ASIS
    • #1865: Restore autofill for ASIS note subjects.
    • #1868: Fix bug where note subjects were ignored on enter.
    • #1873: Fix some corner cases for View in ASIS.
    • #1875: Added an error message to avoid a bug from entering too many prefixes in ASIS prefs.
    • #1918: Add a route to show student by userid.
    • #1946: Fixed crash from unexpected gender code; removed gender from student list.
    • #1956: Fixed initialization bug when using a userid in the ASIS url.
  • Query
    • #961: Include plan code in plan groups to allow drill-down to plan-code level.
    • #1863: Don't override the query's sort order in the UI.
    • #1864: Rewrite course_avg db function to correspond better to Quest.
    • #1870: Enable wild-card searching for level parameters in queries.
    • #1877: Refactor query run view to improve maintainability and correctness.
    • #1879: Do a better job of handling long-running queries and queries that time out.
    • #1884: Make boolean columns sortable.
    • #1901: Disable run buttons if not enough permissions.
  • Virtual Queues
    • #1227: Rewrite virtual queue service view to improve error handling and user experience.
    • #1812: Rewrite virtual queue status view to improve error handling and user experience.
    • #1874: Adjust post-office hours queue cleanup.
  • Forms
    • #1866: Fix bug in ranking submissions.
  • Admin
    • #1912: Allow adding students as OAT users in the Add User screen.
  • Bulk Mail
    • #1391: Handle long processing jobs better.
  • Degree Audit
      #1407: New web service
  • Courses
    • #2000: Adjusted Schedule view to also show non-Lecture sections in Courses view.
  • General
    • #1806: Refresh materialized views concurrently to avoid locking things up.
    • #1845: Changes for Postgres 14 database.
    • #1855: Revised the database view giving the matriculation term for each student.
    • #1878: Clean up execution contexts to support issue #1770.
    • #1882: Refactor the caching infrastructure.
    • #1908: Updated std_term_count to include columns for registered and withdrawn.
    • #1919: Change in data feed broke the health check.
    • #1927: Better error handling when refreshing materialized views.
    • #1944: Replaced an end-of-life jquery facade with a new one.
3.4.6 (2022-04-20)
  • ASIS
    • #1424: Overhaul student notes; now work with 'view in ASIS'; other improvements.
    • #1752: Adapt to new honours/awards coding; add degree honours to honours/awards tab.
    • #1823: Improve look and feel of searching all ASIS notes.
    • #1830: Made the program tab sortable by termid.
    • #1832: Added plan type to hover to reliably identify WLU-registered DD students.
    • #1835: Fix bug preventing using non-ASIS menus when using 'View in ASIS'.
    • #1842: Infrastructure changes related to fetching notes.
    • #1847: Hide program and schedule tabs when they are not relevant.
    • #1850: Set up Stats & ActSci to use the advising queue.
    • #1854: Fine-tuned behaviour for some search-restricted users.
    • #1856: Expunged some data that was needlessly included in the academic record view.
  • Queries
    • #1648: Disabled query recommender (for now). Takes too much CPU.
    • #1838: Allow adding/removing queries to favourites before running.
  • Bulk Mail
    • #1427: Significant speedup to loading list pages at cost of not being able to search bodies.
  • General
    • #891: Move some pure javascript into Scala.JS; get rid of unused javascript libraries.
    • #1419: Partially enable restoring filters when the page is reloaded.
    • #1661: Send user expiry emails directly to administrators rather than via users.
    • #1718: Changed timeout behaviour for web service get requests to be a bit more lenient. Seems to resolve a number of other issues as well (1828, 1829, 1851, etc).
    • #1831: Add sorting to more tables; replace sort library.
    • #1833: Make development easier with some pretty printers.
    • #1849: Added a new web service and set up permissions to support 'Disciple' project in Science.
3.4.5 (2022-03-01)
  • ASIS
    • #1426: Added a program tab to the academic record.
    • #1510: Corrected a bug in the student scheduling tab so that the proper section of a held-with is added.
    • #1660: Add Full/Part-time load status and hovers.
    • #1662: Add search within a student's notes.
    • #1667: Move incoming transfer credits into their own row in the academic record.
    • #1709: Enhancements to plan hover.
    • #1730: Reset term stats accumulator when crossing career boundaries.
    • #1805: Enable more functionality when using `View in ASIS`.
    • #1809: Fix the plan hover in Safari.
    • #1810: Under-the-hood work on tooltips; improved formatting of course tooltip.
    • #1822: Added delay to note origin tooltips to prevent too many requests.
  • Web Services
    • #1803: Improve error reporting after a time-out.
  • Virtual Queues
    • #1829: Interrupted polling after a timeout with a user alert.
  • General
    • #1814: For historical reasons, we had two libraries deserializing JSON. Got rid of one.
    • #1817: Cleaned up code in core infrastructure communicating between browser and server.
3.4.4 (2022-02-01)
  • Admin
    • #1722: Fix a bug in searching for users to add.
    • #1723: Enhancements to administering users.
  • ASIS
    • #1660: Display full/part-time status for each term.
    • #1725: Fix a bug where some hovers over student plan could show wrong information.
    • #1741: Remove student current term from the holds tab in the student view.
    • #1746: Fix a bug where notes related to previously purged notes were to be purged.
    • #1792: Handle new ADA grade.
    • #1809: Fix tooltip display in Safari.
  • Query
    • #1738: Clean up query CSV downloads when they contain HTML.
    • #1748: Added new plans to the plan group tree; added some new alt trees.
    • #1751: Moved some arts plans around in the plan group tree.
    • #1753: Better job validating term ranges.
    • #1754: Add query permission list to the query run view form and the query result.
    • #1769: Log query runs even if they don't succeed.
    • #1781: Fixed the broken download policy link.
    • #1783: Fixed Expired Maintainers in Renewal email.
  • Forms
    • #1724: Fixed a bug where forms could not be reranked numerically.
    • #1764: Added forms for coop awards; minor reworking of form visuals.
    • #1765: Added a form for Math W22 course registration.
    • #1795: Added autocomplete=off in the query input parameters.
  • Virtual Queues
    • #1775: Fixed a data request that had grown to be too large.
    • #1779: Added option to specify virtual meeting.
    • #1797: Fixed lines calendar initialization in the UI.
    • #1798: Fixed validation for getting in line.
    • #1804: Disable the 'more time' button when student is near front of queue.
  • Bulk Mail
    • #1731: Escaped characters such as & that caused a bomb under some circumstances.
  • General
    • #1734: Init browser code only after everything has loaded.
    • #1758: Changes to deal with exhausting database connections while refreshing views.
    • #1799: Enhancements to logging from the browser.
  • Scheduling
    • #1735: Better input validation for instructors, courses, and rooms.
3.4.3 (2021-04-26)
  • ASIS
    • #1715: Fixed deserialization error for the new Coop tab.
    • #1717: Fixed some corner cases in searching by friendly email.
    • #1720: Track down performance issues on student search suggestions
  • Query
    • #1713: Adjusted mime type for query downloads.
3.4.2 (2021-04-23)
  • ASIS
    • #667: Round averages to 3 decimal places.
    • #1463: Improvements to the Admissions tab.
    • #1562: Display Coop work term sequence.
    • #1652: Search by friendly email; search speed improvements; show more hits.
  • Bulk Mail
    • #1685: Automatically clean up the horrendous HTML formatting when pasting from MS Word.
    • #1693: Added limited support for putting a repeating group (eg a list of courses) into messages.
  • Query
    • #925: Added a term-range parameter type; adjusted about 130 queries; other refactoring of queries.
    • #1461: Removed the query editor; we use a different process now.
    • #1653: Refactored query parameters; introduced new parameter types.
  • General
    • #1700: Fixed a bug in timeout handling.
    • #1606: Upgrade Play Framework to the latest and greatest, 2.8.7; update library dependencies.
    • #1627: Found and fixed a bug with incorrect display of some dates.
    • #1640: Update ScalaJS from the end-of-life 0.6.x series to 1.5.0.
    • #1641: Change how data validation is done to allow it to be done more easily and often.
    • #1656: Better validation of term ids.
    • #1666: Fixed some intermediate representation linkage errors.
    • #1668: Improved logging on the browser.
    • #1676: Updated to the latest version of Scala. A lot of other stuff slipped in, including:
      • Improvements to error logging and reporting.
      • Cleaning assets; delivery of som common .map files.
      • A new check in Forms to prevent an unauthorized user from trying to submit.
      • Use a more compressed timezone library to reduce bandwidth needs.
      • Rewrite a significant part of Bulk Mail to eliminate a deadlock.
    • #1703: Update to Play 2.8.8.
    • #1704: Display a message in test alerting user that data will not be kept.
3.4.1 (2021-04-20)
  • Queries
    • #1592: Optimize the speed of a stored procedure used in a number of queries.
    • #1696: Add a help document on plan groups.
  • Forms
    • #1547: Adjustments to forms navigation.
    • #1579: Student notifications.
    • #1589: Course override forms.
    • #1597: Backup approvers for instructors.
    • #1679: Fixed a validation bug.
  • Photo Classlists
    • #1682: Fixed a bug where courses with no students failed silently.
  • Admin
    • #1710: Update user maintenance manual; fix bug where existing user info wasn't shown.
  • General
    • #1160: Web services for an MME project.
    • #1553: Removed google analytics. We don't use it anymore.
    • #1618: Refactor user autocomplete code; prevent pasting large blocks of text.
    • #1628: Email logged errors to staff for faster resolution.
    • #1630: Solve two timeout errors that were leaving lots of junk in the logs.
    • #1631: Reclassified a 'user can't log in' from error to warning.
    • #1641: Integrating a new input validation library.
    • #1680: Adapted to new data formats from WatIAM.
3.4.0 (2020-07-21)
  • ASIS
    • #1602: Display transcript text, if it exists, even if term has no courses.
  • General
    • #1353: Convert from CAS as single-signon provider to ADFS. Remove Silhouette auth library which resulted in many internal changes.
    • #1571: Improvements to testing libraries.
    • #1594: Reduce number of calls to get the message of the day.
    • #1604: Better error messages in JsonQuery to help with debugging.
  • Forms
    • #1593: Show all forms to students, even those that we think are not applicable.
  • Queries
    • #1343: Install a new view to help calculate a student's matriculation term.
3.3.7 (2020-Jun-08)
  • General
    • #1348: Re-do a database change that apparently got undone.
    • #1538: Updated lots of depenency versions. General cleanup.
    • #1554: Rework checking for being in production.
    • #1558: Overhaul build system and project organization to overcome issues with IntelliJ IDE.
    • #1561: Improve error reporting in a low-level database function.
    • #1563: Added support for new COVID-related grading bases.
    • #1564: Enrichments for handling json more cleanly.
    • #1565: Dealt with a deprecation in an Apache library.
    • #1566: Consistency in dependency injection imports.
    • #1576: Fixed a bug in the database that misclassified two plan_codes. Added new plan_codes.
    • #1586: Corrected bug where help files we not found.
    • HotFix: Add _oat.std_matric_term to the list of materialized views that gets updated each day.
  • ASIS
    • #1570: Rename 'special advising' flag to a more descriptive 'student visa'.
  • Bulk Mail
    • #1302: Fixed a bug that made selecting the user for 'Log to ASIS' finicky.
    • #1572: Moved query-merge insert from toolbar to menubar; allow window width more flexibility.
  • Forms
    • #1529: Don't show forms that aren't valid for the student's plan.
    • #1531: Added a decisions widget, which allows for decisions from multiple roles / lists of advisors. Decisions are more dynamic, handled uniformly across different forms, and decisions can be updated.
    • #1546: Allow users to archive their own forms.
    • #1568: Tweaks and cleanup to work done in 1531 and 1546.
  • Queries
    • #1573: Add SQL functions to support Math TDHL and related queries.
  • Virtual Queues
    • $1574: minor changes to guest-handling due to COVID pandemic.
3.3.6 (2020-Feb-26)
  • General
    • #1419: Restored ability to persist filter state. Affects both queries and bulk mail.
    • #1462: Adapt to UW's student names project by removing primary names.
    • #1483: Added date of Quest data in the nightly health check.
    • #1484: Add security headers to restore the ability to download documentation using Chrome.
    • #1486: Adjusted filtering of maintainers on `Requesting OAT access` page; added auth_group.
    • #1490: Fixed bug in photo class lists where the section was lost.
    • #1493: Add warning for null subject codes to the nightly health check
    • #1495: Adjusted filtering of maintainers in expiry messages.
    • #1501: Adjusted run time of nightly health check.
    • #1503: Updated OAT Mgmt Board membership on this page.
    • #1514: Updated test suite in the aftermath of the University's student names project.
    • #1525: Used campus_email for admin email addresses and ASIS notes.
    • #1526: Fixed a bug in account expiry notifications.
    • #1540: Fixed a bug in inputting current termids.
  • Web Services
    • #1467: Added a field to degree audit to flag when grades should not be shown to the student.
    • #1494: Permissions for Science's evalulite project.
  • ASIS
    • #656: Added a tooltip to Note Origin that displays the advisor's name and contact info.
  • Bulk Mail
    • #1527: Fixed some issues with the bulk mail pages when the user has minimal permissions.
    • #1498: Fixed issues where 'table' columns didn't align properly.
    • #1499: Fix several issues with data from the UI not being saved properly.
    • #1509: Restored previous functionality to see actual recipients rather than re-running the query.
    • #1512: Changed several tables to sort by default on sent date.
  • Queries
    • #1500: Add query number to the downloaded file name.
  • Admin
    • #1478: Restored CourseSchedules functionality
    • #1508: Added more error checking to the permissions.
    • #1537: Fixed bug that prevents maintaining the Query permissions
  • Forms
    • #1517: Improve performance of form submission summary query.
    • #1520: Enum in the database for form states.
    • #1521: Add a page for forms maintenance (eg change dates it's open).
3.3.5 (2019-Aug-22)
  • Admin
    • #1466: Small display bugs; Safari inconsistency.
  • Courses
    • #1476: Reintroduce a course scheduling tool.
  • Queries
    • #1321: Better job of validating regular expressions input as parameters.
    • #1465: Search on query id; add query id to title
    • #1469: Fix raw HTML appearing in cross-tabbed queries.
    • #1471: Do a better job of disabling controls while a query is running.
    • #1480: Allow the Courses query parameter to also select based on section code.
    • #1474: Display the permissions needed to run a query.
    • #1479: Update plan groups.
  • Bulk Mail
    • #871: Make bulk mail permissions more fine-grained.
    • #1151: Made it impossible to delete the base template.
    • #1445: Better interface for adding email addresses.
    • #1458: The note origin no longer defaults to the template author.
    • #1528: Fixed a race condition where a pre-set recipient query sometimes didn't show.
  • Virtual Queues
  • #1158: Fix a bug in the no-show behaviour picker.
  • HotFix: Adjust queue reset from 6AM to 8AM.
  • General
    • #865: Replace a javascript library which wasn't being maintained.
    • #1122: Updated SBT build tool.
    • #1366: Refactor TestUtil.
    • #1441: Refactor web service calls to use a common approach.
    • HotFix: Add AsisAdmissionsView to administrator assignable permissions.
    • #1480: Improve subcat_to_ids stored procedure to also work with sections.
3.3.4 (2019-Jun-25)
  • ASIS
    • #881: Infrastructure to support purging notes, per data retension policy
    • #1380: Initial release of Honours/Awards and Admissions tabs.
    • #1392: Better handling of default term in student schedule view.
    • #1428: Updated CS advisor pictures for the advising queue.
  • Canned Queries
    • #881: Added icons representing new queries and newly modified queries.
    • #1358: Fix a visual glitch in the positioning of the help button for query parameters.
    • #1389: Improve the handling of HTML embedded in queries.
    • #1390: Finish implementing fine-grained permissions on canned queries
    • #1402: Add a materialized view to making counting students easier.
    • #1409: The filter clear button now behaves appropriately; refactored a bunch of code.
    • #1410: Disable query parameters while query is running.
    • #1419: Restore previous behaviour of remembering applied filters; marking faviourite queries in the list.
    • #1417: Added a new table with math communications requirements to support a new query.
    • #1423: Fixed an issue where downloaded CSV files were not handled correctly by some browsers.
    • #1425: Rewrote how filters work with a number of usability improvements and code improvements.
    • #1430, 1446: Adjustments to plan groups
    • #1440: Fixed a bug where lists of userids containing an 'h' were not validated correctly.
    • #1442: Better handling of query parameters -- in lots of ways. Also applies to Bulk Mail.
    • #1454: Fixed how queries refer back to the student in ASIS that sometimes resulted in an error.
    • #1455: Better user interaction for entering query parameters.
  • Bulk Mail
    • #1320: Make tables sortable.
    • #1408: Show query reciients query on the Show Sent Queries page.
    • #1425: Rewrote how filters work with a number of usability improvements and code improvements.
    • #1444: Better initial sort order for in-progress bulk mail blasts.
  • Admin
    • #1392: Better handling of invalid review dates.
    • #1456: Tweak validity checks for assigning query permissions.
    • #1457: Make table of users filterable and searchable.
  • Misc.
    • #635: Do a nightly refresh of materialized views.
    • #882: Infrastructure to purge student notes according to data retention policies.
    • #996: Don't allow expired users to log in.
    • #1383: Created a standardized messages widget for better error handling.
    • #1432: Updated unit tests to reflect recent changes.
    • #1433: Improve error reporting when a call to web services fails.
    • #1435: Add a primary key to a new table.
    • #1447: Undo #1017, an ill-considered change to Observables.
    • #1448: Clean up internal logging on the browser.
    • #1460: Bumped several library version numbers.
3.3.3 (2019-Apr-12)
  • ASIS
    • #1233: Fix ownership of notes that are edited by someone with AsisNotesEditAll permission.
    • #1300: Added projected level to search results.
    • #1306: Fix crash with null Gender code.
  • Canned Queries
    • #1039: Maintain order of parameters listed on query output.
    • #1192: Fix a stack overflow bug.
    • #1337: Pruned the filters to exclude ambiguous ones.
    • #1338 Fixed a bug in cross-tabbed queries.
    • #1372: Renamed COURSE parameter type to COURSES; added COURSE for just one course.
    • #1377: Build new table, pps_plan_info; overhaul building plan groups.
    • #1388: Deprecate the add/edit UI in favour of the git repo.
    • #1389: Allow for some HTML formatting in table cells.
    • #1390: Initial release of individual permissions for queries. Add permissions to each query.
    • #1395: Update AuthGroup query parameter drop-down.
    • #1398: Download cross-tabbed queries in cross-tabbed format.
    • #1411: Accept + in regular expressions.
    • #1412: Adjust the achors added to COURSE regular expressions.
  • Forms
    • #1382: Add macros to expand {{nextTerm}}, etc.
  • Bulk Mail
    • #1368: Add preferred names to fields that can be inserted in bulk mail.
    • #1387: Fix a bug where first and middle names were not split correctly.
  • Web Services
    • #1404: Added enrolment_reason_code to the class list web services.
  • Misc.
    • #1133: Consolidate two sets of utility functions for reading json from the DB.
    • #1329: Improved OAT account expiry emails.
    • #1330: Fix a bug where permissions were inadvertantly removed upon edit.
    • #1359: Improved button placement the cache admin view.
    • #1362: Eliminated some duplicate enumerations.
    • #1371: Improvements to unit testing infrastructure.
    • #1373: Improved reporting of json parse errors.
    • #1375: Removed csrf noise from the logs.
    • #1379: Improve error handling.
    • #1405: Add some additional error handling for JsonQuery.
3.3.2 (2019-Feb-22)
  • ASIS
    • #1347: Adjust permission number email text.
    • #1255: Fixed annoying bounce in schedule headers.
  • Canned Queries
    • #1349: Adjust plan groups.
    • #1327: Fix behaviour differences between view on screen and download.
    • #1340: Add some new plan groups.
    • #1361: Updated plan groups.
    • #1377: Changes to query filters; help for plan groups.
  • Bulk Mail
    • #1368: Preferred name in bulk email.
  • Misc.
    • #1351: Adjust to database changes (address_type; pps_program fields).
    • #1348: Adjust to database changes (watiam affecting search suggestions).
    • #1346: Major overhaul of our unit tests.
    • #1364: Overhaul of how SQL-related stuff is handled in the development process.
    • #1356: Updated uPickle serialization library; many breaking changes :(
    • Misc. improvements to the code: #1357, #1277, #1345, #1255, #1347, #1367, #1364
3.3.1 (2019-Jan-17)
  • Security
    • #1239: Cleaned up a few things upon logout.
    • #1265: Better error reporting for web service authentication.
    • #1286: Fix a bug where a logged out user wasn't referred to the correct destination page after logging in.
  • Admin
    • #1251: Fix another bug related to adding an existing user from a different auth group.
  • Forms
    • #1262: Better error reporting in the expression interpreter.
  • Bulk Mail
    • #1275: Caught and displayed an error when the query isn't appropriate for bulk mail.
    • #1344: Switch default join field for additional info from uw_id to userid.
  • Canned Queries
    • #1274: The date given for the last database update was wrong.
    • #1256: Removed link to changed query names; no longer needed.
    • #1292: Fixed a bug where special characters in a query title could cause a crash upon download.
    • #1339: Fix REG_EXPR parameter type to accept a '.' in input.
    • #1314: Infrastructure to make querying by courses significantly easier and faster.
  • Web Services
    • #1303: Adapt grad supervision web services to not use ps_uw_oper_data_in table.
    • #1276: Add phone numbers to json_person_watiam.
    • #1293: Do a better job of de-identifying web service samples.
  • Misc.
    • #1266: Adjust the health check better focus the null userid check.
    • #1271: Adjust photo class list to open students in a new window, preserving the photo list.
    • #1295: Improve handling of sql in the git repo.
    • #1281: Work on test suite
    • #1305: Adjusted KEEP_ALIVE to solve some database connection issues.
    • #1308: Adjusted data load to fix remove uw_ids that appear in userid fields.
    • #1303: Deprecate ps_uw_oper_data_in in favour of std_student.
3.3.0 (2018-Jul-18)
  • Forms
    • #1221: Add a form for Math coop transfers from regular.
    • #1203: Add a form for Math transfers from outside of Math.
  • Canned Queries
    • #1223: Add a timeout to kill queries that run too long.
    • #1215: Fix a bug that sometimes caused a CSV download to hang; DRY out the code.
    • #1210: Update plan groups to account for new plans.
    • #1165: Fix a bug where re-executing a query without changing parameters didn't show results.
    • #1163: Fix a bug in removing a query from favourites.
    • #1149: Use plan_order instead of plan_position throughout.
    • #1115: Add a database view for counting the shares of each plan in a degree.
    • #1228: Display boolean values as checkmarks for easier interpretation.
    • #1234: Added Course as a query parameter; fixed a bug with selecting from an autocompleted parameter.
  • Security
    • #1002: Tighten the permissions for searching ASIS notes.
    • #1204: Have a penetration test performed by IST.
  • Queues
    • #1183: Add preferred student names in a number of places.
    • #1199: Add a cancel button to adding queues page.
    • #1156: Fixed a data serialization bug.
    • #1148: Fixed another data serialization bug.
  • Web Services
    • #1207: Reduced code duplication in some stored procedures.
    • #1186: Fix a broken subquery in a web service.
    • #1180: Adapt wsDemos project to the new JWT authentication method.
    • #1104, 1106: Improvements to tests.
  • Bulk Mail
    • #1202, 1166: Finished the reply_to feature. Fixed a number of update bugs. Internal improvements.
    • #1152: Cleaned up email handling. Improved form validation. Fixed editor initialization bug. Solved a hang bug. Etc.
    • #1145: Fix a bug related to adding and deleting templates. Internal improvements.
    • #1142: Fix a CSRF bug. Improve performance.
  • ASIS
    • #1164: Fix a notification bug in class schedule view.
    • #1189: Fixed a bug in saving preferences.
  • Admin
    • #1188: Fix a bug preventing an existing user from being added to a different auth group.
  • Other
    • #1024, 1209: Upgrade Play Framework from v2.4.x to v2.6.x. This change required many of the other changes listed here. This was a huge endeavour with many changes throughout the codebase.
    • Upgrade server OS.
    • #1214: Adjust some database fields in anticipation of upcoming database changes.
    • #687: Adjust logs to include remote IP.
    • #1132: Fix deprecation warnings due to play framework upgrade.
    • #1214: Prepare for upcoming database change WRT milestone_id.
    • #1220: Avoid noisy logging from Message of the Day failures; fix a time-related bug.
    • #1227: Update cypress and node for tests.
    • #1200: Switch from cs-oat@uwaterloo.ca to oat@uwaterloo.ca
    • #1187, 1190: Add a major new test suite based on Cypress.io.
    • #1191: Get rid of unneeded error messages.
    • #1138: Add debugging help to the use of Futures.
    • #1179: Logout improvements.
    • #1140: Updated several Autocomplete fields to select upon enter to facilitate testing.
    • #1137: Updated library versions; fix resulting compile errors.
    • #1116: Implemented an interface for app administrators to see and manipulate the cache.
    • #1110: Investigate and fix a bug leading to very slow application start-up.
    • #1112: Fix a bug causing html classes to be incorrectly concatenated.
    • #1108: Reorganize config files to eliminate duplicate loads and better organize information.
    • #1107: Improvements to permissions infrastructure.
    • #679: Improvements to time-handling across the entire application. Another messy one.
3.2.4 (2018-May-03)
  • Forms
    • #1159: Allow advisors with FormsEdit permissions to edit students submissions or add for a student.
    • #1123: Adjusted sort order of grades; fixed bugs related to archived forms, etc.
    • #ll68: Forms formatting with updated CSS.
    • #1175: Patched a minor security hole.
    • #1171: Display rank in submitted forms view; allow immediate update.
  • Queues
    • #1124: Adjusted grammar in some messages.
  • ASIS
    • #1153: Remove duplicated plan type codes.
    • #1146: Fixed a bug searching for notes with multi-word search terms.
    • #1174: Fixed a bug in schedule display.
  • Other
    • #1149: Use plan_order instead of plan_position in SQL and web services.
3.2.3 (2018-April-09)
  • Forms
    • #1114: Updated forms. Added menus for easier access. Added form element to display grades for selected courses. Drag and drop ordering to assist decision-making. More compact table. Etc.
    • #1123: Permissions tweaks and bug fixes.
  • Canned Queries
    • #1092: Fixed a bug in queries that used anchored regular expressions. Updated Anorm library.
    • #927: Added a query recommender system.
    • #1120: Update plan groups with new groups; correct 2 mis-placed plans.
    • #1115: Added a view to make writing queries that apportion students among shared plans easier to write.
    • #1113: Added text about downloaded data policy; how to get authorized for downloads. Updated list of query names that will change.
    • #1066: Rename canned queries to be more consistent.
  • Other
    • #1110: Speed up the development re-launch process.
    • #376: Add a page with people able to authorize new users.
    • #1086: Adjusted title to the Health Check email.
    • #1127: Added a 'Send Feedback' link.
    • #1124: Fixed a rare initialization problem with a virtual queue view.
3.2.2 (2018-Jan-25)
  • Forms
    • #1050: Added an interpreter to improvement reporting capabilities; bulk update.
  • Canned Queries
    • #927: Now logging each query run by users for a TracingFuture history screen, etc. New interface for users to see their query history.
    • #1037: Updated plan groups and the process for doing so.
    • #1085: Corrected the parameter for accepting a list of userids.
    • #1087: Developed a procedure to calculate an average of a list of courses.
    • #1069: Developed a procedure to calcuate CS MAV.
    • #1066: Added 'one row per' filters.
  • Other
    • #1051: Refactored page templates to clean up coad.
    • #1074: Starting to refactor data access objects.
3.2.1 (2017-Dec-14)
  • Forms
    • #937: A new forms tool to collect information from students and have it approved by advisors. (Just getting started!)
  • Admin
    • #995: Send email to users with accounts nearing their expiry date.
    • #1056: Clean up some validation errors related to review dates.
    • #1053: Clean up a different validation problem with review dates.
  • Other
    • #1037: Improvements to handling database access and error handling.
    • #1017: Improvements with respect to Observables.
    • #1052: Redirect to the requested page when logging in via CAS.
    • #1051: Do some refactoring of the view templates.
    • #1055: Fix bug in CacheView that scrambled some results.
    • #1057: Fixed a bug introduced in 1055.
    • #1004: Update unsent emails query in nightly health check.
3.2.0 (2017-Oct-23)
  • Canned Queries
    • #1007: Made the permissions for running and downloading queries finer-grained.
    • #1011: Removed add query button from users without add query permissions.
  • Other
    • #230: Implement a view of the server's cache for debugging purposes.
    • #994: Added UI for user administrators to roll the review date in bulk. Added help document.
    • #1010: Fix crashing query.
    • #1032: Add ETag and versioning support for assets.
3.1.8 (2017-Sep-30)
  • ASIS
    • #947: Added a hint to divide courses in preferences when they haven't been set; fixed a bug in accessing preferences.
  • Bulk Mail
    • #936: Refactored the user interface to make it more maintainable in the long term. Minor improvements in functionality.
  • Photo Class List
    • #991: Course selection dropdown improvements (some were missing, sort order).
  • Canned Queries
    • #934: Add filters based on query parameters (which are unambiguous). Move filters from two states (ignore, include) to three state (ignore, include, exclude).
    • #943: Better handling and error messages for long-running queries.
  • Other
    • #949: Adjust permissions that can be assigned by Associate Deans etc.
    • #944: Better handling of search suggestion errors.
    • #938: Adjusted expiry date handling in searches to get around WatIAM issues.
    • #988: Fixes to the ClassListByX web services.
3.1.7.1 (2017-Sep-14)
  • Bug fixes:
    • #970: Fixed a bug in the formatting of cross-tabbed queries
  • Other Changes:
    • #959: Updated About page
    • #965: Added guidelines document for taking notes
    • #969: Made plan group easier to use in entry/exit queries
    • #967: Split CS double degree students out into a separate plan group subtree
    • #966: Changed autocomplete behaviour for students to avoid auto selecting
3.1.7 (2017-Jun-14)
  • ASIS
    • #814: Add a tab with a graphical class schedule; tools to add/remove courses for 'what-if' planning.
    • #857: Fix bug when adding an empty note.
    • #846: Rename Blocks tab to Holds (Registar's Office request to match their language).
  • Canned Queries
    • #880, #872, #877, #860, #852: New queries, updates and fixes to existing queries.
    • #837: New look and feel for filters. Make choices persistent (while using the same browser).
    • #763: Minor tweaks
  • Bulk Mail
    • #845: Update filters to match canned query look and feel.
    • #778: Refactor internals for better maintainability.
    • #700: Allow configuration of 'who' ASIS notes are 'from'.
  • Virtual Queues
    • #890: Reformat monitor page for 4K monitors.
  • Web Services
    • #897, 896: Work for Science (SITS, add fields to existing web services)
    • #870: Work for Engineering (degree audit, grad supervisors)
  • General
    • #641: Better error handling in the browser; report errors back to the server.
    • #884, #822: Message of the day facility for quick communication with current users (eg: going down for unexpected maintenance).
    • #876: Improvements to UI component architecture.
    • #875: Improvements to listener architecture.
    • #859: Better handling of javascript libraries.
    • #894, 867: Improvements to the autocomplete search functionality.
3.1.6 (2017-Mar-22)
  • Virtual Queues
    • #812: Fixed a bug with guest logins.
    • #801: Refactored the code to add and edit virtual queues.
    • #799: Tweaks to the visual appearance of the queue monitoring pages; improved some messages.
    • #660: Report the time that students can start getting in line if the queue is not yet available.
    • #775: Refactor the advisor's service view to add ticket numbers and improve code quality.
  • Canned Queries
    • #806: Refactored code to make better use of ScalaTags.
    • #768: Fixed a bug in sorting cross-tabbed tables.
    • #803: Fix a bug in the plan group input field.
    • #792: Add a data dictionary to assist people using and especially developing queries.
    • #666: Added a provision to better format and display numbers in the queries.
  • ASIS
    • #802: Improved the positioning of the controls used to step through students identified in a query.(The 'View in ASIS' feature of canned queries.)
  • General
    • #641: Now reporting client-side errors to the server for better monitoring and debugging.
    • #777: A new web service to support Engineering graduate studies projects.
    • #790: Restored some toolbar buttons in the text editor. Harmonize the toolbars in the various uses of the editor.
    • #824: Email to Byron every morning on the health of the system.
3.1.5 (2017-Mar-05)
  • Virtual Queues
    • #772: Updated the status view to make it less confusing.
  • Bulk Mail
    • #765: HTML tags were visible in some edited notes; fixed.
    • #764: ASIS notes sometimes said they were emailed when they were not.
  • Canned Queries
    • #756: Added a simple code editor for SQL.
  • General
    • #770: Cleaned up some logging issues.
    • #760: Fixed a problem with caching.
    • #761: Improved photo class list input validation.
    • Accomodate database schema changes.
    • A bunch of other refactoring and minor bug fixes.
3.1.4 (2016-Dec-23)
  • General
    • #647: Added originating IP to logs.
    • #648: Fixed bug in updating query filter.
    • #649: Temporary fix for bug when adding a new user with no previous role.
    • #655: Added new plan groups for uw.u.sci.bac.biol and math.all.
    • #665: Web services for Science grad project.
    • #663: Fix bug in email services related to invalid XML entities.
    • #642: Fix printing bug in photo class lists; refactored browser code.
3.1.3 (2016-Aug-25)
  • Virtual Queues
    • Introduced a new feature for managing queues of students for office hours. It's essentially a web-based version of a "take-a-ticket" machine. Students are able to get a ticket that reserves a place in the queue. The person serving the queue (a prof holding office hours or advisor) has "next" and "no show" buttons to indicate they're ready for the next person. The students' web pages would all be updated with their current place in the line.

      Can handle multiple advisors at one time and multiple queues. Has a monitor page to displayoutside the office. No real support for people that don't have a smartphone or something withthem.

      Many thanks to Jaden Lin, a UW co-op student, for implementing this feature.

  • ASIS
    • Fixed a bug where the formatting of ASIS notes was being lost.
    • Fixed a bug in the tool-tip display of SUPP requirement designations.
    • Made the WLU id easier to select.
  • Canned Queries
    • Fixed a bug where queries that took a list of uw ids required spaces and didn't allow tabs or newlines.
    • Improved the formatting of columns with numbers.
    • Fixed an annoying flash when the list of filters was loaded.
    • Updated the plan groups with more information about business plans.
  • General
    • Improved login handling to allow returning to a specific page after CAS login.
    • Photo class lists are now sorted by name.
    • Fixed a crashing bug for students with no terms (ie withdrew early and haven't returned).
    • Fixed a bug involving searching for a userid longer than 8 characters.
    • Added students as a login role for access to virtual queues.
    • Allow redirecting back to a specific page after logging in.
    • Improved checks for the Origin and Referer headers.
3.1.2 (2016-June-24)
  • General
    • Made a user menu and shifted the help/about menu to conform to usual web practises.
    • CSS tweaks for a more consistent appearance.
    • Updated to Play2.4.7.
  • ASIS
    • Option to send a student note as email to either the student, the advisor, or both.
    • Fixed a bug where searching with uppercase userids failed.
    • Added campus registration (STJ, REN, etc) for non-UW registrations.
  • Bulk Mail
    • CSS tweaks to better deal with mail descriptions appearing in lists.
    • Default to just show the user's own email blasts; option to show everyones.
    • Allow deletion of sent email blasts (with appropriate authorization!).
  • Canned Queries
    • Add the query description and date of last database update to the query output.
    • Added a search function to search for given keywords in query titles or descriptions.
    • Added a personalized 'my favourites' filter to help quickly find commonly used queries.
    • Show the query as run when an SQL error occurs to aid in debugging.
    • Fix bug where a list of ids fails to validate with trailing whitespace.
  • Web Services
    • Ported the web services to support Evaluate from Oat2.
3.1.1 (2016-May-26)
  • Bug fix: Permissions to search notes were incorrect.
  • Bug fix: Unable to add a note in some circumstances.
3.1.0 (2016-May-26)
  • New logo, thanks to Steve Weber.
  • Bulk Mail
    • This is the beta release of the Bulk Mail feature which allows authorized users to send email or add an ASIS note to students or employees selected by a query. A huge thank-you to Jaden Lin, the UWaterloo co-op student who designed it together with Byron Weber Becker and then implmented most of it.
  • ASIS
    • Introduced a feature to search student notes.
    • Improved how academic records print.
    • Improved search suggestion behaviour when you tab out of the search field.
    • Course tooltips for transfer courses now display the school that originally granted credit.
    • Better tooltip support for level codes.
  • Query
    • Added the ability to step through all of the students returned by a query. Queries that return uwIDs or userids will include a "View in ASIS" button that will show the students in ASIS with controls to move between them.
    • Added an editor to the description input to allow greater expressiveness. Comes with a template to guide users in what to write.
    • We are now saving queries when they change so that we can go back to previous versions, if necessary.
    • Updated definitions of plan groups.
    • Overhauled how we handle query parameters and validate inputs.
    • Fixed the link from a userid returned by a query to ASIS.
    • Use a textarea instead of textfield for inputs that take a list.
  • Admin
    • Fixed a bug in the Add User page where it redirected to another page incorrectly.
  • Techical, under-the-hood stuff
    • Upgraded underlying technology: framework from Play2.3.x to 2.4.6., database from 9.4.x to 9.5.2, and cache from Hazelcast 3.4.x to 3.6.
    • Started using Scala-JS to do much more on the browser itself. Moved some code to cross-platform (JVM and Javascript) libraries.
    • Moved query execution to a web service to support the previous point.
    • Improved caching.
    • Wrote more tests; refactored many existing tests.
    • Implemented automated testing upon each commit to the source code repository.
    • Lots of changes to do more dependency injection.
    • Moved OAT libraries to Maven-style repository for easier building across multiple developers. Split code that can be used cross-platform from code that can't.
    • Added scalariform to the build process for formatting consistancy.
3.0.4 (2016-Apr-15)
  • Web Services: Add term summary by userid and term.
3.0.3 (2016-Mar-22)
  • Query
    • Added typeahead support for plan groups when preparing a query.
  • Web Services
    • Initial support for the MathSoc web service.
3.0.2 (2016-Mar-11)
  • ASIS
    • Service indicators are shown in a predicatable order.
    • Automate the calculation of the permission number term.
  • Query
    • Introduced a simple cross-tabbing feature to aid writers of canned queries.
    • Updates to plan groups visualization.
3.0.1 (2016-Feb-18)
  • General
    • Restore the ability to access OAT from off-campus via the in-browser VPN (point your browser to cn-vpn.uwaterloo.ca, log in, and then enter oat.uwaterloo.ca in the field beside the little house icon)
  • ASIS
    • Flag study permit students for special advising
    • Add more averages -- SMAV in particular
    • Add more hints for obscure codes
    • User interface tweaks including adding a search icon to search fields, displaying the WLU id for students who have them and sorting plans by plan code
    • A number of json parsing errors related to transfer credits, students with no milestones or courses, etc
    • Resolved issue where a student with two transfer credits for the same course in the same term had only one show up.
    • Corrected a bug where some transfer credits and most coop-related courses had the wrong number of units displayed
  • Query
    • Add plan groups, including a visualization
    • Add more query parameter types
    • User interface tweaks including button placement for queries and showing the custom query parameter description
    • Strip query parameters before checking for valid formats
  • Courses
    • Preliminary schedules are now resizable
  • Admin
    • Changes to maintaining users including letting appropriately authorized people set and create authorization groups, 'stealing' users from other authorization groups, displaying more information about users about to be added, and tweaks to the UI
  • Web Services
    • Added /api/v2/student/<uwid>/<termid>/termSummary where <termid> can be replaced with current.
3.0.0 (2015-Oct)
  • General
    • Major rewrite of the underlying codebase that makes many internal improvements
      • Use Silhouette for authentication
      • Many query results now return JSON instead of tuples that are then turned into JSON
      • Redundant servers
      • Replace Twirl with Scalatags for HTML generation
      • Etc.
    • Sortable columns in many tables
  • ASIS
    • Search suggestions when searching for students
    • More complete student records: Milestones, degrees, addresses, citizenship data
    • Rich text editor for student notes; the ability to mark a note as private and to delete or edit a note on the day it was entered
    • Better/consistent behaviour for filters
  • Query
    • Queries that return a uw_id can be clicked to access the student in ASIS
  • Courses
    • Preliminary schedules were rewritten and can now be printed
    • Photo class lists
  • Admin
    • More robust UI for adding and maintaining users
    • Visualization for permission structure
  • Web Services
    • Use public-private keys for web service access
    • Generate JSON in the database
2.3.2 (2014-Apr-10)
  • Allow lowercase subject for permission numbers.
  • Fix term ordering bug in the academic record.
  • Addressed a number of minor defects revealed by AppScan, including cache control, returning 500 codes where 400 are more appropriate, some possible phishing vulnerabilities, etc.
  • Addressed possible cross-site request forgery vulnerabilities.
  • Fixed a bug where some service indicators didn't show when there were multiples.
  • Better web service logging.
  • Fixed a bug where searching for a student with a long userid errored.
  • Fixed a bug where searching for a student with no plan errored.
  • Fixed a bug where some icons weren't found.
  • Refactoring to make the codebase more robust and easier to change in the TracingFuture.
2.3.1 (2014-Mar-08)
  • Add support for viewing preliminary course timetables by course, instructor, and room.
  • New web services to support Science course evaluations.
2.3.0 (2014-Feb-21)
  • Refactoring of the underlying database to expose "instructional sections", de - emphasize career information in keys, add convenience views, consolidate student / term information, etc.
  • First appearance of web services.
  • Refactoring the application itself for long - term robustness, including overhauling security, splitting common code into separate libraries, automatically generating data access objects, etc.
2.1.2 (???)
  • Search now checks both primary and preferred names.
  • Student info now includes primary name by default and preferred name (if different) in parentheses.
  • Improvements to the logging system.
2.1.1 (2013-Sep-04)
  • Fixed two bugs that both resulted in some courses not being displayed.
  • Fixed a bug where lowercase subjects did not find a valid permission number; additional logging for permission numbers.
2.1.0 (2013-Sep-02)
  • Major rewrite of i ("canned queries") fixing many bugs, getting the filters to work, and the ability to add / edit queries.
  • Added a page for adding users and assigning permissions.
  • Enabled permissions for viewing notes and searching.
  • Added a page for Nagios scripts to hit to ascertain whether the system is up.
2.0.3
  • Fixed notes form to redisplay existing text when an error is found.
  • Reversed sort order of the course select tab to reduce the need to scroll.
  • Removed the Schedule tab until it is more fully implemented.
  • Added a tooltip for major average.
  • Fixed a bug in error-checking userids as a search term.
  • Corrected showing cross-listed courses in Course Select tab.
  • Classified all MEX courses as failed.
  • Performance improvements using Async.
2.0.2
  • Blocks display as part of the academic record
  • Course selection display as part of the academic record
  • Improvements to query tagging
  • About menu
2.0.1
  • Permission numbers
  • Fixed bug where privacy indicator didn't show
  • Improvements to query display and tagging
2.0.0
A major rewrite of both the underlying database and web app. New features, compared to version 1.0, include:
  • Transfer credits
  • More sophisticated popovers, including instructor and meets for current and TracingFuture courses
  • Filters on courses
  • Filters on notes
  • Better search features, including more info provided in the found student list(such as last viewed date) and the ability to search for students previously viewed
  • User-settable preferences for displaying the acdemic record
  • More fine-grained authorizations
  • Rudimentary canned queries
  • Menus
  • Logout