[squeak-dev] My social distancing project - MCConfiguration maps with versioning, comments, and author timestamps.

David T. Lewis lewis at mail.msen.com
Thu Apr 16 00:27:10 UTC 2020


I should mention that I made a couple of changes to the MCConfigurationBrowser
configuration browsers. These are:

1) There is a new button labeled "Versions" that opens an explorer on
the version history of an MCConfiguration. Each entry in the history
list can be browsed by sending #browse to it in the explorer.

2) When an MCConfigurationBrowser is opened on an MCConfiguration, it
always opens on a new #copyForEdit version of the configuration, with
the prior version added to its history.

Those are the only changes that I made to the UI, but they seem to be
sufficient for any use case that I can think of at the moment.

Dave


On Wed, Apr 15, 2020 at 07:55:08PM -0400, David T. Lewis wrote:
> On second thought, I am going to just copy the whole thing into the
> inbox. If this goes to trunk, we can consolidate the versions into one
> update and move all of this to treated, but for now it may be easier to
> review the code if you can see my update history.
> 
> All changes are in package MonticelloConfigurations, with new unit tests
> in the Tests package. The updates that I will put into the inbox are:
> 
>   MonticelloConfigurations-dtl.160
>   MonticelloConfigurations-dtl.161
>   MonticelloConfigurations-dtl.162
>   MonticelloConfigurations-dtl.163
>   MonticelloConfigurations-dtl.164
>   MonticelloConfigurations-dtl.165
>   Tests-dtl.430
>   Tests-dtl.431
>   Tests-dtl.432
> 
> Dave
> 
> 
> On Wed, Apr 15, 2020 at 06:06:29PM -0400, David T. Lewis wrote:
> > Hi Chris,
> > 
> > I'll tidy it up and put something in the inbox tomorrow. The backward
> > compatibility amounts to tricking the existing MCM parser into ignoring
> > additional entries in the array of configuration entries. I think that
> > this can be further extended as needed, and I also added a version
> > field that could be updated for future extensions.
> > 
> > Dave
> > 
> > 
> > On Tue, Apr 14, 2020 at 09:37:53PM -0500, Chris Muller wrote:
> > > Sounds great!  Thanks!
> > > 
> > > Well done with the backward compatibility -- I'm interested in learning
> > > more about how you accomplished that.  I'm hopeful it's by a way that
> > > leaves open further potential upgrades in the future, too.
> > > 
> > >  - Chris
> > > 
> > > On Tue, Apr 14, 2020 at 6:37 PM David T. Lewis <lewis at mail.msen.com> wrote:
> > > 
> > > > An MC update stream, such as the Squeak trunk update stream, relies
> > > > on a sequence of update maps stored in a repository. The update maps
> > > > (MCM files) do not retain information about their authors or the time
> > > > and reason for committing the maps, and they do not retain change
> > > > information if an existing update map is modified, as occasionally
> > > > may be required to correct a problem in the update stream.
> > > >
> > > > I have found a way to extend the MCM configurations such that they
> > > > can be stored in a format that saves the additional version information,
> > > > and that is still readable by any earlier Squeak image. Updated images
> > > > can read and understand the version information, and will store new MCM
> > > > updates with comments, author initials, time stamps, and version history.
> > > >
> > > > I have a working version of this in my own image. It seems to work quite
> > > > well, although I think I need to spend some more time using it before
> > > > suggesting it for general use. If there is in interest, I can put a copy
> > > > in the inbox.
> > > >
> > > > Dave
> > > >
> > > >
> > > >
> > 
> > > 
> > 
> > 
> 


More information about the Squeak-dev mailing list