Journal Entries

From OLPC
Revision as of 06:43, 3 December 2010 by Erikos (talk | contribs) (Convert Journal entries that have been saved to a storage device in 0.82 9658)
Jump to: navigation, search

Introduction

A Journal entry the metadata (e.g. decription, title, tags, color) and optionally a preview. Furthermore an entry contains of a data file in most of the cases. For example a .odt file in Write. The entry for a Memorize Game has no file associated with it, only the metadata and a preview (there is no state saved).

In 0.82 when you copied a Journal entry to a storage device (e.g. USB) the files where stored in the root directory of the device and the metadata and preview was stored in a hidden folder called .olpc.store. You can that go to another machine and copy those entries over or use the stick as backup and copy back the entries to your Journal later. The entries on the device do have the color of the creator of the entries. Other files on the stick are shown in black and white.

The datastore has changed significantly from 0.82 to 0.84 and therefore the old entries are not handled by the new datastore. Furthermore the copying to a storage device did only copy the data file over and the metadata and preview were omitted.

The new patches in 9657 and 9658 do handle now both cases. Details below.

Sharing/Backup Journal entries using a storage device 9657

The new code will store the metadata and preview in a hidden folder like in 0.82. The folder will be named .Sugar_metadata. There will be two files per entry, one for the metadata named filename.metadata and one for the preview (if exists) named filename.preview. The data files will be stored in the root folder of the device. Like in 0.82 the entries will be colored in the creator's color.

The learner has then the options to: backup the Journal entry to a usb device and copy it back to his own Journal later, share his entry with another learner over a storage device and use the file on a non Sugar machine (showing a picture to your friend on his computer).

Convert Journal entries that have been saved to a storage device in 0.82 9658

This code will convert the old Journal entries to the new scheme described above. When the device containing the folder .olpc.store is inserted the conversion will happen automatically in the background. When the conversion has been completed a file called converted will be placed into .olpc.store to prevent the code from running several times. If the file is deleted the conversion will run again. The .olpc.store won't be removed after completion to be able to restore if anything goes wrong during conversion.

The conversion code is written defensive. If an entry can not be converted it will be skipped, if the database is broken the conversion is skipped etc. So the deletion of a data file on the device or any corruption to the .olpc.store should not cause a crash to Sugar.