TrainingServer

From Sugar Labs
Revision as of 08:34, 20 March 2014 by Tch (talk | contribs) (→‎Structure)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

Training-server.png

  • 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
email 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
role user's role in their institution 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
requested 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).