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

David T. Lewis lewis at mail.msen.com
Sat Apr 18 19:37:15 UTC 2020


Has anyone had a chance to take a look at this? I've made a comple of
updates, so the current versions in the inbox are Tests-dtl.432 and
MonticelloConfigurations-dtl.167.

I should note that these updates interoperate with the current SqueakSource
servers without issue, but the servers will need to have their
MonticelloConfigurations packages updated before they can render the
MCM files in the new format. So the easiest way to test is with either
a local file based repository, or with a Personal Squeaksource that
has MonticelloConfigurations update from the inbox.

When browsing an MCConfiguration, click the "Versions" button to see
comments, timestamps, and version history. I'm attaching a screen shot
of an explorer on the versions to give a feel for the organization.

Comments and criticism welcome,

Dave


On Wed, Apr 15, 2020 at 08:27:10PM -0400, David T. Lewis wrote:
> 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
> > > > >
> > > > >
> > > > >
> > > 
> > > > 
> > > 
> > > 
> > 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MCConfigurationVersions.png
Type: image/png
Size: 88813 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200418/66c971e3/attachment-0001.png>


More information about the Squeak-dev mailing list