As I briefly mentioned in my previous e-mail, we have created a new tool called weblablib for creating unmanaged laboratories:
It is heavily based on Flask
and it supports compatibility with some Flask libraries. It supports:
- Flask-SocketIO for WebSockets.
- Python 2 and Python 3 (so you can use either, and we indeed recommend the latter).
- Tasks: you can define tasks that run in background threads, and weblablib is in charge of them (for example, it waits for them to be finished before the session is over).
- A regular release cycle (e.g., you install it by running "pip install weblablib"), and versions (0.4 is the latest at this time).
You have three examples (simple, advanced and complete) in the github repository:
Plus much documentation in the official page
. We're already using this library in some of our production laboratories (in LabsLand
The only thing that it is missing when compared with the managed approach is that it does not report yet what the user has done (you still know when the user entered in the experiment and when the user left; but not what was sent). We're working on supporting this.
We are also working on upgrading WebLab-Deusto to a 6.0 with requests made by several people from the ecosystem; including a major clean of the system to make it easier to maintain (both the development and its administration -number 1 request is always changing the .yml files and the same configuration in several files-), support for Python 3, proper releases to ease the maintenance. We can't provide a timeframe for this, but we'll keep you updated whenever we do it. If there are things of the system that you consider that they should be different, just let us know.