[Seaside-dev] Detecting installed Seaside versions?

Andreas Raab andreas.raab at gmx.de
Wed Nov 25 00:18:45 UTC 2009


Hi Dale -

I'm getting confused here. What I'm practically trying to do is along 
the lines of giving a warning if a user asks to install Seaside 3.0 on 
top of an earlier version of Seaside, and just allow the request to pass 
if Seaside 3.0 is already installed. I expected to get some responses 
along the lines "use WAVersion seasideMajor and WAVersion seasideMinor" 
or somesuch or at worst something along the lines of "You can detect 
Seaside x.y by looking for WAFooBar and WAFrumbazzle because WAFooBar 
first appeared in version x.y and WAFrumbazzle appeared in version x.z".

I'm not sure how to interpret your comment about not having *built* a 
Metacello configuration in this context. I must be misunderstanding what 
Metacello is. I can't imagine that in order to detect an installed 
Seaside version one must first build a cross-platform Metacello 
configuration. Are we really talking about the same thing here? Could 
you maybe explain from first principles what Metacello is and why it 
would be the Right Thing to use for detecting an installed Seaside version?

Horribly confused,
   - Andreas

Dale Henrichs wrote:
> I haven't built a cross platform Metacello configuration for Seaside2.8, but I have built one for GLASS. If you load the latest version of the ConfigurationOfGsSeaside28 package from http://seaside.gemstone.com/ss/seaside you can see what a configuration would look like (a metacello config can be loaded since the config has not dependencies).
> 
> If this configuration had been built for more than GLASS, you'd execute the following expression to determine what version of Seaside2.8 is loaded:
> 
>   ConfigurationOfGsSeaside28 project currentVersion
> 
> Executing that expression would cause Metacello itself to be loaded (if it hadn't already been loaded).
> 
> The idea behind Metacello is that you'd use it to also load version 2.8.4 of Seaside2.8 into your image, by executing something like the following:
> 
>   (ConfigurationOfGsSeaside28 project version: '2.8.4') load
> 
> In the end the Metacello configuration is a map between a collection of Monticello packages and a specific version number, that map can be used to load a particular version of a project or to determine which version is (probably) installed. Metacello doesn't store state...
> 
> Does this help?
> 
> Dale
> 
> ----- "Andreas Raab" <andreas.raab at gmx.de> wrote:
> 
> | I have zero experience with Metacello (I know hardly more about it
> | then 
> | it's name) but let's try an example: Assume I'm downloading one of the
> | 
> | older 2.8 images, what do I need to do to have Metacello tell me "this
> | 
> | image has Seaside 2.8 installed"?
> | 
> | Cheers,
> |    - Andreas
> | 
> | Julian Fitzell wrote:
> | > Right... that could be a viable option...
> | > 
> | > On Tue, Nov 24, 2009 at 11:39 AM, Dale Henrichs
> | > <dale.henrichs at gemstone.com> wrote:
> | >> If you use Metacello, it has the ability to calculate the current
> | version of a project (a MetacelloVersionNumber) ... so
> | >>
> | >>  ConfigurationOfSeaside30 project currentVersion
> | >>
> | >> would do the trick:)
> | >>
> | >> Dale
> | >>
> | >> ----- "Julian Fitzell" <jfitzell at gmail.com> wrote:
> | >>
> | >> | We don't really have a solution to that at the moment. Obviously
> | the
> | >> | MC version for the Core package gives some indication but
> | clearly
> | >> | that's not really good enough.
> | >> |
> | >> | In Seaside 2.8, you can do "SeasidePlatformSupport
> | versionString",
> | >> | though it would probably be nice to have an array like {2. 8. 1}
> | or
> | >> | something... maybe a WAVersion object would be better than an
> | array
> | >> | since it could do comparisons and printing and so on. "WAVersion
> | >> | current" could return an appropriate instance. Part of me hates
> | >> | having
> | >> | to modify the code to specify the version number, but the
> | alternative
> | >> | is to have an install script do it, which is also kind of lame.
> | >> |
> | >> | Ok, enough rambling; clearly I, at least, am open to suggestions.
> | :)
> | >> |
> | >> | Julian
> | >> |
> | >> | On Tue, Nov 24, 2009 at 1:33 AM, Andreas Raab
> | <andreas.raab at gmx.de>
> | >> | wrote:
> | >> | > Hi -
> | >> | >
> | >> | > Curious: How does one detect an installed Seaside version?
> | I.e.,
> | >> | assuming
> | >> | > that one would want to detect that an image has Seaside loaded
> | >> | already, how
> | >> | > would one determine its version?
> | >> | >
> | >> | > Cheers,
> | >> | >  - Andreas
> | >> | > _______________________________________________
> | >> | > seaside-dev mailing list
> | >> | > seaside-dev at lists.squeakfoundation.org
> | >> | > http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
> | >> | >
> | >> | _______________________________________________
> | >> | seaside-dev mailing list
> | >> | seaside-dev at lists.squeakfoundation.org
> | >> | http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
> | >> _______________________________________________
> | >> seaside-dev mailing list
> | >> seaside-dev at lists.squeakfoundation.org
> | >> http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
> | >>
> | > _______________________________________________
> | > seaside-dev mailing list
> | > seaside-dev at lists.squeakfoundation.org
> | > http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev
> | >
> 


More information about the seaside-dev mailing list