Skip to content
Jani Tammi edited this page Sep 13, 2020 · 11 revisions

Collection of implementation and architectural notes.

  • Middleware is Flask and language is Python 3.6.8 (as per Ubuntu Server 18.04.3 LTS).
  • UI code (web pages and JavaScript) are entirely static - no dynamic page generation by middleware.
  • All data interaction takes place through REST API endpoints.
  • There may eventually be an UI for J-M's distribution builder solution, but it will be entirely external to this solution. Integration between it and this, will be the Upload and Publish -interface, where the distribution builder may by-pass upload and enter publish UI simply by indicating the file-path of the generated image.

Useful Resources in vm.utu.fi:

Design

One of the design goals has been to keep the HTML neat and clean (as opposed to Bootstrap CSS class hell), thus making editing a simple task even with limited knowledge of HTML. Rationale is that the content in the pages may need revisions as time goes by, but the style is expected to stay the same for as long as this site is in use.

Back-end architecture is simple and the routes are kept super simple. All business logic is in separate classes or packages. Directory structure should also be very simple to understand and use.

Configuration

API

API documentation will not be maintained here. Instead reader is encouraged to view /api.html - self-documenting interface that lists routing and documentation as it currently is.

OSError: write error

DataTables (or possibly JQuery) Ajax calls terminate early, but all data is still passed though. Everything works, but error messages look ugly. See the StackExchange link below for how to ignore the errors either in Nginx or uWSGI config.

See also StackExchange