Skip to content

Simple web service for Turku University's Course Virtualization project. Students can download course-specific virtual machines and teachers can upload and manage them.

License

Notifications You must be signed in to change notification settings

Jasata/utu-vm-site

Repository files navigation

University of Turku - Course Virtualization

2020-01-10: Version 1.0 release (and first publication) by the end of January 2020.

A website for university's Course Virtualization project. Serves both students (get hypervisor installed and download course specific virtual machine images) and teachers (learn how virtual machines could help running a course, instructions on how to create an virtual machine image, how to get help doing it, uloading and publishing made images).

See also:

Design Goals

  • Simplicity (in implementation, site structure, usage...). And where not achievable, good and clear documentation.
  • Minimal dependencies (see "Third-party components").
  • Small scope (Only the essentials discussed in the site. More detailed information will be provided in form of PDF documents).
  • Two-step principle. All actions (primary use cases) should be accomplished in no more than two clicks. One to choose the relevant subpage, another to open a folding information container (if necessary).
  • Integration-friendly Architecture. Basically meaning that the backend is a REST API and none of the client pages are dynamically parsed.

Primary use cases (in order of importance)

  1. Student retrieves course-specific virtual machine image
  2. Student comes to learn how to set his or her personal system up to run virtual images
  3. Student comes to resolve an issue and/or report it
  4. Lecturer uploads a new course-specifc virtual machine
  5. Lecturer comes to learn about this tool and its benefits
  6. Lecturer seeks technical documentation on how to create new virtual images
  7. Lecturer comes to seek assistance / help

Server

Original idea about separate virtual server has been dropped in favor of expanding ftdev resources and reserving an additional DNS name for it (https://vm.utu.fi). Or in other words, vm.utu.fi is a virtual host in ftdev.utu.fi (virtual server).

Functional Specifications

  • Publishes a download list (in the downloads -page) of available .OVA files.
  • OVA metadata will be a combination of extracted XML from OVA and uploader specified information.
  • Download statistics will be based on webserver log files, which will be generated into (some kind of) graph/report nightly and made available in separate statistics page.
  • Uses UTU SSO authentication, but restricts itself to UTU UID only. No other Personally Identifiable Information (PII) is handled or stored. (NOTE: Students have no PII of any kind stored).

GDPR

IT-Services will be consulted about UID as PII data. If UID alone is also considered to enough to bring this solution under GDPR regulations, solution model where all UID's are one-way hashed (both in client's session storage and teacher database table) will be proposed.

2020-01-10 update: In a meeting, it has been said that storage of UTU SSO UID (for teachers) is allowable as long as this is clearly indicated in the data privacy statement, along with the description of its usage, purpose for storing it, expected lifetime (when and/or under what conditions it will be cleaned out) and providing a way to exercice all the rights granted by GDPR (which in our case, is a communique to support email address).

Items That Need Technical Solutions

  • Integration of distribution builder - as a separate Build Manager agent, providing a REST API interface.
  • HTML5 File API based Flow.js needs server side implementation in Python, since nothing even remotely acceptable exists.
  • Statistics that satisfy not only our curiosity, but also justify the existence of this service when the time comes (in a year or two) that this can no longer be considered to be a education development project (ergo, would need to be adopted by IT-Services).

Third-party components

Frontend

Backend

  • Nginx ver.1.14.0+
  • Python 3.6.8 (Ubuntu Server 18.04.3 LTS, offered by IT-Services)
  • Flask 0.12.2 (2017-05-16!! Current version: 1.1.2) & UWSGI 2.0.15+
  • SQLite3 3.22.0 (2018-01-22)

About

Simple web service for Turku University's Course Virtualization project. Students can download course-specific virtual machines and teachers can upload and manage them.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published