Features/Journal Entry Sharing

From Sugar Labs
Jump to navigation Jump to search


Sharing/Backup Journal entries using a mass storage device


Current status

  • Targeted release: 0.92
  • Last updated: 07.02.11
  • Percentage of completion: 90%

Detailed Description

You may now share Journal entries with another learner using a USB drive or SD card. The user experience is: Martin wants to give a picture he has been drawing to Simon. He plugs in his USB drive and copies the Journal entry on the drive. Simon plugs in Martin's drive in his laptop. The entry will be shown with Martin's XO color on the drive. Simon copies Martin's entry into his Journal.

You can use this feature to backup Journal entries to a USB drive or SD card.

Sharing/Backup Journal entries using a storage device

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.

Note: Entries that do not contain a data file can not be copied to a storage device anymore in 0.84 (this was possible in 0.82), an alert is displayed to the learner in those cases. This change has been independent of these patches.

The code is written defensive. If the metadata/preview is corrupted or has been removed it will be skipped, so the deletion of a data file on the device is handled gracefully.

The learner has now the options to: backup the Journal entry to a storage 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

This code will convert the old Journal entries to the new scheme described above. When a device containing a folder .olpc.store is plugged into the machine the conversion will happen automatically in the background. Files that have the metadata converted already from a previous run will be omitted from the conversion. The .olpc.store won't be removed after completion to be able to restore if anything goes wrong during conversion.

Note: Entries that do not contain a data file can not be copied to a storage device anymore in 0.84 (this was possible in 0.82), for code simplification we do not restore those entries from 0.82.

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.

Benefit to Sugar


This Feature affects only the Sugar module.

UI Design

How To Test

Journal Entry storage / sharing via USB stick doesn't work

- drag a Journal item (that contains a file like Paint) to the external device

---> show the content of the external device

- rename the entry on the external device

---> the metadata and preview file should change accordingly

- check the contents on the removable device on another machine (hidden files enabled)

---> there should be the file itself (in the root folder) and a file [filename].metadata and a file [filename].preview are in the .Sugar_metadata folder

- insert the device again and copy the entry to your Journal (drag on the Journal icon)

---> make sure that this works, that the entry is "resumable" and that there is a preview

User Experience


No new dependencies.

Contingency Plan

Not including.



Release Notes

Comments and Discussion