DataManager version 1

Tony Anderson tony at
Fri Aug 28 09:38:19 EDT 2009


I posted the DataManager activity to ASLO today. It matches the code 
currently on gitorious.

The intent of the DataManager is to deal with a problem faced in Nepal
which is the small size of the Nand. The current backup/restore feature 
does not provide a way for the user to remove entries from the local store.

The activity works on 0.82 with the Nepal version of the schoolserver, 
although I don't see why it wouldn't work with any version.

It works in three phases. At launch it builds a list from the 
schoolserver (when connected) of all the entries. It provides a color code:

light green - entry not stored locally
green - entry stored locally (as well as on the schoolserver)
cyan - entry on the schoolserver in Commons
blue - entry from Commons stored locally
red - new entry not yet uploaded to the schoolserver
white - entry without an associated document

The status bar reports the number of entries in the datastore and the 
percentage of the Nand in use.

In phase 2 the user can double-click on an entry. If it is on the local 
XO (green or blue), it will be removed (but will still be on the 
schoolserver). If it is not on the XO (light green or cyan), it will be 
downloaded to the XO.

When the user clicks on the Stop button on the activity toolbar, the 
activity performs the file operations: upload, download, and delete 
based on the user's requests. Entries in red are automatically saved to 
the schoolserver. Entries in white are deleted (to the best of may 
understanding, resuming these entries is the same as launching from the 
home view so they essentially only clutter the journal).

This mechanism gives a simple way for the user to control what is 
available when the XO is not connected to the schoolserver (after 
school, for example). It also protects the datastore in case the XO must 
be reflashed.

Implementation requires that the DataManager activity runs as olpc 
(added to the activityfactory list) and that public keys and permissions 
be implemented on the schoolserver (something that a deployment should 
do when the XO registers with the schoolserver)

I hope to see this activity get a live workout when I return to Nepal at 
the end of September. In the meantime, it is available for test and comment.



More information about the Devel mailing list