Changes

Line 16: Line 16:     
== Detailed Description ==
 
== 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.
+
A Journal entry contains metadata (e.g. description, title, tags, color) and optionally a preview. Furthermore an entry contains a data file in most of the cases. For example a .odt file in Write. Another example is an entry of a Memorize Game that 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 could then 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 did have the color of the creator of the entries. Other files on the stick were 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 using the 0.84 datastore did only copy the data file over and the metadata and preview were omitted.
 +
 
 +
The implementation will be described below:
    
=== Sharing/Backup Journal entries using a storage device===
 
=== 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.  
+
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. User experience: When the user views the content of a mass storage device Journal entries that have been copied to the device will be shown in the color of the creator (same behavior as with 0.82).  
   −
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.
+
Note: In 0.84 entries that do not contain a data file can not be copied to a storage device anymore (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 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.
3,267

edits