<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im"><br>
> Later in the game, a child can use an object chooser to select one of these<br>
> game states.<br>
<br>
</div>I get the impression that you're trying to "port" an existing application<br>
(game) to Sugar by looking for APIs that match those you use on other<br>
platforms. This is NOT going to result in a good user experience.<br>
I highly recommend you spend some time _using_ Sugar (as a user, not a<br>
developer) and getting accustomed to the usual work flows first.</blockquote><div><br></div><div>Is restoring a saved game with an object chooser a bad user experience in sugar?</div><div>What would be a more intuitive experience for someone who have spent more time using Sugar?</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Yes, you should treat it as a "random gibberish" (i.e. opaque) string.<br>
Everything else should be derived from the metadata (or the file<br>
contents, as appropriate).<br>
<div class="im"><br></div></blockquote><div><br></div>I was confused because the opaque file_type string from the datastore is modified by its mime_type when loaded from the journal, and not when loading from a usb stick.</div>
<div class="gmail_quote"><br></div><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">> Is there a suggested method or best practice for making and then opening<br>

> datastore entries with lots of parts (hence, a tar file) which might migrate<br>
> via usb sticks?<br>
<br>
</div>There are quite a few other activities (e.g. TurtleArt) doing this. You<br></blockquote><div><br></div><div>Thank you for your suggestion to look at TurtleArt where on line 224 there is code to</div><div><span class="Apple-style-span" style="font-family: monospace, 'Bitstream Vera Sans Mono', Monaco; font-size: 11px; border-collapse: collapse; color: rgb(105, 105, 105); line-height: 12px; white-space: pre-wrap; "><pre class="prettyprint lang-py" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(105, 105, 105); font-size: inherit; line-height: inherit; white-space: pre-wrap; word-wrap: break-word; ">
<span class="str" style="color: rgb(0, 163, 63); ">""" Load a ta project from the datastore """</span></pre></span></div><div>which then checks the datastore entry's extension:</div><div>
<a href="http://git.sugarlabs.org/turtleart/mainline/blobs/master/TurtleArtActivity.py#line955">http://git.sugarlabs.org/turtleart/mainline/blobs/master/TurtleArtActivity.py#line955</a></div><div><br></div><div>What are the developers of Turtle Art doing here which led them to check the file extension (tar, gtar) on a datastore entry instead of checking the datastore entry's mime_type?</div>
</div>