[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