Today is "I hate Dolphin 6" day...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Today is "I hate Dolphin 6" day...

talios@gmail.com
So I'm finally getting around to loading my packages into D6, I create
myself a fresh image, load in my package...

My package has a dependency on Steve Waring's Swazoo packages, which
then loads "SW Additions" and complains:

---------------------------
The package 'SW Additions' contains objects that are already installed
in the image.
---------------------------
The following objects in the package are already installed in the
image:

        ListModel>>refresh:, KernelLibrary>>getSystemTime:, TimeStamp
class>>currentUTC, SYSTEMTIME class>>nowUTC

If you proceed with installation the system will remove the clashing
items from their existing packages (if any).

This may change existing packages, and if you later uninstall this
package the clashing objects will be removed along with it.



Do you wish to continue with the installation?
---------------------------
Yes   No
---------------------------


For now, I just told it to continue, now I get an error saying:

ViewResource(Object)>>doesNotUnderstand:
ResourceIdentifier>>assignBinaryResourceData:
ViewResource(Resource)>>assignToResourceIdentifier:
ResourceIdentifier>>assign:
UndefinedObject>>{unbound}doIt
Compiler class>>evaluate:for:evaluationPools:logged:ifFail:
Compiler class>>evaluate:for:evaluationPools:logged:
Compiler class>>evaluate:for:logged:
[] in ChunkSourceFiler>>fileIn
ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry
[] in ExceptionHandler(ExceptionHandlerAbstract)>>try:
BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
ExceptionHandler(ExceptionHandlerAbstract)>>try:
BlockClosure>>on:do:
ChunkSourceFiler>>fileIn
Package>>loadPAC:
[] in Package>>loadPAC
BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
Package>>loadPAC
Package>>load
[] in StsPackageManager>>basicInstall:
BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
StsManager>>ignoreCompilerWhile:
StsPackageManager>>basicInstall:
[] in StsPackageManager(PackageManager)>>install:
BlockClosure>>ifCurtailed:
[] in StsPackageManager(PackageManager)>>install:
OrderedCollection>>do:
[] in StsPackageManager(PackageManager)>>install:
BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
StsPackageManager(PackageManager)>>install:
[] in PackageSelector>>openPackageFile:
ExceptionHandlerSet(ExceptionHandlerAbstract)>>markAndTry
[] in ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:
BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:
BlockClosure>>onDo:
BlockClosure>>on:do:on:do:on:do:on:do:on:do:on:do:
PackageSelector>>openPackageFile:
[] in PackageSelector>>openPackage
BlockClosure>>ifCurtailed:
BlockClosure>>ensure:
Cursor>>showWhile:
PackageSelector>>openPackage
Symbol>>forwardTo:




Is there a SIMPLE way to migrate an application to Dolphin 6?  Other
than getting errors and stack traces, and things that make me think I
wasted my money upgrading?


Reply | Threaded
Open this post in threaded view
|

Today is "I Love Dolphin 6" day...

Esteban A. Maringolo-3
[hidden email] escribió:
> So I'm finally getting around to loading my packages into D6, I create
> myself a fresh image, load in my package...
>
> My package has a dependency on Steve Waring's Swazoo packages, which
> then loads "SW Additions" and complains:

Which version of the Swazoo Packages are you using?

> Is there a SIMPLE way to migrate an application to Dolphin 6?  

Simpler than just importing old packages? Try to do that with other
technologies.
Have in mind that view resources are the tricky part of the upgrade.

 > Other than getting errors and stack traces,
 > and things that make me think I wasted my money upgrading?

Don't get that angry, today may be "I hate Dolphin 6" for you, but I'm
sure tomorrow will be "I love Dolphin 6" day.
In six month probably will be "I can't live without Dolphin 6" and in
two or three years "When will be D7 available?" ;-)

Best regards,

--
Esteban.


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I Love Dolphin 6" day...

talios@gmail.com
Well I was using the same Swazoo ones my daily builds have always run,
theres no version number against them thou :(

I managed to load packages that didn't include it, or have any forms,
but any package that included a resource/dialog, through up a stack
trace and died instantly.

"Simpler than just importing old packages? Try to do that with other
technologies."

Well I normally do with Java actually....

"Have in mind that view resources are the tricky part of the upgrade. "

So whats the trick?  Getting presented with a debugger isn't my concept
of "tricky", more like "broken".

"Don't get that angry, today may be "I hate Dolphin 6" for you, but I'm
sure tomorrow will be "I love Dolphin 6" day.
In six month probably will be "I can't live without Dolphin 6" and in
two or three years "When will be D7 available?" ;-) "

I dunno, after a year of Dolphin 5 I'm still sticking with "why the
hell did I decide on this route?  Oh yeh, I didn't want to use Delphi".

Still I persist....


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

Schwab,Wilhelm K
In reply to this post by talios@gmail.com
> Is there a SIMPLE way to migrate an application to Dolphin 6?  Other
> than getting errors and stack traces, and things that make me think I
> wasted my money upgrading?

My experience is that there is always a risk of conflict with a new
version, and there is always some house keeping to do in moving to a new
version - that seems perfectly reasonable to me.  IIRC, OA changed the
ListModel update methods a while back in a patch and then later reversed
the change because they felt it was improper to make a breaking change
in a patch.  Either way, it does not surprise me.

Generally, I make a backup of my outgoing version image, and then begin
test loading packages in the new version.  For problems such as you are
having, I generally "damage" the current/old image a little by
unpackaging and conflicting methods, resaving the packages, and then
rebuilding.  My Migrate goodie captures a lot of what I do, both in code
and (to a lesser extent<g>) documentation.  Feel free to use/adapt it in
any way that helps you.

I like to get the new image unlocked and make a backup of it too.  I
further set up a batch file to reset to the newly unlocked image so I
can go to the old image, tweak, save packages, copy to the new location,
reset the new image, and try the evolving load script.  Put another way,
work yourself into a lather, rinse, repeat :)

I generally do not immediately activate IDE extensions; I like to get
the new image to a stable point and get a backup of it before starting
to do things that might cause a meltdown, and extensions certainly have
that potential, unless they are very forgiving about errors (such as my
debugging sounds extension which traps/ignores all errors).

Good luck!

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

full ack

KlausK-2
In reply to this post by talios@gmail.com
I wasted days on porting my package.

D6 showed a high resistance against foreign code and doing something
different than 'standard' in views.

For my opinion, on such a version step, there should have been a bigger
fault tolerance.
Migrating 'old' packages should have been a main point in creating D6.

For my opinion, which came from my customers, the migration process should
NEVER stop!

Not even with a error message. The process should allways run to its end.
In case of a error the migration methods should know what to do with the
well known goodies. Other cases that lead into a error should start a
interactive process that gives the human a chance to make hints or helps
at that time. If nothing helps, the migration should put a dummy at this
point that accomplishes all requirements that the dummy must have (e.g.
missing methods).

These are high requirements, but that is what my customers would demand.

So enough complaining, there is no doubt, D6 is worth its money and
allways my first choice for developing!

Klaus


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

Chris Uppal-3
In reply to this post by talios@gmail.com
[hidden email] wrote:

> ViewResource(Object)>>doesNotUnderstand:

What's the message that is not understood ?


> Is there a SIMPLE way to migrate an application to Dolphin 6?  Other
> than getting errors and stack traces, and things that make me think I
> wasted my money upgrading?

The SIMPLE way is to wait for the author of the package to certify/update the
code to work smoothly with the new version of Dolphin.  Failing that you have
to do the port yourself.

The first message you got is normal, and is just Dolphin warning you that some
of the functionality that used to be provided by the third-party package is now
in the base system (and what what /else/ could it do in such situations ?).

The error, on the other hand, is unexpected (and almost certainly unrelated to
the earier warning) -- OA have changed the way that View Resources are stored,
and the change-over doesn't seem to be going as smoothly as it appeared in the
beta program.  Which is unfortunate, but...  In any case, it would probably
help if you posted enough information for diagnosis.

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I Love Dolphin 6" day...

TimM-3
In reply to this post by Esteban A. Maringolo-3
> Don't get that angry, today may be "I hate Dolphin 6" for you, but I'm
> sure tomorrow will be "I love Dolphin 6" day.
> In six month probably will be "I can't live without Dolphin 6" and in two
> or three years "When will be D7 available?" ;-)

Nice change of title...

I hope we can all make sure that Andy/Blair get a lot of credit for what
they have done - Smalltalk (as beautiful as it is) has been way too stagnant
compared to Java/C## - inferior langauges but beautiful tools.

So having a beautiful smalltalk that makes you feel productive even before
you write something significant is a real moral booster.
In fact D6 continues to blow me away, and every time I walk past some of my
colleagues doing Ruby and Python I show them the latest thing that I learned
in all of 30 minutes... and they cry, becuase we have the environment they
want.

So back to our poor friends problem... there will be some teething problems
upgrading, but the tools are there to help you. If they aren't - then lets
write them to make upgrading smoother.

To be honest - Java is not different - some of the projects I work with take
days/weeks trying to get different XML libraries working properly with XPath
tools. You upgrade to Saxon and then discover your web server has something
else built in, and the way the XPath implementation works its relying on
something else. While you don't get a walkback, you just start getting wrong
results - missing characters etc.

So we all feel your pain... but don't get mad... lots of people are around
to help you work out the problem. If we can quickly find all of these
issues, we can document them and make it easier for the next person.

Tim


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

Blair McGlashan-3
In reply to this post by talios@gmail.com
<[hidden email]> wrote in message
news:[hidden email]...
> So I'm finally getting around to loading my packages into D6, I create
> myself a fresh image, load in my package...
>
> ....
> Is there a SIMPLE way to migrate an application to Dolphin 6?  Other
> than getting errors and stack traces, and things that make me think I
> wasted my money upgrading?
>

Well you could either give a complete report of the error that occurred (a
copy of the walkback is not very helpful - it omits the actual message that
was not understood - the error log output is more complete), or you could
zip the whole lot up and send it to me and I'll help you out despite the
tone of your post.

Regards

Blair
(blair at object hyphen arts dot com)


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

talios@gmail.com
In reply to this post by Schwab,Wilhelm K
> My Migrate goodie captures a lot of what I do, both in code
> and (to a lesser extent<g>) documentation.  Feel free to use/adapt it in
> any way that helps you.

Bill, where would find this goodie of yours?

Cheers,
Mark


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

talios@gmail.com
In reply to this post by Blair McGlashan-3
Blair,

Sorry for the somewhat blunt tone of my post, it was the fustration
talking :(  I don't have a copy of the virtual machine with Dolphin on
it here to reproduce the problem so will have another crack at it in
the morning.

The first problem with the overriding methods I understand (due to OA
now including Steve's third party libraries), it was more having the
entire system fall out from under me with errors and recursive stack
problems the moment I loaded an older package.  Had I got a nicely
handled "error loading package" error I'd probably not reacted as much
(and yes, I understand unexpected problems are just that, unexpected
and unfortunately often ungracefull in there results).

Thinking I had done something wrong, or wasn't doing something quite
right, I tried looking in the manual/help file (which is great to see -
looks great! was something I sorely missed in 5.x) for information on
migrating images/packages from 5.x/earlier to the current release but
found nothing.

Not having anyone in this timezone who even knows what Dolphin is
doesn't help either (apart from the 2-3 Australians I'm aware of that
is) just increased my fustration :(

So, again I apologise for the somewhat harsh tone of my post.
Hopefully I can get things working under D6.

Mark


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

Andy Bower-3
In reply to this post by talios@gmail.com
Mark,

> My package has a dependency on Steve Waring's Swazoo packages, which
> then loads "SW Additions" and complains:

Well, frankly, this is really a problem with open source software IMO.
If you choose to make use of community-based software because it is
free then you have to expect to be reliant on the community to support
that software. As a minimum, this means you have to be prepared to do a
little searching and, more probably, you may need to become part of the
community and do some maintenance work yourself.

Anyway, as it happens if I do a Google search for "Swazoo Dolphin 6"
then the very first article that comes back actually contains a link to
a Dolphin 6 port of Swazoo. Now this may, or may not, fix the problem
you are having but it would be a good start if you want to avoid
porting stuff yourself.

When we first gave out the Dolphin 6 beta we actually included ported
versions of many of the freely available goodies (Ian Bartholomew's,
Swazoo etc) but it was decided during the beta that this was actually
rather inconvenient because new bits would need to replace old ones
rather often. Also, carrying a fully loaded image forwards into the
final release would be a large maintenance burden for us and would
result in a rather bloated image for the beginner.

Anyway the result of this was that (a) we know that porting the goodies
(Swazoo in this case) is not that hard and (b) we actually have a
working X6 Swazoo that we could make available (in fact it powers the
Object Arts website). You should probably try Sean Malloy's port first
using the Google search above (since that might be from a more recent
base) but if that isn't successful I will post our version up on
DolphinMap (www.dolphinmap.net).

--
Andy Bower
Dolphin Support
www.object-arts.com


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

talios@gmail.com
Just heading to bed but thought I'd quickly post, to be honest - if I
could get rid Swazoo I would.  From memory the only thing I used out of
it was a HTTP/URL class to read a stream from the 'net.  There didn't
seem to be anything in the standard classes to simply return the
contents of a URL.

I hadn't at the time looked for a newer version of Swazoo, which was
further away from my mind than the inability to load a package with
resources.

Does DolphinMap provide some funky version control repository of all
these third party libraries at all?  The last time I really looked in
here it was only in discussion.

Hopefully I'll hit this with a clearer head in the morning.


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

Ian Bartholomew-21
[hidden email] wrote:

> it was a HTTP/URL class to read a stream from the 'net.  There didn't
> seem to be anything in the standard classes to simply return the
> contents of a URL.

Hows about ...

iStream := [IStream onURL: 'http://whatever']
        on: Error
        do: [:error | String new readStream].
iStream contents asString

--
Ian

Use the Reply-To address to contact me.
Mail sent to the From address is ignored.


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I Love Dolphin 6" day...

Esteban A. Maringolo-3
In reply to this post by talios@gmail.com
[hidden email] escribió:
> Well I was using the same Swazoo ones my daily builds have always run,
> theres no version number against them thou :(

> I managed to load packages that didn't include it, or have any forms,
> but any package that included a resource/dialog, through up a stack
> trace and died instantly.

Aha, that is the expected behavior.
The Dolphin 5 swazoo packages will not load, unless you remove the
shell view of from the package.

It exists a D6 version Swazoo, which uses the Socket2 Package.

> "Simpler than just importing old packages? Try to do that with other
> technologies."
> Well I normally do with Java actually....

I don't know about java...

> "Have in mind that view resources are the tricky part of the upgrade. "
> So whats the trick?  Getting presented with a debugger isn't my concept
> of "tricky", more like "broken".

There is no officially guaranteed compatibility between D5 and D6,
particulary on view resources, which on D5 are binary filed, and on
D6 are literally filed, having high impact on the overall system.
Beyond that, the nuances are few.

> "Don't get that angry, today may be "I hate Dolphin 6" for you, but I'm
> sure tomorrow will be "I love Dolphin 6" day.
> In six month probably will be "I can't live without Dolphin 6" and in
> two or three years "When will be D7 available?" ;-) "

> I dunno, after a year of Dolphin 5 I'm still sticking with "why the
> hell did I decide on this route?  Oh yeh, I didn't want to use Delphi".

It took me one year to understand the "why" of using smalltalk.

Best regards,

--
Esteban.


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I Love Dolphin 6" day...

Andy Bower-3
Esteban,

> There is no officially guaranteed compatibility between D5 and D6,
> particulary on view resources, which on D5 are binary filed, and on
> D6 are literally filed, having high impact on the overall system.
> Beyond that, the nuances are few.

I think this paints a poor picture of the true situation. Whilst I
doubt that we do *guarantee* compatibility it has always been our
intention that packages should upgrade as smoothly as possible. Indeed,
in all the cases we tried we were able to upgrade views to the new
format without any problems. I'm sure there will be a few views that
turn out to be pigs to upgrade but this should not be the norm.

Best regards,

--
Andy Bower
Dolphin Support
www.object-arts.com


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

Steve Alan Waring
In reply to this post by talios@gmail.com
Hi,

My apologies for the problem.

As others have mentioned in this thread, there are newer ports of
swazoo floating around.

Going off on a bit of a tangent ... if I knew then what I know now, I
would not have released so many packages/goodies. Sorry, but I just
don't have the time, nor motivation, to support or upgrade packages
like this.

Echoing Andy's comments, this is a problem with open source software.
There are success stories, but there are far more neglected projects.
Personally I feel the Dolphin community would be better off with a
"paid goodie" culture than a "free goodie" culture.

At the least, a central repository of 3rd party packages, like
squeakmap, may have helped you to avoid this frustration. I am cheering
on dolphinmap, but personally I would like to see the repository run or
be endorsed by OA, and charge money for the service.

I would also like to invite anyone who wants to take ownership of any
of my open source packages to contact me. I would love to see them
cared for, and even better, sold as commercial goodies with support. If
someone was willing to do this, I would be happy to give you whatever
license etc you needed.

Steve
--
swaring at
ozemail dot com dot au


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

Blair McGlashan-3
In reply to this post by talios@gmail.com
<[hidden email]> wrote in message
news:[hidden email]...

> Blair,
>
> Sorry for the somewhat blunt tone of my post, it was the fustration
> talking :(  I don't have a copy of the virtual machine with Dolphin on
> it here to reproduce the problem so will have another crack at it in
> the morning.
>
> The first problem with the overriding methods I understand (due to OA
> now including Steve's third party libraries), it was more having the
> entire system fall out from under me with errors and recursive stack
> problems the moment I loaded an older package.  Had I got a nicely
> handled "error loading package" error I'd probably not reacted as much
> (and yes, I understand unexpected problems are just that, unexpected
> and unfortunately often ungracefull in there results).
>
> Thinking I had done something wrong, or wasn't doing something quite
> right, I tried looking in the manual/help file (which is great to see -
> looks great! was something I sorely missed in 5.x) for information on
> migrating images/packages from 5.x/earlier to the current release but
> found nothing.
>
> Not having anyone in this timezone who even knows what Dolphin is
> doesn't help either (apart from the 2-3 Australians I'm aware of that
> is) just increased my fustration :(
>
> So, again I apologise for the somewhat harsh tone of my post.
> Hopefully I can get things working under D6.
>

No problem. I can understand the frustration, that's why I want to help.

I think we've discovered the source of your problem anyway, if that is you
have the beta patch level 1 installed. You should find the upgrade will work
in an unpatched X6 release. The beta patch includes a modification to the
process to make it better upgrade old-style D5 blocks, but the patch is
unfortunately missing one of the methods it should have included.

Just in case it is not obvious, we would not recommend installing the beta
patch if you don't want to deal with any issues that it might introduce. Yes
it is fixing some problems in the X6 release, but at the same time it has
not yet had the level of testing that the original release enjoyed. Also
until the patch is finalised it is probably worth trying out things that
don't work in an unpatched image just to avoid wasting time on problems
caused by the beta patch.

The method you are missing is below, and you can file it in if you wish, but
personally I recommend you attempt to load your D5 packages into the X6
image as released. You'll still have to deal with breaking changes, but the
upgrade of view resources should be smooth unless you have used certain
3rd-party add-ons that subclass system views that have been substantially
altered in X6. If that is the case then it is well worthwhile following
Bill's advice and going back into D5 to create a modified package that you
can upgrade automatically.

Sorry for the inconvenience.

Regards

Blair
-----------------------
!Resource methodsFor!

loadWithContext: context forEdit: aBoolean
 ^accessor loadWithContext: context forEdit: aBoolean! !
!Resource categoriesFor: #loadWithContext:forEdit:!operations!public! !


Reply | Threaded
Open this post in threaded view
|

Re: Today is "I hate Dolphin 6" day...

talios@gmail.com
*takes deep breath and walks through slowly*

Using an image that DOESN'T have the patch applied....

I've let the Swazoo packages override and replace whatever (that can be
delt with once everything else seems to be fine I guess).

Ok, I'm hitting a problem loading a custom Menu subclass of mine which
introducd an instance variable:

2:55:25 p.m., Wednesday, 14 December 2005: 'assertion failure'
Signal>>signal
LookupMenu class(Object)>>assert:
LookupMenu class(Menu class)>>stbConvertToVersion3:
[] in LookupMenu class(Menu class)>>stbConvertFrom:
STBInFiler>>readObjectOfClass:format:
LookupMenu class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
Array class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
Menu class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
Array class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
STBViewProxy class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
BorderLayout class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
Array class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
STBViewProxy class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
Array class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
STBCollectionProxy class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
STBViewProxy class(ClassDescription)>>stbReadFrom:format:
STBInFiler>>readObjectOfClass:
STBInFiler>>basicNext
STBInFiler>>readObjectOfClass:format:
BorderLayout class(ClassDescription)>>stbReadFrom:format:

The assertion was:

  self assert: [anArray size = 5].

and looking the debugger anArray is:

#(nil true #() 'label.templates' #templates 'label.templates')



If I resume on all these, everything else seems to load fine (the
resources all seem to be loaded fine, apart from a problem with the
LookupMenus not loading my custom instance variable.


All in all, everything seems to be actually working.  Now to get the
automated builds working again, and with the IStream class Ian
mentioned above, I can kill the requirement on Swazoo (all I was using
was SptHTTPRequest).

I'm one step (well, more a hike) away from no longer disliking dolphin
6 ;-)