SM on Squeak 3.2
Last updated at 12:02 pm UTC on 17 January 2006
If you are using Squeak 3.2, first load updates (Code updates), then follow the "Installing SqueakMap" directions below.
Installing SqueakMap in a 3.2.1 image
If you are not running 3.4 or later simply make sure you have an updated 3.2.1 image - load updates until you pass update 5105 - and evaluate this do-it in a workspace (paste it in, select it all, press alt-d):
ChangeSorter newChangesFromStream: (('http://map1.squeakfoundation.org/sm/packagebyname/squeakmap/downloadurl'
asUrl retrieveContents content) asUrl retrieveContents content unzipped readStream) named: 'SqueakMap'.
...or if that doesn't work, try the more advanced version at the bottom of this page.
If everything goes as expected, this will install the latest available SqueakMap and you will end up with a new window being opened, called "SM Package Loader". See Using the SqueakMap Package Loader for further information.
Advanced bootstrap script for Squeak 3.2.1
(for Squeak 3.2.1 only, in 3.4 and later versions this code is present in TheWorldMenu>>loadSqueakMap)
This script also looks through all known masters until one is found that is responding. If this one doesn't want to work either try replacing the line "addr := NetNameResolver etc..." with "addr := 1.". This will disable the DNS check and try without it. (If you are behind a proxy and no server is responding install Missing File (/squeak/uploads/SMbehindAProxy.cs) !)
| addr server |
server := #('map1.squeakfoundation.org' 'map2.squeakfoundation.org' 'map.squeak.org' 'map.bluefish.se' 'marvin.bluefish.se:8000')
detect: [:srv |
addr := NetNameResolver addressForName: (srv upTo: $:) timeout: 5.
addr notNil and: [
answer := HTTPSocket httpGet: ('http://', srv, '/sm/ping').
answer isString not and: [answer contents = 'pong']]]
ifNone: [self inform: 'Sorry, no SqueakMap master server responding.'].
server ifNotNil: ["Ok, found an SqueakMap server"
((('http://', server, '/sm/packagebyname/squeakmap/downloadurl')
asUrl retrieveContents content) asUrl retrieveContents content unzipped