[Seaside-dev] ConfigurationOfSeaside30 3.0.0-alpha5.15 ready for a bit of review

Dale Henrichs dhenrich at vmware.com
Thu Jun 24 09:06:47 UTC 2010


Julian,

That's why I've got the #development blessing for Metacello ... it makes it real easy to flip the switch for production as the last step is to change only the blessing and commit:)

The #includes: directive in Metacello does not tightly bind the included packages together, since Metacello has to allow for dependencies that may _need_ to come between the two packages. I can look another look at the algorithm that calculates load order and see if I can tighten up the coupling ... with that said, I have yet to run into initialization issues so it may not actually make a difference. As I think about this, I don't think that there can be a problem here ... Unless I'm mistaken (with SqueakSource down, I can't look at my most recent ConfigurationOfSeaside30) the packages that come between the #included packages are neutral packages ... #includes: tries to ensure that all packages that depend upon Seaside-Environment get loaded after Seaside-Pharo-Environment ... it does not ensure that Seaside-Pharo-Environment is loaded immediately after Seaside-Environment ... I'll take a closer look to make sure that constraint is not violated.

I'll add the 'Development' group tomorrow with Slime and Seaside-Development...

I'm not sure I understand you comment on Flow being dependent upon the platform (unless you are implying that you want Flow to be part of the 'Base' group except on platforms that don't support Flow).

You are already loading Seaside-Examples for Welcome, it may make sense to create a Seaside-Flow-Examples (ignoring package naming problems) that contained a couple examples of Flow...then it wouldn't be necessary to include the Flow-test (and all of it's dependents) s just to get a Task example.

Dale
________________________________________
From: seaside-dev-bounces at lists.squeakfoundation.org [seaside-dev-bounces at lists.squeakfoundation.org] On Behalf Of Julian Fitzell [jfitzell at gmail.com]
Sent: Wednesday, June 23, 2010 5:39 PM
To: Seaside - developer list
Subject: Re: [Seaside-dev] ConfigurationOfSeaside30 3.0.0-alpha5.15 ready for   a bit of review

On Wed, Jun 23, 2010 at 1:02 PM, Dale Henrichs <dhenrich at vmware.com> wrote:
> I would like to release 3.0.0-alpha5.15 for the GLASS users relatively soon,
> but I thought I'd get some feedback on what's included before releasing
> it...

If you hold off briefly I'll get the bloody RC release done and you
can call the version that. :) Naughty me, I've already changed the
version in the code so it will be a bit confusing to have releases
described as alpha describing themselves as RC's (that was bad
planning on my part given the delay in releasing it).

> Looking at a load of the 'Base' group these are the packages that are
> loaded:
>
> linear load :
>        linear load : 3.0.0-alpha5.15 [ConfigurationOfSeaside30]
>                load : ConfigurationOfGrease
>        linear load : 3.0.0-alpha5.15 [ConfigurationOfSeaside30]
>                linear load : 1.0-alpha9.3 [ConfigurationOfGrease]
>                        load : Grease-Core-pmm.42
>                        load : Grease-Pharo-Core-pmm.23
>                load : Seaside-Core-pmm.648
>                load : Seaside-Pharo-Core-pmm.9
>                load : Seaside-Component-lr.82
>                load : Seaside-Canvas-pmm.95
>                load : Seaside-Session-jf.132
>                load : Seaside-RenderLoop-lr.72
>                load : Seaside-Tools-Core-lr.17
>                load : Seaside-Widgets-obi.18
>                load : Seaside-Environment-lr.69
>                load : Seaside-Pharo-Canvas-lr.3
>                load : Seaside-Pharo-Environment-lr.6
>
> this matches the list that Julian (or was it me?) proposed, so I think we
> are in good shape:)

Looks about right, though I wonder why Pharo-Canvas isn't loaded after
Canvas (I guess because nothing else actually depends on Canvas?).

> I have not added a 'Development' group, because I'm not sure what would need
> to be included beyond Seaside-Development (and it's dependents). If there
> another couple of packages that you would consider development packages
> (like including Slime?) then a 'Development' group would be called for.

I think Slime (at least on platforms where it works) is a good
candidate for inclusion. Maybe worth having "Development" there then
on all platforms, even if on some it only currently includes
Seaside-Development?

> As for other groups I can imagine a 'Flow' group would be useful if a
> package beyond Seaside-Flow (and it's dependents) would be required...

Would Flow not be just conditionally loaded in Base depending on the platform?

> Finally, when you load the Seaside-Welcome page using this expression:
>
>  (ConfigurationOfSeaside30 project version: '3.0.0-alpha5.15')
>    load: #('Base' 'Seaside-Adaptors-Comanche' 'Seaside-Welcome' ).
>
> quite a bit gets loaded, because of the inclusion of the Task example
> (WAFlowConvenienceFunctionalTest in Seaside-Tests-Flow)... here's the list
> of mcz files:

Welcome depends on Environment so I expect a lot to get loaded but the
fact that it pulls in a bunch of unit test packages, Development
tools, and possibly Flow is a bit unfortunate. Still, we kind of do
want to demonstrate Flow... suggestions? (btw, I have uncommitted
changes to the Welcome package - I'll try to get those pushed in now).

> linear load :
>        linear load : 3.0.0-alpha5.15 [ConfigurationOfSeaside30]
>                load : ConfigurationOfKomHttpServer
>        linear load : 3.0.0-alpha5.15 [ConfigurationOfSeaside30]
>                load : ConfigurationOfGrease
>        linear load : 3.0.0-alpha5.15 [ConfigurationOfSeaside30]
>                load : ConfigurationOfGrease
>        linear load : 3.0.0-alpha5.15 [ConfigurationOfSeaside30]
>                linear load : 1.0-alpha9.3 [ConfigurationOfGrease]
>                        load : Grease-Core-pmm.42
>                        load : Grease-Pharo-Core-pmm.23
>                linear load : 1.0-alpha9.3 [ConfigurationOfGrease]
>                        load : Grease-Tests-Core-DaleHenrichs.58
>                        load : Grease-Tests-Pharo-Core-jok.7
>                load : Seaside-Core-pmm.648
...
>                load : Seaside-Environment-lr.69
...
>                load : Seaside-Welcome-obi.12
...
>                load : Seaside-Pharo-Environment-lr.6
>                load : Seaside-Tests-Pharo-Functional-lr.12
>                load : Seaside-Pharo-Tools-Web-lr.21
>                load : Seaside-Pharo-Continuation-lr.5
>                load : Seaside-Tests-Pharo-Continuation-lr.7
>                load : Seaside-Pharo-Flow-lr.5
>                load : Seaside-Pharo-Development-lr.42
>                load : Seaside-Adaptors-Comanche-pmm.59
>
> Let me know if you'd like to see changes ... I can always release another
> version if you want to add groups or make other tweaks...

Why do all those Pharo packages get loaded at the end? My expectation
is that Pharo-Environment is loaded right after Environment, for
example. This could be important for initialization. I thought
Metacello's requires/includes distinction handled that?

Julian
_______________________________________________
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