<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<div class="moz-cite-prefix">Le 17/12/2024 à 09:00, H. Hirzel a
écrit :<br>
</div>
<blockquote type="cite"
cite="mid:CAGQxfVhE4=+0nG_3tFJxJ4qajScAtCrGUtpHH7ATV-i+OBaBGw@mail.gmail.com">
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p><font size="4">The educator model[1] is straightforward to
persist with reference stream</font></p>
</div>
</blockquote>
<div><br>
</div>
<div>But it could also just just a number of CSV files. A
dynabook app part managing planning schedules, task and time
tables well is an app in its own right which is will be welcomed
by teachers. There are situations where each student has his or
her own schedule. Also general information is available in table
format [3] A user will have more trust in the app if he or she
sees that the information is stored in a directory with
subdirectories with CSV data <br>
</div>
</blockquote>
<p>CSV is used to import/export time table, times slots or students.
But you can't get everything on CSV, for example the task object
in top of time/date/slot related attributes also contains a
document object, which is handwritten notes.<br>
</p>
<img moz-do-not-send="false"
src="cid:part1.5JEn7yE0.vfTNenPI@free.fr" alt="task" width="631"
height="505">
<p><br>
</p>
<blockquote type="cite"
cite="mid:CAGQxfVhE4=+0nG_3tFJxJ4qajScAtCrGUtpHH7ATV-i+OBaBGw@mail.gmail.com">
<div> </div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p><font size="4"> but it is more complicated with the
knowledge model[2] where each document should be saved in
its own refstream file and loaded at demand, otherwise the
whole model (educator+knowledge) may become too big and
slow to save/load. Imagine the activity of a teacher or a
learner along one school year, a lot of documents will be
produced.<br>
</font></p>
</div>
</blockquote>
<div>I understand that teachers and students produce dynabook
documents and exchange them. That means that a format for
exchanging these documents is needed. Probably a binary one but
not necessarily. Or a combination of it. MS Powerpoint and
LOImpress also have pages/sildes and use various data formats.
This format then is also the one to be used for persistence.</div>
</blockquote>
<p>Document will be a mixture of PlacedMorphs inserted in a common
substrate, the Document Page. Using a save-format foreigner to the
Smalltalk objects involved in a Document will be too much work for
me<br>
</p>
<blockquote type="cite"
cite="mid:CAGQxfVhE4=+0nG_3tFJxJ4qajScAtCrGUtpHH7ATV-i+OBaBGw@mail.gmail.com">
<div> </div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p><font size="4"> </font></p>
<p><font size="4">I play a bit with DiskProxy so that document
referenced in the educator model are saved as that, but I
suspect it ends all the document model are still load at
once. Document are a mix of view, model and presenter so
it makes a lot, and it is not easy to control how far in
the tree of objects the persistence goes, then other
problems arise at realod, like disconnected object.<br>
</font></p>
</div>
</blockquote>
<div>Would it be possible to de-couple persistence needs?</div>
<div>Do the views need to be persisted? See recent discussion on
this list about recreating morphs from source code, i.e. getting
the source code for a morph tree and then using it to rebuild
it.</div>
</blockquote>
<p>The handwritten notes are views, etc. If you don't save the
views, then you have to design a model you can rebuild the views
from. Saving the objects, as it was done in Squeak with project,
is more straightforward. Trouble only come if your object
definition changes, but there are some strategy for that kind of
scenario.<br>
</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:CAGQxfVhE4=+0nG_3tFJxJ4qajScAtCrGUtpHH7ATV-i+OBaBGw@mail.gmail.com">
<div> </div>
</blockquote>
<pre class="moz-signature" cols="72">--
<a class="moz-txt-link-freetext" href="http://mamot.fr/@drgeo">http://mamot.fr/@drgeo</a></pre>
</body>
</html>