Harvest

From Sugar Labs
Revision as of 18:12, 29 October 2013 by Tch (talk | contribs)
Jump to navigation Jump to search

Harvest Project

Harvest project aims to make learning visible to educators and decision makers. Within the context of the Sugar Learning Platform, this can be achieved by collecting reliable metadata from the Journal. This project proposes a simple and continuous mechanism to obtain metadata from Journal entries, incrementally over time. Metadata can stored in a central repository for further statistical analysis.

What it is collecting?

Data
Learner serial_number Any kind of laptop identifier. Only XO serial numbers are supposed at the moment.
birthdate User's approximate age. It is based on OLPC-AU "About me" extended information.
gender User's gender. It is also based on OLPC-AU "About me" extended information.
Activities bundle_id Activity unique identifier. All Sugar activities must have an unique identifiier, IE org.laptop.Write.
Instances object_id Unique identifier of an Activity entry or session, in the journal. It is basically an UUID.
filesize Size in bytes of the content associated to the entry.
creation_time Unix time when the entry was firstly created.
timestmap Unix when the entry was lastly modified.
buddies Number of user's associated to the entry. 0 means no other user were working on this entry collaboratively.
spent_time Just a place holder for now. Still not supported in Sugar.
shared_scope Whether or not the entry was exposed through the collaboration service. 0 means "No", 1 "means" "Yes".

How does it work?

The project comprises two pieces of software: a harvest server that can be localed anywhere in the cloud, and a harvest client that runs in the learners machine. The harvest server exposes a service, accessible from the Internet, for metadata storage. The harvest clients collect metadata from the Journal and send it to server.

What are the advantages?

  • Doesn't require OS customizations, it based on Sugar's web service framework.
  • Doesn't depend on school server presence, either on backup files.

What is implemented so far?

Harvest server

  • Back-end service for storage.
  • SSL data encryption.
  • API Key authorization.

Harvest client

  • Journal entries collection.
  • Web service extension.
  • Extension controls from the web service control panel.

What is left TODO?

  • Server maintenance scripts.
  • Server packaging.
  • Client automation.