[squeak-dev] DeltaStreams at ESUG in Brest

Igor Stasenko siguctua at gmail.com
Mon Sep 7 14:35:37 UTC 2009


2009/9/7 Juan Vuletich <juan at jvuletich.org>:
> Hi Göran,
>
> Göran Krampe wrote:
>>
>> Hi folks!
>>
>> Back from Brest and a GREAT conference. This post is not about the ESUG
>> conference though (I could write a lot about that) but about DeltaStreams
>> that I presented and worked hard on while being there.
>>
>> We had a lot of interest in it, and not only from Squeakers. Unfortunately
>> my presentation collided with Lukas/Seaside so many missed it. Slides are
>> here:
>>
>> http://www.slideshare.net/esug/deltastreams
>>
>> ...and perhaps a movie is available somewhere, dunno.
>>
>> Status:
>>
>> - Igor joined me and it was real fun to finally meet in real life and work
>> together. Igor is now working on a Toolbuilder based UI for Deltas using
>> TestRunner as inspiration for code etc.
>>
>> - I hooked in Tirade fully. This means Deltas can now be filedOut and read
>> back in using Tirade format. This is also covered by some smart tests
>> written originally by Matthew Fulmer. Simplified Tirade in the process.
>>
>> - We fixed lots of Delta tests and the tests are now almost fully in the
>> green. Hopefully in a few days more I can say 100% green.
>>
>> - We moved over development from 3.10.2-7179 to trunk! :) Not a big deal
>> actually but we also turned the base patches into MCs so you can actually
>> pull DeltaStreams into trunk by loading one MC, and then running a single
>> liner that uses Installer to pull in the rest.
>>
>> - We added code for tracking DoIts and I almost burned my braincells
>> figuring out a *sensible* way to deal with them. This is an interesting
>> area... I will post separately I think :)
>>
>> - Lots and lots of other details, don't remember them all.
>>
>> - We also talked a lot with Pharo people about our dependencies. Deltas so
>> far depend on four important pieces:
>>    - SystemChangeNotification and the event classes for it.
>>    - SystemEditor mainly written by Colin Putney for MC2.
>>    - Toolbuilder for UIs.
>>    - Tirade for serialization.
>>
>> We hope these dependencies will be kept up to date in most Squeak flavors.
>>
>> The change notification stuff originally written by Roel Wuyts is a bit
>> messy, but it works. It could be rewritten using Announcements or whatever
>> (Stephane wants that) but if we do that then we really need to make sure ALL
>> Squeaks do it together. Otherwise we are going into a "world of hurt" for
>> building cross fork tools.
>>
>> SystemEditor works in trunk, although has 11 failures. I think it is
>> broken in Pharo, haven't looked closer yet.
>>
>> Toolbuilder is of course kept up to date in trunk by Andreas (I guess), I
>> hope that Pharo will sync those changes?!
>>
>> Finally Tirade should work fine in all Squeaks and probably other
>> Smalltalks too, just vanilla code. And since it is my code I can make sure
>> it does work wherever we want Deltas to work :)
>>
>> Now, regarding these dependencies - Toolbuilder is of course just for the
>> UIs. Deltas can still be used in a Squeak without Toolbuilder. Tirade is
>> "just" for serialization, but hey, that is kinda useful :)
>>
>> And if SystemEditor does not work (does it work in Cuis?) then we will
>> need an extra applier written that uses the "regular style" for messing with
>> classes. That should not be hard to do, just mimic what a Changeset does
>> more or less. And I have had that on the todo list for a while.
>>
>> regards, Göran
>
> It is great to know DeltaStreams keeps advancing!
>
> I didn't have much time to understand the dependencies yet. I just want to
> say that I want to support DeltaStreams in Cuis.
>
> I guess I'd need to work on ToolBuilder, but I think it is a good addition
> to Cuis.
>
The ToolBuilder is a bare-bone tool which allow us to build a UI in
declarative style, without
specific knowledge, what exactly framework will be used to preset it to user.
If you having something different in mind (like making own UI-building
tool) , it could be done pretty easily ;)

Our main design point for DeltaStreams that it _should_ be useful even
without any UI, and it should be possible to at least file-in or
file-out DS. So, Deltas is targeted for a very constrained
environments.

But then, of course, if you have a UI, you , as developer, could do a
lot more using deltas..  :)

> I need to study a bit SystemEditor and the SystemChangeNotification. Not
> sure if I'll want to load that code (I really need to check it), but in any
> case I'm willing to make easonable alternatives to work in Cuis to support
> DeltaStreams.
>
To work properly , delta needs to hook in to some places of system ,
in order to be able to record all events related to changes.
It is not really relevant , in what way it hooking up, what is
relevant is to be able to nicely capture all things the developer
doing.
Thus, you can provide own layer for capturing system editing events
and deltas will happily use it.


> Cheers,
> Juan Vuletich
>
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list