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
Learners serial_number Laptop identifier String
birthdate Aproximate birthdate of the user Unix time
gender Gender of the user String
Activities bundle_id Activity identifier String
Instances object_id Entry identifier String
filesize Size in bytes of the content associated to the entry Integer
creation_time Entry creation time Unix time
timestamp Entry last modification time Unix time
buddies Number of user's associated to the entry Integer
spent_time Just a place holder for now. Still not supported in Sugar Integer
shared_scope If entry was exposed through the collaboration service Boolean
title_set_by_user If user has set a custom message to the entry Boolean
keep Is the entry explicitly keep in the journal Boolean
serial_number Identifier of the entry owner String
bundle_id Identifier of the activity String

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.