How do I create SqueakMap package for loading an MCConfiguration?

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

How do I create SqueakMap package for loading an MCConfiguration?

Trygve Reenskaug
I want to configure BabyIDE with a number of examples into a package
that interested Squeakers can install with a minimum of fuss. I chose
MonticelloConfigurations because it looked much simpler than Metacello.
Being utterly confused after reading code, the documentation I could
find. Also trying what I could guess at.

The configuration is at
     http://www.squeaksource.com/DCI/BBAllInOne-TRee.1.mcz
and at
     http://www.squeaksource.com/DCI/BBAllInOne-TRee.18.mcm

I have defined a SqueakMap package 'BabyIdeAllInOne' with 3 versions for
loading the configuration. None of them work:
I open a fresh image and use the SqueakMap Package Loader to load
BabyIdeAllInOne 1.2. I get an error
'No package release found with version TRee.1'
-----
The question appears to be:
Where did SMSqueakMap look when it didn't find a release?
I have tried these scripts (among many):
      SMSqueakMap default installPackageNamed: 'BBallInOne' version:
'TRee.1'
and
      SMSqueakMap default installPackageNamed: 'BBallInOne' version:
'TRee.18'

May be I shouldn't have used a script at all, but relied on some unknown
convention?

I'm completely lost and badly need help.
--Trygve

Reply | Threaded
Open this post in threaded view
|

Re: How do I create SqueakMap package for loading an MCConfiguration?

Chris Muller-3
The desirable properties of a SqueakMap-based configuration are:

  - Load the application if it isn't already loaded, including any
required dependencies first, as necessary.
  - Update the package to the latest version if older version(s) are
already loaded in the image.
  - Don't lose any local changes I may have made when updating the package.
  - Load exact versions for production released versions of Squeak
  - Load the latest code for the current trunk version of Squeak

Take a look at a working example; say, the "Ma client server" package,
which meets all of the above requirements with a simple script.  It
depends on OSProcess but loads that automatically if you don't already
have it.  The "1.6" version is designated for Squeak 4.4 while "head"
version loads the currently latest code using McmUpdater, the same
process we use for trunk.

Here is some documentation:

  http://wiki.squeak.org/squeak/779
  http://wiki.squeak.org/squeak/6181
  http://wiki.squeak.org/squeak/2726

HTH

On Tue, Jan 13, 2015 at 11:08 AM, Trygve Reenskaug <[hidden email]> wrote:

> I want to configure BabyIDE with a number of examples into a package that
> interested Squeakers can install with a minimum of fuss. I chose
> MonticelloConfigurations because it looked much simpler than Metacello.
> Being utterly confused after reading code, the documentation I could find.
> Also trying what I could guess at.
>
> The configuration is at
>     http://www.squeaksource.com/DCI/BBAllInOne-TRee.1.mcz
> and at
>     http://www.squeaksource.com/DCI/BBAllInOne-TRee.18.mcm
>
> I have defined a SqueakMap package 'BabyIdeAllInOne' with 3 versions for
> loading the configuration. None of them work:
> I open a fresh image and use the SqueakMap Package Loader to load
> BabyIdeAllInOne 1.2. I get an error
> 'No package release found with version TRee.1'
> -----
> The question appears to be:
> Where did SMSqueakMap look when it didn't find a release?
> I have tried these scripts (among many):
>      SMSqueakMap default installPackageNamed: 'BBallInOne' version: 'TRee.1'
> and
>      SMSqueakMap default installPackageNamed: 'BBallInOne' version:
> 'TRee.18'
>
> May be I shouldn't have used a script at all, but relied on some unknown
> convention?
>
> I'm completely lost and badly need help.
> --Trygve
>

Reply | Threaded
Open this post in threaded view
|

Re: How do I create SqueakMap package for loading an MCConfiguration?

Bert Freudenberg
In reply to this post by Trygve Reenskaug

> On 13.01.2015, at 18:08, Trygve Reenskaug <[hidden email]> wrote:
>
> I want to configure BabyIDE with a number of examples into a package that interested Squeakers can install with a minimum of fuss. I chose MonticelloConfigurations because it looked much simpler than Metacello.
> Being utterly confused after reading code, the documentation I could find. Also trying what I could guess at.
>
> The configuration is at
>    http://www.squeaksource.com/DCI/BBAllInOne-TRee.1.mcz
> and at
>    http://www.squeaksource.com/DCI/BBAllInOne-TRee.18.mcm
>
> I have defined a SqueakMap package 'BabyIdeAllInOne' with 3 versions for loading the configuration. None of them work:
> I open a fresh image and use the SqueakMap Package Loader to load BabyIdeAllInOne 1.2. I get an error
> 'No package release found with version TRee.1'
> -----
> The question appears to be:
> Where did SMSqueakMap look when it didn't find a release?
> I have tried these scripts (among many):
>     SMSqueakMap default installPackageNamed: 'BBallInOne' version: 'TRee.1'
> and
>     SMSqueakMap default installPackageNamed: 'BBallInOne' version: 'TRee.18'
>
> May be I shouldn't have used a script at all, but relied on some unknown convention?
>
> I'm completely lost and badly need help.
Did you try without a typo?

        'BBAllInOne' ~= 'BBallInOne'.

I have not tried with SqueakMap but this appears to work:

        (Installer squeaksource project: 'DCI') install: 'BBAllInOne'

- Bert -






smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How do I create SqueakMap package for loading an MCConfiguration?

Trygve Reenskaug
In reply to this post by Chris Muller-3
Chris,
Many, many thanks. I finally got it right and BBAllInOne now loads correctly. The working script reads
    SMSqueakMap default loadUpdates.
    (Installer repository: 'http://www.squeaksource.com/DCI') install: 'BBAllInOne-TRee.18' .


Is there a simpler way? Most SqueakMap packages do not have a script; they only have a "Download URL". AwesomAtom is one example.  BabyIDE-1.2.9 is another. I made it 6 years ago. It still works. I cannot remember how I specified the URL at the time and cannot find any user interface to edit it. Has it been removed?

Again, many thanks for your help.
--Trygve



On 13.01.2015 18:36, Chris Muller wrote:
The desirable properties of a SqueakMap-based configuration are:

  - Load the application if it isn't already loaded, including any
required dependencies first, as necessary.
  - Update the package to the latest version if older version(s) are
already loaded in the image.
  - Don't lose any local changes I may have made when updating the package.
  - Load exact versions for production released versions of Squeak
  - Load the latest code for the current trunk version of Squeak

Take a look at a working example; say, the "Ma client server" package,
which meets all of the above requirements with a simple script.  It
depends on OSProcess but loads that automatically if you don't already
have it.  The "1.6" version is designated for Squeak 4.4 while "head"
version loads the currently latest code using McmUpdater, the same
process we use for trunk.

Here is some documentation:

  http://wiki.squeak.org/squeak/779
  http://wiki.squeak.org/squeak/6181
  http://wiki.squeak.org/squeak/2726

HTH

On Tue, Jan 13, 2015 at 11:08 AM, Trygve Reenskaug [hidden email] wrote:
I want to configure BabyIDE with a number of examples into a package that
interested Squeakers can install with a minimum of fuss. I chose
MonticelloConfigurations because it looked much simpler than Metacello.
Being utterly confused after reading code, the documentation I could find.
Also trying what I could guess at.

The configuration is at
    http://www.squeaksource.com/DCI/BBAllInOne-TRee.1.mcz
and at
    http://www.squeaksource.com/DCI/BBAllInOne-TRee.18.mcm

I have defined a SqueakMap package 'BabyIdeAllInOne' with 3 versions for
loading the configuration. None of them work:
I open a fresh image and use the SqueakMap Package Loader to load
BabyIdeAllInOne 1.2. I get an error
'No package release found with version TRee.1'
-----
The question appears to be:
Where did SMSqueakMap look when it didn't find a release?
I have tried these scripts (among many):
     SMSqueakMap default installPackageNamed: 'BBallInOne' version: 'TRee.1'
and
     SMSqueakMap default installPackageNamed: 'BBallInOne' version:
'TRee.18'

May be I shouldn't have used a script at all, but relied on some unknown
convention?

I'm completely lost and badly need help.
--Trygve




--

Trygve Reenskaug      [hidden email]
Morgedalsvn. 5A       http://folk.uio.no/trygver/
N-0378 Oslo             http://fullOO.info
Norway                     Tel: (+47) 22 49 57 27
 Save our in-boxes! http://emailcharter.org/



Reply | Threaded
Open this post in threaded view
|

Re: How do I create SqueakMap package for loading an MCConfiguration?

Chris Muller-4
On Wed, Jan 14, 2015 at 7:34 AM, Trygve Reenskaug <[hidden email]> wrote:
> Chris,
> Many, many thanks. I finally got it right and BBAllInOne now loads
> correctly. The working script reads
>     SMSqueakMap default loadUpdates.
>     (Installer repository: 'http://www.squeaksource.com/DCI') install:
> 'BBAllInOne-TRee.18' .
>
> Is there a simpler way?

Well, as in the above, you only had to give the bare minimum
information the system would absolutely require to fulfill the
requirement:  1) The repository and 2) MCVersion to #install.  It's
hard for me to imagine what could possibly be simpler than that..

> Most SqueakMap packages do not have a script; they
> only have a "Download URL".

They /all/ have a Download URL.  What varies is what type of file is
found at that url.  When you entered the script above and clicked
"Save" in the Release Editor browser, it saved it as a ".st" file on
the SM server, with the "Download URL" field pointing to it.
SqueakMap will still interpret .mcz, .sar, as well as .st files and
"do the right thing" for each type.

So you actually are using Download URL, just with the .st file which
loading it from SS.

But, yes, you could log into your SM account on the web and manually
upload a copy of single .mcz file and be done that way.  But since you
have the script now done once, now for future versions it might be
easier simply to select "Edit Release", update the version #, and
click "Save".  Done.  That's easier than a manual upload and the code
itself resides only in one place, SqueakSource.

> AwesomAtom is one example.  BabyIDE-1.2.9 is
> another. I made it 6 years ago. It still works. I cannot remember how I
> specified the URL at the time and cannot find any user interface to edit it.

Plus, the coolest thing about SqueakMap is that it is an on-line
resource which let's us "borrow" each other's /Smalltalk compiler/ in
order to show each other how to run our software.  It's a on-line
catalog of Smalltalk code-snippets.  This is very powerful.

Maybe you would like BabyIDE to open up some sort of Welcome panel
when installed from SqueakMap.  That's easy with the .st script or
.sar file.  Not with just an uploaded .mcz.

Cheers.

> Has it been removed?
>
> Again, many thanks for your help.
> --Trygve
>
>
>
> On 13.01.2015 18:36, Chris Muller wrote:
>
> The desirable properties of a SqueakMap-based configuration are:
>
>   - Load the application if it isn't already loaded, including any
> required dependencies first, as necessary.
>   - Update the package to the latest version if older version(s) are
> already loaded in the image.
>   - Don't lose any local changes I may have made when updating the package.
>   - Load exact versions for production released versions of Squeak
>   - Load the latest code for the current trunk version of Squeak
>
> Take a look at a working example; say, the "Ma client server" package,
> which meets all of the above requirements with a simple script.  It
> depends on OSProcess but loads that automatically if you don't already
> have it.  The "1.6" version is designated for Squeak 4.4 while "head"
> version loads the currently latest code using McmUpdater, the same
> process we use for trunk.
>
> Here is some documentation:
>
>   http://wiki.squeak.org/squeak/779
>   http://wiki.squeak.org/squeak/6181
>   http://wiki.squeak.org/squeak/2726
>
> HTH
>
> On Tue, Jan 13, 2015 at 11:08 AM, Trygve Reenskaug <[hidden email]>
> wrote:
>
> I want to configure BabyIDE with a number of examples into a package that
> interested Squeakers can install with a minimum of fuss. I chose
> MonticelloConfigurations because it looked much simpler than Metacello.
> Being utterly confused after reading code, the documentation I could find.
> Also trying what I could guess at.
>
> The configuration is at
>     http://www.squeaksource.com/DCI/BBAllInOne-TRee.1.mcz
> and at
>     http://www.squeaksource.com/DCI/BBAllInOne-TRee.18.mcm
>
> I have defined a SqueakMap package 'BabyIdeAllInOne' with 3 versions for
> loading the configuration. None of them work:
> I open a fresh image and use the SqueakMap Package Loader to load
> BabyIdeAllInOne 1.2. I get an error
> 'No package release found with version TRee.1'
> -----
> The question appears to be:
> Where did SMSqueakMap look when it didn't find a release?
> I have tried these scripts (among many):
>      SMSqueakMap default installPackageNamed: 'BBallInOne' version: 'TRee.1'
> and
>      SMSqueakMap default installPackageNamed: 'BBallInOne' version:
> 'TRee.18'
>
> May be I shouldn't have used a script at all, but relied on some unknown
> convention?
>
> I'm completely lost and badly need help.
> --Trygve
>
>
>
>
> --
>
> Trygve Reenskaug      mailto: [hidden email]
> Morgedalsvn. 5A       http://folk.uio.no/trygver/
> N-0378 Oslo             http://fullOO.info
> Norway                     Tel: (+47) 22 49 57 27
>
>  Save our in-boxes! http://emailcharter.org/
>

Reply | Threaded
Open this post in threaded view
|

Re: How do I create SqueakMap package for loading an MCConfiguration?

Bert Freudenberg
On 14.01.2015, at 21:32, Chris Muller <[hidden email]> wrote:

>
>> Most SqueakMap packages do not have a script; they
>> only have a "Download URL".
>
> They /all/ have a Download URL.  What varies is what type of file is
> found at that url.  When you entered the script above and clicked
> "Save" in the Release Editor browser, it saved it as a ".st" file on
> the SM server, with the "Download URL" field pointing to it.
> SqueakMap will still interpret .mcz, .sar, as well as .st files and
> "do the right thing" for each type.
Curious, does it handle .mcm directly nowadays?

- Bert -




smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How do I create SqueakMap package for loading an MCConfiguration?

Chris Muller-3
On Thu, Jan 15, 2015 at 4:02 AM, Bert Freudenberg <[hidden email]> wrote:

> On 14.01.2015, at 21:32, Chris Muller <[hidden email]> wrote:
>>
>>> Most SqueakMap packages do not have a script; they
>>> only have a "Download URL".
>>
>> They /all/ have a Download URL.  What varies is what type of file is
>> found at that url.  When you entered the script above and clicked
>> "Save" in the Release Editor browser, it saved it as a ".st" file on
>> the SM server, with the "Download URL" field pointing to it.
>> SqueakMap will still interpret .mcz, .sar, as well as .st files and
>> "do the right thing" for each type.
>
> Curious, does it handle .mcm directly nowadays?

It appears not but could be done by adding new subclass of SMSimpleInstaller.

Reply | Threaded
Open this post in threaded view
|

Re: How do I create SqueakMap package for loading an MCConfiguration?

Trygve Reenskaug
I've had quite an odyssey to come to my present understanding of the SqueakMap package loader. The way I now understand it is as follows:
  1.  SqueakMap packages can be seen in the middle-left list pane of SqueakMap Package Loader. The context menu in this pane filters which packages to show. The bottom-left list pane appears to be another selection filter. I deselect all to avoid surprises.
  2. Details about the selected package are shown in the right pane.
  3. A selected SqueakMap package can contain releases. Available releases are listed below the package name in the  SqueakMap Package Loader.  A new release  can be created though the context menu of a selected package: "Create new Release". (There are more alternatives that I haven't investigated.)
  4. Details about a selected release are shown in the right pane. One detail shown for every release is called "Download: <URL>". The URL identifies a file that specifies the installation. I have seen an .st file that will be executed as a doIt, and a .sar file that contains 3 .st files: a preamble, an installation file, and a postscript.
  5. One command available for a selected release is "Edit release".  This opens a "fill-in-the-form" called a Release browser. Most fields are explained by hovering the mouse above the field. The exception is the bottom field; it can contain a script for the installation. I haven't found a good explanation for this script anywhere. I first thought it wasn't important because most releases shown in the package loader leave the script empty.  I now see the field as an input field. Fill it with executable Squeak code and save it. It will then be transformed into file, stored somewhere, and become retrievable through the URL in the "Download: <URL>". This scheme seems extremely powerful but only for the person who knows the various installation mechanisms.
  • Chris pointed me to a script statement for downloading a SqueakSource package known by its URL. e.g.,
           (Installer repository: 'http://www.squeaksource.com/DCI') install: 'BBAllInOne-TRee.18' .
    this happens to be an  Monticello configuration file, BBAllInOne-TRee.18.mcm.
  • Another statement I have seen is
             SMSqueakMap default installPackageNamed: '<name>' version: '<version>'
    I couldn't make it work for me, but suspect that the package shall be stored as a versioned file in SqueakMap itself.
This is as far as I've got. I hope somebody will correct the explanation where it is wrong so that other people may make use of it.  I would have been spared considerable time and frustration if I had seen it a couple of weeks ago.

Cheers
--Trygve


On 15.01.2015 20:52, Chris Muller wrote:
On Thu, Jan 15, 2015 at 4:02 AM, Bert Freudenberg [hidden email] wrote:
On 14.01.2015, at 21:32, Chris Muller [hidden email] wrote:

          
Most SqueakMap packages do not have a script; they
only have a "Download URL".
They /all/ have a Download URL.  What varies is what type of file is
found at that url.  When you entered the script above and clicked
"Save" in the Release Editor browser, it saved it as a ".st" file on
the SM server, with the "Download URL" field pointing to it.
SqueakMap will still interpret .mcz, .sar, as well as .st files and
"do the right thing" for each type.
Curious, does it handle .mcm directly nowadays?
It appears not but could be done by adding new subclass of SMSimpleInstaller.




--

The essence of object orientation is that
objects collaborate  to achieve a goal.
The class hierarchy is in the nature of a comment;
it has no run time significance.
---
Trygve Reenskaug      
[hidden email]
Morgedalsvn. 5A       
http://folk.uio.no/trygver/
N-0378 Oslo             
http://fullOO.info
Norway                     Tel: (+47) 22 49 57 27



Reply | Threaded
Open this post in threaded view
|

Re: How do I create SqueakMap package for loading an MCConfiguration?

Chris Muller-3
> I've had quite an odyssey to come to my present understanding of the
> SqueakMap package loader. The way I now understand it is as follows:
>
>  SqueakMap packages can be seen in the middle-left list pane of SqueakMap
> Package Loader. The context menu in this pane filters which packages to
> show. The bottom-left list pane appears to be another selection filter. I
> deselect all to avoid surprises.

Yea that sounds right.  Honestly I really do not like the hierarchical list I would prefer a more Smalltalk-like browser approach with packages in left pane, releases in middle pane, details in bottom pane, etc.

> Details about the selected package are shown in the right pane.

> A selected SqueakMap package can contain releases. Available releases are
> listed below the package name in the  SqueakMap Package Loader.  A new
> release  can be created though the context menu of a selected package:
> "Create new Release". (There are more alternatives that I haven't
> investigated.)
> Details about a selected release are shown in the right pane. One detail
> shown for every release is called "Download: <URL>". The URL identifies a
> file that specifies the installation. I have seen an .st file that will be
> executed as a doIt, and a .sar file that contains 3 .st files: a preamble,
> an installation file, and a postscript.
A .sar file would also contain whatever /resources/ were needed for that application to run.  Many catalog entries do not need resources, but the ones that do, can use SAR files as a means of one-click deployment.

Otherwise, a plain .st script can be used to download resources from some location (along with code packages for a correct configuration).

Normally each correct configuration script is specified for a specific version of Squeak.

> One command available for a selected release is "Edit release".  This opens
> a "fill-in-the-form" called a Release browser. Most fields are explained by
> hovering the mouse above the field. The exception is the bottom field; it
> can contain a script for the installation. I haven't found a good
> explanation for this script anywhere. 

Yes it's the .st script which performs the installation.  There is a detailed description with example here:


It explains the two kinds of scripts that should be written for each SqueakMap catalog entry, 1) the fixed-configuration (for specific Squeak version) and 2) the head release (latest code).  It explains the rationale for when you would want just #1, or both #1 + #2.

> I first thought it wasn't important
> because most releases shown in the package loader leave the script empty.  

That's only because most packages on SM are from before the time this ability to "Edit Release" was written in 2012.  At that time, I started trying to encourage people to use SM as a Catalog and not a SCM tool.  IOW, use .st scripts only (unless embedded resources are needed, then a SAR).

I personally am not going to store any more .mcz's on SqueakMap.  I only want my .mcz's in the SCM repository (SqueakSource, SS3, etc.).  The rationale for this is in those wiki pages linked together.

> I
> now see the field as an input field. Fill it with executable Squeak code and
> save it. It will then be transformed into file, stored somewhere, and become
> retrievable through the URL in the "Download: <URL>". This scheme seems
> extremely powerful but only for the person who knows the various
> installation mechanisms.

That's true but all catalog entry's can generally follow the same format of script, so you can clone pretty easily one and get all the great features like dependencies for literally just a few lines of code.  The format of every "fixed-configuration" script is:

    (check if first required dependency is already loaded) ifFalse:
        [ SMSqueakMap default installPackageNamed: 'The Dependent Package' version: '1.1' ].

    (check if 2nd required dependency is already loaded) ifFalse:
        [ SMSqueakMap default installPackageNamed: 'The Dependent Package' version: '1.1' ].

    #('My-Core-Package-cmm.123' 'My-Tests-Package-cmm.123') do:
        [ : each | (Installer repository: 'http://ss3.gemstone.com/ss/Ma-Client-Server') install: each ]

The way I check for the presence of required dependencies is simply (Smalltalk hasClassNamed: #SomeClass) where I know SomeClass only exists in that other package.  I know this is not ideal but the good news everyone can do precisely what's ideal for each project.

See an example on SM for an example of a proper "head" script.  It's basically the same except instead of loading specific package versions it uses McmUpdater, the same mechanism we use for trunk, so that each SM project can have community features too.

> Chris pointed me to a script statement for downloading a SqueakSource
> package known by its URL. e.g.,
>        (Installer repository: 'http://www.squeaksource.com/DCI') install:
> 'BBAllInOne-TRee.18' .
> this happens to be an  Monticello configuration file,
> BBAllInOne-TRee.18.mcm.

Installer can install .mcm file fine.

> Another statement I have seen is
>          SMSqueakMap default installPackageNamed: '<name>' version:
> '<version>'
> I couldn't make it work for me, but suspect that the package shall be stored
> as a versioned file in SqueakMap itself.

That should work as long as '<version>' of '<name>' exists -- it will simply run that file at Download URL for that package and this is how pre-reqs are done.

I tested it yesterday and it worked, which one is not working fo ryou?

> This is as far as I've got. I hope somebody will correct the explanation
> where it is wrong so that other people may make use of it.  I would have
> been spared considerable time and frustration if I had seen it a couple of
> weeks ago.

Good that you persevered since you now can easily publish packages that can use any SCM technology with resources, demos, etc.

Cheers.

> Cheers
> --Trygve
>
>
>
> On 15.01.2015 20:52, Chris Muller wrote:
>
> On Thu, Jan 15, 2015 at 4:02 AM, Bert Freudenberg <[hidden email]>
> wrote:
>
> On 14.01.2015, at 21:32, Chris Muller <[hidden email]> wrote:
>
> Most SqueakMap packages do not have a script; they
> only have a "Download URL".
>
> They /all/ have a Download URL.  What varies is what type of file is
> found at that url.  When you entered the script above and clicked
> "Save" in the Release Editor browser, it saved it as a ".st" file on
> the SM server, with the "Download URL" field pointing to it.
> SqueakMap will still interpret .mcz, .sar, as well as .st files and
> "do the right thing" for each type.
>
> Curious, does it handle .mcm directly nowadays?
>
> It appears not but could be done by adding new subclass of
> SMSimpleInstaller.
>
>
>
>
> --
>
> The essence of object orientation is that
> objects collaborate  to achieve a goal.
> The class hierarchy is in the nature of a comment;
> it has no run time significance.
> ---
> Trygve Reenskaug      mailto: [hidden email]
> Morgedalsvn. 5A       http://folk.uio.no/trygver/
> N-0378 Oslo             http://fullOO.info
> Norway                     Tel: (+47) 22 49 57 27
>
>
>
>



Reply | Threaded
Open this post in threaded view
|

Re: How do I create SqueakMap package for loading an MCConfiguration?

David T. Lewis
In reply to this post by Trygve Reenskaug
On Sat, Jan 17, 2015 at 02:53:52PM +0100, Trygve Reenskaug wrote:

> I've had quite an odyssey to come to my present understanding of the
> SqueakMap package loader. The way I now understand it is as follows:
>
> 1.   SqueakMap packages can be seen in the middle-left list pane of
>    SqueakMap Package Loader. The context menu in this pane filters
>    which packages to show. The bottom-left list pane appears to be
>    another selection filter. I deselect all to avoid surprises.
> 2. Details about the selected package are shown in the right pane.
> 3. A selected SqueakMap package can contain releases. Available
>    releases are listed below the package name in the  SqueakMap Package
>    Loader.  A new release  can be created though the context menu of a
>    selected package: "Create new Release". (There are more alternatives
>    that I haven't investigated.)
> 4. Details about a selected release are shown in the right pane. One
>    detail shown for every release is called "/Download: <URL>/". The
>    URL identifies a file that specifies the installation. I have seen
>    an .st file that will be executed as a doIt, and a .sar file that
>    contains 3 .st files: a preamble, an installation file, and a
>    postscript.
> 5. One command available for a selected release is "Edit release".
>    This opens a "fill-in-the-form" called a Release browser. Most
>    fields are explained by hovering the mouse above the field. The
>    exception is the bottom field; it can contain a script for the
>    installation. I haven't found a good explanation for this script
>    anywhere. I first thought it wasn't important because most releases
>    shown in the package loader leave the script empty.  I now see the
>    field as an input field. Fill it with executable Squeak code and
>    save it. It will then be transformed into file, stored somewhere,
>    and become retrievable through the URL in the "/Download: <URL>///".
>    This scheme seems extremely powerful but only for the person who
>    knows the various installation mechanisms.
>
>      * Chris pointed me to a script statement for downloading a
>        SqueakSource package known by its URL. e.g.,
>                (Installer repository:
>        'http://www.squeaksource.com/DCI') install: 'BBAllInOne-TRee.18' .
>        this happens to be an  Monticello configuration file,
>        BBAllInOne-TRee.18.mcm.
>      * Another statement I have seen is
>                  SMSqueakMap default installPackageNamed: '<name>'
>        version: '<version>'
>        I couldn't make it work for me, but suspect that the package
>        shall be stored as a versioned file in SqueakMap itself.
>
> This is as far as I've got. I hope somebody will correct the explanation
> where it is wrong so that other people may make use of it.  I would have
> been spared considerable time and frustration if I had seen it a couple
> of weeks ago.
>
> Cheers
> --Trygve
>

This looks like useful information. There is a "Help" button on the SqueakMap
Package Loader that does not seem to do anything very helpful any more. Maybe
we could capture Trygve's summary there? And/or in the help browser?

Dave