Make your own Update server #3
Last updated at 7:49 am UTC on 18 January 2007
A running Squeak can be upgraded by downloading changes from the net. This is called updating, and is described at the bottom of Downloading Squeak.
Any work group can make its own server for its own set of local updates. Here is what to do to make your own Update Server for Squeak code updates. (I know this is very over-explained, but it is a little tricky.)
You need a server that is both an HTTP server and an FTP server. When retrieving an update, we use HTTP, and storing an update uses FTP. The system is set up to use two or more servers holding the same set of updates for redundancy, but you don't have to. One server will work.
Create a directory called 'updates' on the server.
Create a text file called 'updates.list' in the Updates folder (see below for an explanation of the structure of this file. But you don't have to know it). Put this one line in the file:
(this will change with the current version of Squeak)
Write down these things about reaching your specific server via FTP (or Fetch). You will write down the corresponding info for your server:
name of server (squeak.cs.uiuc.edu for example)
path to the updates folder (public_html/Squeak2.0/updates)
account name (Smith)
Write down the URL to your updates directory, when using a web browser:
Now write that without the 'updates/':
Put the following code in a file and file it in on each client machine. Fill in the things you wrote down above (fill in six places in this code):
| aa gg |
aa _ ServerDirectory new.
aa server: 'name of server'; directory: 'path to the updates folder';
user: 'account name'; password: nil.
Smalltalk at: #UpdatesAtMySite put: aa.
gg _ Association key: 'My own Update Server'
value: (Array with: aa).
aa group: gg.
Utilities updateUrlLists add: #('My own Update Server'
('the URL to the updates directory without the "updates/" ')).
Now you are ready. Open a Transcript window.
To put out an update: Create a fileOut file. Cut its name down to just have one period in it (take out the date part). Look at your file in the Squeak file list window. Choose 'broadcast as update'. It will ask you questions, and ask for the server's password.
On the client machines, choose "Update code from Server" from the Do menu. Update as often as you want. It will tell you how many new files were loaded.
Whenever you get a new version of Squeak, you will have to put its version name on a line in the file. Look at the result of (EToySystem version). Put a line in the 'updates.list' file with # and the name of the version like this:
Here are the rules for the file 'updates.list'. You do not have to know this. The broadcast code does all of this, except the line telling the name of a new version.
* Do not use %, /, *, space, or more than one period in the name of an update file.The update name does not need to have any relation to the version name.
- To add a new update: Name it starting with a new three-digit code.
- Figure out which versions of the system the update makes sense for. Add the name of the file to each version's category below.
- Put this file and the update file on all of the servers. (Automatic updatingfrom the FileList window will do this for you.)
- To supply updates to a new version of Squeak, find out its version name.
- Put # and the name on the last line of the file. Put this file back on the server.
- Example things in the file: