[Seaside-dev] question on value of startup and shutdown lists
being required
Dale Henrichs
dale.henrichs at gemstone.com
Sun Mar 23 18:54:01 UTC 2008
Philippe Marschall wrote:
> One thing to keep in mind is package loading and package
> initialzation. Right now is looks like this:
> - provide Continuation
> - provide SeasidePlatformSupport
> - "normally" load Seaside-Core where "normally" means at the end
> happends class initialization
>
> The way I interpret 3 between loading the code and #initalize-ing the
> classes some other code has to be loaded in this case WAExternalId
> class >> #registerForStartup.
>
> Cheers
> Philippe
>
In my earlier attempt at 3, #startup and #registerForStartup need to be
platform specific methods. I can make startup platform independent (with
a platform-specific extension method to Random), but I'm stuck with
#registerForStartup as a problem - it would be nice if there were a post
Seaside-Core platform-specific package.
Perhaps we can create a Seaside-Squeak-Extensions (and
Seaside-GemStone-Extensions) package for the handful of extensions that
are currently needed (including the squeak-specific 'cyclic dependency'
extensions).
This approach would certainly solve the registerForStartup problem right
now. I assume that as I move forward with my port, I will find other
places where a post core load will be useful. There already is a
platform-specific package for development extensions, so I assume the
we'll end up with platform-specific core extensions in more areas.
You know, if we use a platform-specific extensions package, we can
eliminate SeasidePlatformSupport - I don't know if that would be a good
or bad thing. It is convenient to manage things in one spot, but given
a thorough test suite (which is already in place for most if not all of
the base class extensions) it isn't necessary....95% of the references
to SeasidePlatformSupprt messages are from a single method or a single
class.
If we do eliminate SeasidePlatformSupport, then the platform Core
package (except for Continuations) can be loaded after Seaside Core.
What do you think?
Dale
More information about the seaside-dev
mailing list