[Seaside][VW] Portability

Michel Bany m.bany at wanadoo.fr
Sat Nov 19 10:14:34 CET 2005


Hello Seaside contributors,

I am currently working on porting Seaside-2.6a1 to VW. This branch has 
been in pause mode
for quite some time, so I am assuming that I may resume it for a port to VW.

In the past, Avi was the main contributor of Seaside, and he has always 
very been and still is
careful and concerned regarding the portability of Seaside to VW, all of 
his work was done
with portability in mind. Today there are very many different 
contributors, and for many of
them portability is not a concern.

As a result, porting the 2.6a1 branch is a bit more difficult and the 
risk for me to introduce
regressions during the port is higher.

I would like to ask all contributors to be concerned with portability, 
especially since Esteban
is doing the Dolphin port.

Here are a few things to be careful about when you contribute :

1) Object>>asString

VW does not have that method. I doubt it will ever have it. If we add it 
to VW, it creates
weird errors in the Exception framework.
Starting with 2.6, Avi and I have negotiated that we should use 
#displayString instead. This
method has been added to Seaside by Avi and is supplied by Object in VW.
So please use #displayString rather than #asString when you need to 
display a String
representation of an object.

2) at:ifAbsentPut:

In VW the second argument of this method is expected to be a block. In 
Squeak, Object
implements #value, so it is possible to use any argument rather than a 
block. In VW, Object
does not have the #value method.
So please make sure that you supply a block when using this method.

3) SeasidePlatformSupport

This class is there to implement the platform specific behavior. For 
instance
base64Decode:
smtpServer
isProxy:
etc.
Please implement platform specific behavior in this class. If you do not 
known exactly if
something is platform specific, just ask the mailing list.
Recent examples :
addToStartupList: (Smalltalk addToStartUpList: self)
signal: (WAValidationNotification new signal: message)

Esteban,
You may want to add to this.

Thanks in advance to all Seaside contributors.
Enjoy,
Michel.








More information about the Seaside mailing list