[Seaside] 2.5b3 for VW is ready

Bany, Michel mbany at cincom.com
Mon Sep 13 15:07:59 CEST 2004


> Just for curiosity, how do you do move the code from squeak 
> to vw? Using rosetta or similar tool?

I am using a Squeak tool from Avi Bryant named 'PackageInfo'
available from SqueakMap plus some extensions named 'PackageInfo-Exporters'
also from Avi Bryant that I got his web site
http://www.beta4.com/mc/PackageInfo-Exporters-avi.4.mcz
I am not sure that I am using the latest versions of this packages,
but for now it works fine.

Having these two bits loaded in Squeak 3.7, I also load the
Seaside package that I want to port (taken from
http://www.beta4.com/mc/seaside/)
Then I evaluate this in a Squeak workspace
	
	SeasideVWInfo fileOutVW5.

This create a file named 'SeasideVW5.st' that can be filed-in into VW.

However before filing-in the 'SeasideVW5.st' file, VW needs to be prepared
so that it looks like Squeak to Seaside. This preparation of VW is done
by the bundle named 'Seaside-VW' available in the public Store repository.
The 'Seaside-VW' bundle contains many Squeak classes/methods that are not
available in VW and also includes the complete Squeak-Chronology subsystem
that I also ported to VW using the PackageInfo-Exporters.
The 'Seaside-VW' bundle also includes the SeasidePlatformSupport class
that is designed to supply platform specifics to Seaside.
I added to this class some tools (category port) to automate/document
the port process and some other (category deploy) to automate the 
creation of the Seaside VW parcels for the Cincom distribution CD.

Once VW is prepared with 'Seaside-VW', I file-in the 'SeasideVW5.st' file
into VW. This creates a bundle named 'Seaside' made of many packages named
'Seaside-something' (these names are controlled by the contents of the
file).
Sometimes I needed to re-order the packages in the bundle. Then I update
method #portSource on the class side of SeasidePlatformSupport to precisely
document the origin of the port.

The last step consists in hooking Seaside to the web server environment. For
this
I have two bundles : Seaside-WebToolkit and Seaside-Swazoo. Both are stored
in
the public repository. These two bundles contain typically three types of
software : (1) the glue between Seaside and the web server, (2) patches to
Seaside
that did not yet make it into Avi's packages and (3) patches to the web
server stuff.

Finally, I publish four bundles to the public repository :
	- Seaside-VW		(this bundle prepares VW and makes it look
like Squeak)
	- Seaside			(this bundle contains the original
Seaside code, untouched)
	- Seaside-WebToolkit 	(this contains the hooks to WebToolkit and
patches)
	- Seaside-Swazoo 		(this contains the hooks to Swazoo
and patches)
All with a common version number, for instance 2.5b3.6.0, derived from the
original Seaside file name, for instance Seaside2.5b3-avi.6.mcz
The correct sequence for loading these bundles is
	1. Seaside-VW 
	2. Seaside
	3. Seaside-WebToolkit (or Seaside-Swazoo, or both)
making sure you load bundles that have a similar version number.

To make things simpler (or is it more complicated ?) I also created recently
two new bundles SeasideForWebToolkit and SeasideForSwazoo. These bundles
simply execute a script that load the correct bundles in the correct order
with just one click.

HTH,
Michel.






-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20040913/42774ff6/attachment.htm


More information about the Seaside mailing list