[Cuis-dev] Signals library and Tracker
Hilaire Fernandes
hfern at free.fr
Sat Apr 18 02:39:09 PDT 2026
Packaging the data in one file is useful to share the document. This is
something to keep in mind. For DrGeo, it is XML file.
I use ReferenceStream for the contents of the DyboApp. There are both
business models and pedagogical contents to save. The business models
are the administration part of the teacher job.
The schools, class groups, courses, taught topics, students, tasks; then
the pedagogical documents collected in the topics. The business model
could have been persisted in traditional data format or DB; but the
pedagogical documents are very heterogeneous and it can be enriched with
arbitrary and heterogeneous DKMs.
So I use ReferenceStream for the whole, but I try to circumvent the
extent of the tree to be persisted. Each pedagogical document is saved
in its own sub tree, and referenced as a DiskProxy in the business model
tree. The user data is then distributed in several directories and
files, each with its one data.obj. When you annotated a PDF document,
you also have to deal specifically how to persist the data.
Object persistence can be tricky, depending on the object attributes,
you may easily find yourself in a situation where a document subtree
also reference another document subtree. I twisted a bit the
ReferenceStream protocol to avoid persisting some attributes, those can
be recomputed at load time.
All in all, it is quite ok and very helpful, but you are never sure of
the extent of what is persisted on file. The resulting object file
generated by ReferenceStream contains some readable information (string,
class name) which I found helpful to understand and to debug strange
situations.
I have not yet thought about the class evolution, it will bring
undoubtedly its own problems. I see there is this SmartReferenceStream
to help with class evolution.
I think ReferenceStream is part of the Squeak scheme of persistence
where an Etoys world is by essence very heterogeneous. There was also
the ImageSegment.
Hilaire
Le 18/04/2026 à 10:45, Luciano Notarfrancesco a écrit :
> I do include all samples in the .song files, not only notes. The .mod
> files that traditional trackers used also included the samples (as
> opposed to .mid MIDI files that only included notes), and this ensures
> that they sound correctly any time you play them because they don’t
> depend on which samples are loaded in the tracker.
>
> How about you? Why did you choose to use ReferenceStream for DrGeo?
> Does it give you any problem when you add or remove instance variables?
--
http://mamot.fr/@drgeo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20260418/b7c4a22f/attachment-0001.htm>
More information about the Cuis-dev
mailing list