primSecondsClock must be modified to apply the bias (Time dateAndTimeNow and Time>totalSeconds in
the standard image).
Undo
Undo is implemented by creating undo objects holding receiver, message, and parameters. It is the responsibility
of the request (form) processing methods to build these objects. Only the (n) newest undo objects are kept,
furthermore they are purged during the night. Every user sees only her/his undos.
Implementation Notes
String constants
Some string constants are stored in the pool dictionary TextConstants.
TextConstants at: #HttpAuthorize
You may want to use a different realm.
WebRequest>getReply
Use the name of your local proxy server or eliminate the first line if you don't care.
WebRequest>noProxy
Write about your own proxy policy (if you have one, see WebRequest>getReply).
WebRequest>robots
Insert your robot policy.
WebRequest>title
Adjust the header to your local needs.
WebRequest>getReply
Adjust the page footer to your local needs.
Source code
Get WebServer.st and miscChanges.st and file them into a 1.21 image. Execute WebRequest serveOnPort: 8080
loggingTo: 'test.log'. Then load the URL http://your.server:8080/Server.demo in your favorite web
browser.
Notes on version 0.1.1:
The code has been tested by loading into a virgin 1.21 image on the Mac. Let me know whether it works on
other platforms.
The example implements a very simple class hierarchy browser, demonstrating forms and authentication.
Username/passwort for stopping the server is "manager"/"squeak".
Running both Squeak and the browser on the same machine gave halting performance on my Mac.
You might experience some freezes or crashes. Whether due to bugs in the socket primitives or misuse on
my side, I do not know.
Sometimes the server seemes to be deaf. Aborting and retrying the request at the browser side usually
corrects this.
Image roll forward and undo are not yet implemented.
Feel free to contact me if you have any comments or questions.
Georg Gollmann, Dept. Systems Support (IU), 19.8.1997
]]>