[Cuis] ContentPack
H. Hirzel
hannes.hirzel at gmail.com
Thu Jan 3 05:59:37 CST 2013
In the meantime I found out that
ContentPack seems to be a persistence mechanism for a dictionary which
may contain other dictionaries and instances of Form and ColorForm.
Forms are written out to the file system as *.png files and ColorForms
are written as *.bmp files.
Is this correct?
--Hannes
On 1/2/13, H. Hirzel <hannes.hirzel at gmail.com> wrote:
> Hello Juan and Casey
>
> Is the ContentPack something like Fuel?
> http://rmod.lille.inria.fr/web/pier/software/Fuel
> (BTW it is now available for Squeak as well, see announcement on the
> Squeak list)?
>
>
>
> I found class 'ContentPack', I copy it in below. The nice thing is
> that it only has 11 instance methods and 7 class methods. However most
> of the comment I do not understand.
>
> I copy in the class comment below.
> I put in comments in uppercase.
>
> Kind regards
> Hannes
>
>
> ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
> ContentPack lets you read in and write out the (supported files in
> the) contents of a directory on your file system. It also allows you
> to trivially create "messenger" subclasses that capture the
> information containted (TYPO) in these directory trees, including any
> implicit communication that's there in the structure of the directory
> hierarchy itself, which are captured in your changes file.
>
> NOTE: I DO NOT UNDERSTAND THIS LANGUAGE. EXAMPLES of supported file types?
>
>
> You can then file out a change set that contains a representation of
> the (supported file/object types and directory structurein) TYPO the
> stuff on your disk, or in your image. This subclass is a dummy which
> ContentPack compiles methods into containing base 64 encoded data. You
> can load this into another image, as long as that image has
> ContentPack loaded. The filed in class can then recreate the
> ContentPack on the other end with the media files and structure
> intact.
>
> The current implementation is based on #storeString, but the plan is
> to change that to SmartRefStream in the long run to support
> serializing things like morphs.
>
> ContentPack instances hang onto the actual tree of media objects.(I DO
> NOT UNDERSTAND) It has a nice simple EDSL ???? that just interprets
> an array of strings from beginning to end as a "path" to a file
> (really a series of dictionary lookups to a Smalltalk object, wherin
> the dictionaries mirror the structure of what was on the disk, sans
> unsupported files.) This mechanism will likely change a little bit at
> some point,
>
>
> ContentPack came into the world a little faster than I expected, as I
> ended up using it to send some icons back in time to fix the Cuis
> update stream without having to sort my changes all over again. As
> such it had some unusual design pressures... it had to be able to
> carry information in and out of both the change set stream and the
> filesystem, as well as function in a slightly earlier (unreleased)
> version of Cuis than it was written in, and not break anything on it's
> way back up through the build to head.
>
> SENDING ICONS BACK IN TIME????
>
>
> The code, in particular the way things are named, has not settled yet,
> and that's why this comment contains no code examples. Use with care
> and read the code first, for now.
>
> IN THE MEANTIME THE CODE SEEMS TO HAVE SETTLED OTHERWISE IT WOULD NOT
> BE IN CORE.
>
>
> Currently, .bmp import and .png import are implemented, and both can
> be exported. Anything you can import, you can also shuffle into a
> change set. Plans are in the works to support audio, change sets, and
> text files.
>
> PLEASE DO SO. GIVEN THE FACT THAT THIS CLASS ONLY HAS 18 METHODS THIS
> SHOULD NOT BE A LARGE EFFORT.
>
> I'll support video if someone has a good importer, exporter, and
> player under the MIT license that'll work under Cuis.
>
> Currently, objects are serialized into single methods, which works for
> small icons, but likely doesn't work well (if at all) for larger
> files. My intent is to add some behavior that breaks up large objects
> into smaller chunks so that this becomes a non-issue. I'll likely get
> to that when I've removed most of the repetitive subtle variations of
> the same recursive tree walking visitor-trick from the code, and
> renamed everything. I think in essence this class is slightly smaller
> than it is as represented currently.
>
> Hopefully I will be able to explain all of this better once I've
> clarified the code a bit so that I can show off some examples.
>
> YES. EXAMPLES WILL HELP A LOT :-)
>
> - cbr
>
> On 1/2/13, Juan Vuletich <juan at jvuletich.org> wrote:
>> Hi Folks,
>>
>> I think it should work ok. I don't recall doing any changes that would
>> obviously affect it.
>>
>> BTW, a bit more of documentation wouldn't hurt, but the code is all
>> there, and there's a reasonable class comment. It is just a matter of
>> learning and playing a bit with it.
>>
>> Cheers,
>> Juan Vuletich
>>
>> Casey Ransberger wrote:
>>> Oh wow and ouch. I wrote it. My fault. I didn't document it. I
>>> expected, after I'd used it to muck with the time stream, that we'd
>>> throw it away once the paradox was resolved, but Juan liked it, and
>>> wanted to keep it.
>>>
>>> Anyway, it's my dog and I've been terrible about feeding it. I should
>>> fix that.
>>>
>>> On Tue, Jan 1, 2013 at 9:58 PM, H. Hirzel <hannes.hirzel at gmail.com
>>> <mailto:hannes.hirzel at gmail.com>> wrote:
>>>
>>> Hello Casey and Juan
>>>
>>> Good to see you active on this list.
>>> How to I try out the ContentPack in Cuis 4.1?
>>>
>>> Casey mentions in another thread that it might not work anymore.
>>>
>>> --Hannes
>>>
>>> On 12/30/12, Juan Vuletich <juan at jvuletich.org
>>> <mailto:juan at jvuletich.org>> wrote:
>>> > Hi Hannes,
>>> >
>>> > You might be thinking on Casey's ContentPack, that is part of
>>> Cuis. It
>>> > allows us to use only change sets for updating Cuis, while at
>>> the same
>>> > time, using external tools for editing resources (like .bmp,
>>> .png and
>>> > jpg files, etc).
>>> >
>>> > Cheers,
>>> > Juan Vuletich
>>> >
>>> > H. Hirzel wrote:
>>> .....
>>> >>
>>> >> If I remember well you once did a package for managing
>>> resources, right?
>>> >>
>>> >> Where is it?
>>> >>
>>> >> --Hannes
>>> >>
>>>
>>> _______________________________________________
>>> Cuis mailing list
>>> Cuis at jvuletich.org <mailto:Cuis at jvuletich.org>
>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>
>>>
>>>
>>>
>>> --
>>> Casey Ransberger
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Cuis mailing list
>>> Cuis at jvuletich.org
>>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>>
>>
>>
>> _______________________________________________
>> Cuis mailing list
>> Cuis at jvuletich.org
>> http://jvuletich.org/mailman/listinfo/cuis_jvuletich.org
>>
>
More information about the Cuis
mailing list