Enhancement to www-based code updating

Ted K. tedk at wdi.disney.com
Sat May 23 16:34:13 UTC 1998


Folks,
	I believe that we can already do the "updating by package"  that Stephen Pope is suggesting.  No change to the current Update mechanism is needed.
	Stephen is proposing that various special applications, like a music synthesizer, have their own set of updates.  Users could fetch these updates independently of updating the main system.  The first update in the list might be the whole application itself, and this is how the user gets it initially.  Furthermore, the updates for a special application should be on a server controlled by the author, so that he can release new updates without needing to talk the the Squeak team.

	Here is how to do it.  Rather than define a new name for a set of application updates, just have a separate 'server' for them.  If there is more than one group of servers registered in Squeak, then choosing "update from server" presents you with a list of them.  If one group is named "Siren", then choosing it will get updates that only have to do with the Siren application.  The author of a package has to:

(1) Get accounts on one or more servers.  Each account should have password protected FTP access, and also public HTTP access.  (Ask Ted Kaehler for a detailed message on how to administer an update server.)
(2) Put a bunch of update files on it, the first being he main fileIn for the application.
(3)  Send the Squeak team a short fileIn that defines a new "group" of servers named for the application.  This will go out to all users on "Squeak Public Updates".
	After a Squeak user gets updates, he will have the new group of servers listed in his updates menu.  If he chooses that item, in it will come with all of its updates.  Later he can choose that item again and get just the new updates for the application.
	
Updates are parameterized by system version ('Squeak2.0' now).  A single update can be released to any combination of old or new versions.  If you are still using an old version of Squeak, you will get only those updates intended for that version of the system.  Updates for a particular application package will also be downloaded according to system version.

A "group" of servers each have identical folders of update files.  If one server in the group is down, Squeak will ask for updates from another one.  An author who has his own application updates, can put them on multiple servers for reliability.

A "server" does not need to be a separate machine.  One machine can be listed as a server for several different applications.  Each one just has to have a different path to a separate folder called 'updates'.

(As you may have guessed, updates can also be dangerous.  Anyone who hacks his way into an update folder on a server could post code that could crash the user's Squeak, or read his hard disk.   Likewise, if you post an update, be sure to test it well first.  Most bugs in updates can be corrected with another update immediately after it.  Only updates that wreck the update mechanism are hard to fix.  We've had a few of those accidents, but have recovered quickly by emailing a fileOut.)

--Ted.


Ted Kaehler,   Walt Disney Imagineering, R&D
(home) 3415 Cork Oak Way, Palo Alto, CA  94303.  voice (650) 424-1070
http://www.webPage.com/~kaehler2/
Give me your old Macintosh!   I will put it in a first grade classroom.





More information about the Squeak-dev mailing list