TrainingServer
Training Server Project
This project is a complementary project to One Laptop Per Child Australia and Sugar Labs Training Activity [1]. This projects aims to help us understand how users progress during their training, using the Training Activity.
How It Works
Each time a user finishes a new training section, a report is sent automatically, by the Training Activity to the Training Server. In this way we obtain valuable feedback on users progression and also tasks statistics. Once the server receives reports from a new user, it will send a welcome email with a confirmation link. This helps us to validate users authenticity.
Concepts
- Trainees refers to the users of the Training Activity.
- Tasks refers to each of the individual actions user must complete in each training section.
- Confirmations refers to the email confirmation data, that reflects the confirmation status.
Structure
Report | ||||
---|---|---|---|---|
Concept | Attribute | Description | Type | |
Trainees | uid | randomly generated identifer | String | |
user's email address | String | |||
name | user's full name | String | ||
school | user's school name | String | ||
percentage | user's training completion percentage | Integer | ||
version | user's activity version | String | ||
reported | timestamp for when the report was received | Unix time | ||
Tasks | task | name of the task | String | |
start | timestamp for when the user start the task | Unix time | ||
end | timestamp for when the user finished the task | Unix time | ||
accumulated | total time in seconds for completing the task | Integer | ||
Confirmations | code | unique confirmation code | String | |
requests | whether or not a confirmation email was sen | Boolean | ||
confirmed | whether or not the user's email was confirmed | Boolean |
How It Is Useful
- Provides a automated feedback mechanism that allows us to see user's progress.
- Provides task related data that can allow us to do more insight in to training process and even Sugar usage.
Source Code
The code is available under GPL at https://github.com/tchx84/training-server
RPM Installation
If you plan to run this Server on Fedora 18 or never installation, I would you strongly recommend you to install via our RPMS packages.
Install tch's Repository
$sudo vim /etc/yum.repos.d/tch.repo
[tch] name=tch baseurl=http://www.sugarlabs.org/~tch/repos/f19/ enabled=1 metadata_expire=1d gpgcheck=0
Warning: before moving on to the next step, make you have installed db-migrate tool via pip, pip install db-migrate (I will soon package this as an RPM).
Install Training Server
$sudo yum install training-sever $sudo service training start $sudo systemctl enable training.service
Training Activity Settings
To send reports to your server some values must be changed in user's machines.
gconftool-2 --set /desktop/sugar/services/training/url "https://your.server.com:443/training/report" --type=string gconftool-2 --set /desktop/sugar/services/training/api_key "your-servers-api-key" --type=string
Development
If you interested in contributing to this project please contact tch at sugarlabs dot org (Martin Abente Lahaye).