Monticello Configurations help

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Monticello Configurations help

Ron Teitelbaum
Hi all,

Ok, I got Monticello Configurations working.  I have to admit I was thinking
about ENVY configuration maps when I saw this and was hoping that Monticello
Configurations would work much the same way.

I loaded up the squeakSource image (thank you Cees for hosting the image and
Torsten Bergmann for creating it http://de-1.tric.nl/~cg/images/ )  ported
my code to 3.9a, stored all my changes.  Then I created a test configuration
and it worked.  I was very happy.

When I went to modify the configuration after doing an update, it did
nothing.  Storing did nothing.  It didn't give any indication that it was
going to do nothing.  I think that the intention is for the user to provide
a unique name for each configuration and when a name is reused it does
nothing, so I provided a new name and that worked.  Thinking ahead I could
make this work by providing my own version numbering of the configuration,
but looking around there doesn't seem to be a way to purge the old
configurations from squeakSource.  The configuration is not visible from
squeakSource, and it appears to be hidden in data files, so deleting it
manually seems problematic.  

Am I missing something?  I would like to be able to version off
configurations and purge old version when necessary, or I would like to be
able to modify definitions.  Is any of this possible?  Is there another way
to manage multiple packages load them all at once and save configurations of
multiple packages?

Also when defining a configuration and adding a repository it said that only
http is supported.  This was why I went looking for and setting up my own
squeakSource.  But when storing a configuration it asked me where to write
it and it worked when writing to a directory.  Assuming that the stored
repository on the configuration is to be used as the source for loading a
configuration, why doesn't the configuration support other repository types?
Should I be storing versions of packages on squeakSource and configurations
on a directory?

Thanks for your help!

Ron Teitelbaum




Reply | Threaded
Open this post in threaded view
|

RE: Monticello Configurations help

Ron Teitelbaum
RE: Monticello Configurations help

After looking at it some more it appears that the configuration is written to the repository.  The problem is that there is a reader cache which is preventing it from updating on display.  I changed one method that fixes this problem:

MCHttpRepository>>versionReaderForFileNamed: aString

        readerCache ifNil: [readerCache := Dictionary new].

        ^ readerCache at: aString ifAbsent:

                [self resizeCache: readerCache.

                super versionReaderForFileNamed: aString do:

                        [:r |

                        "do not cache configuration files"

                        ('*.mcm' match: aString) ifTrue: [r] ifFalse: [

                        r ifNotNil: [readerCache at: aString put: r]]]]

The return on this is kinda funky.  There is a nil check on r but if it's nil it would blow up and it wouldn’t have been executed anyway.  I left it to minimize the change.

Ron Teitelbaum

> From: Ron Teitelbaum

> Sent: Thursday, June 01, 2006 5:27 PM

> Hi all,

>

> Ok, I got Monticello Configurations working.  I have to admit I was

> thinking

> about ENVY configuration maps when I saw this and was hoping that

> Monticello

> Configurations would work much the same way.

>

> I loaded up the squeakSource image (thank you Cees for hosting the image

> and

> Torsten Bergmann for creating it http://de-1.tric.nl/~cg/images/ )  ported

> my code to 3.9a, stored all my changes.  Then I created a test

> configuration

> and it worked.  I was very happy.

>

> When I went to modify the configuration after doing an update, it did

> nothing.  Storing did nothing.  It didn't give any indication that it was

> going to do nothing.  I think that the intention is for the user to

> provide

> a unique name for each configuration and when a name is reused it does

> nothing, so I provided a new name and that worked.  Thinking ahead I could

> make this work by providing my own version numbering of the configuration,

> but looking around there doesn't seem to be a way to purge the old

> configurations from squeakSource.  The configuration is not visible from

> squeakSource, and it appears to be hidden in data files, so deleting it

> manually seems problematic.

>

> Am I missing something?  I would like to be able to version off

> configurations and purge old version when necessary, or I would like to be

> able to modify definitions.  Is any of this possible?  Is there another

> way

> to manage multiple packages load them all at once and save configurations

> of

> multiple packages?

>

> Also when defining a configuration and adding a repository it said that

> only

> http is supported.  This was why I went looking for and setting up my own

> squeakSource.  But when storing a configuration it asked me where to write

> it and it worked when writing to a directory.  Assuming that the stored

> repository on the configuration is to be used as the source for loading a

> configuration, why doesn't the configuration support other repository

> types?

> Should I be storing versions of packages on squeakSource and

> configurations

> on a directory?

>

> Thanks for your help!

>

> Ron Teitelbaum

>

>

>

>