[Seaside] VW Port

Avi Bryant avi at beta4.com
Mon May 12 11:55:15 CEST 2003


On Mon, 12 May 2003, Pennell, David wrote:

> Lots and lots of dependencies on Squeak core class extensions.  I started a
> Squeak-Compatibility package for these, but I need to move some of the
> Squeak compatibility code that has crept into my companies class library
> into this package before I can publish something.

It would be interesting to see how many of these are actual dependencies,
and how many could be solved in other ways - many of the Squeak classes
mentioned below, for example, could probably be gotten rid of:

> CharacterSet

This seems to only be used by the Wiki example, which (sorry goran) is
pretty messy code that probably wants to be rewritten anyway (actually,
I'm still waiting for news of the SmallWiki stuff from Bern... Lukas?).

> LimitedWriteStream

This is because of #printStringLimitedTo:, I assume.  What is the VW idiom
for this?  How to VW inspectors avoid showing long (or infinite)
printStrings?

> PackageInfo

This class only makes sense in a Squeak context - the one subclass
of it can just be ignored.

> UUID (I subclassed DST.NCSuuid, but that means that anybody that needs
> Seaside on VW will have to include one or more DST (CORBA) parcels).

It probably makes sense to introduce a Seaside-specific way of generating
IDs anyway, that can be used in both Squeak and VW.

> WeakSet (I did a very fast hack by subclassing VW's WeakDictionary)

Hm, odd that VW didn't have this already.

Anyway, just thinking out loud - but I would definitely like to make the
process of porting to VW smoother (or rather, of keeping the VW port up to
date).  The syntax issues are trivial - what I'll probably do is add a
Rosetta exporter to Monticello, which should then make it easy to produce
a .pst file or whatever.  It might also be a good idea to separate the
stuff that's obviously Squeak-specific (WABrowser, WAMemoryUse,
WAScreenshot, at least) into a separate package - for this to work I guess
the toolbar could be adapted so that tools are registered with it instead
of hard coded.

What else would be useful?



More information about the Seaside mailing list