[Seaside] New structure for Seaside30, Magritte2, and Pier2 Metacello configurations

Philippe Marschall philippe.marschall at gmail.com
Mon Jun 28 04:43:46 UTC 2010

2010/6/27 Dale Henrichs <dhenrich at vmware.com>:
> I am looking for a little feedback on the changes that I have made to the
> latest configurations of Seaside30, Magritte2, and Pier2. I have new
> versions for each of these configurations queued up for release
> (#development blessing), but before releasing them I'd like to hear if the
> changes I've made will cause trouble for folks using Magritte2 and/or Pier2
> in their applications.
> In the past, when you referenced Seaside30 from a configuration, the entire
> Seaside3.0 release would be loaded, including development tools, examples,
> both adaptors (on Squeak/Pharo and GemStone)...basically the whole kitchen
> sink.
> With the 3.0.0-alpha5.15 release I've defined several groups for Seaside3.0
> (with feedback from the Seaside devs:): Base, Base Tests, Development and
> Development Tests. I will also add a One-click group to shdow the one-click
> release. Without going into too much detail, the Base group defines the set
> of packages that are needed for a production release, while the Development
> group defines the set of packages that are useful in development (on top of
> the Base).
> To see how these new groups work out, I have created new versions of the
> configurations for Magritte2 and Pier2 that reference the Base group (plus
> any other packages that were needed) instead of bringing in the entire
> Seaside3.0 release...This is the big change. After loading the Magritte2 or
> Pier2 configuration you will need to load from the Seaside30 configuration
> any and all packages that you may need for your own application.
> I haven't released the changes yet, but if you are curious or concerned you
> can try out the releases ahead of time ... depending upon feedback I may go
> with a different scheme.
> In a fresh image, you can see what will be loaded for production by
> executing one or more of the following expressions (note you need to get the
> latest version of each of the configs from the SqueakSource
> MetacelloRepository...oh and for best results use Metacello 1.0-beta.27.1):
>  (ConfigurationOfMagritte2 project version: '2.0.5') load.
>  (ConfigurationOfPier2 project version: '2.0.6') load.
>  (ConfigurationOfPierAddOns2 project version: '2.0.6') load.
> Once you've loaded one of these configs, there will be no development tools
> nor any adaptors so at a minimum you'll need to load one of the following
> depending upon which adaptor you want to use:
>  "All platforms"
>  (ConfigurationOfSeaside30 project version: '3.0.0-alpha5.15')
>    load: #('Seaside-Adaptors-Swazoo').
>  "Squeak and Pharo"
>  (ConfigurationOfSeaside30 project version: '3.0.0-alpha5.15')
>    load: #('Seaside-Adaptors-Comanche').
>  "GemStone"
>  (ConfigurationOfSeaside30 project version: '3.0.0-alpha5.15')
>    load: #('Seaside-Adaptors-FastCGI').
> If you want to load in the Seaside development environment then you would
> evaluate the following expression:
>  (ConfigurationOfSeaside30 project version: '3.0.0-alpha5.15')
>    load: #('Development').
> So at this point you can see the direction I'm going with this ... the
> Magritte2 and Pier2 configurations are currently aimed at loading the bare
> minimum needed for functionality from Seaside3.0 for Magritte2 and Pier2
> with the idea that you'd load the additional functionality that you want by
> dealing directly with Seaside30 configuration (like loading adaptors and
> development)...
> Pier2 already depends upon the following javascript packages:
>   'Javascript-Core' 'Prototype-Core' 'Scriptaculous-Core' 'JQuery-UI'
> but if you're currently using Magritte2 and javascript, then you'll need to
> explicitly load the javascript package(s) that you are using.
> There are other ways that the configs could be structured. This approach
> minimizes the coupling between the Seaside3.0 and Magritte2/Pier2
> configurations, which I think is a good thing.
> I've taken the bare minimum step: loading what is required... it would be
> reasonable to add 'Dev' groups to both Magritte2 and Pier2 that would bring
> in Seaside30 dev support on the other hand, I don't think it is reasonable
> to add support for loading the various Adaptors to Magritte2 and Pier2, so
> if you're going to have to deal with the Seaside30 config directly anyway
> why bother with adding dev groups ...
> Anyway this is what _I_ think and I am interested in what you folks think...

Very good, exactly the right way, thanks for the effort.


More information about the seaside mailing list