Database upgrade, persistent connections and bulk metadata editor

Today's update (a8632bd) brings with it the following changes:

Performance improvements

  • The database system has been updated to PostgreSQL 10. This should give numerous performance improvements.
  • Persistent database connections feature has been implemented. This should lower load on the database system during high-traffic situations.
  • Certain features that would require database locking, like updating user's last activity timestamp and object last read timestamp is now done in a single atomic database call, getting rid potential race conditions and locking issues.
  • Improved performance when listing contents of inbox/outbox.

New features

  • The CodeMirror and TinyMCE editors now have a word counter.
  • It's now possible to edit metadata for all containers and objects in a container in a simple user-interface. You can access this feature in the Edit menu when viewing a container. You can use Ctrl-Up/Down/Home/End to more quickly navigate the input fields in the table.

Enhancements

  • When adding users to institutions using the table or text user interface, our standard CSV parser is now used.
  • It is now possible to not inform the supervisor when an assignment is delivered. You can enable this feature by setting the custom_init variable dont_inform_supervisor=1 on the hand-in object.
  • Exception handling has been completely reimplemented, which should give more sane error handling.
  • Some database queries have been moved out into external files to make it easier to develop them further. Some of them now use newer PostgreSQL 10 features.
Spinner

Login