[Seaside] Getting Started Recipe

Michael Roberts mike at mjr104.co.uk
Mon Jun 5 22:34:15 UTC 2006


Dan Shafer wrote:
> I was thinking along the lines of using the Counter example. The idea is 
> just to provide step-by-step instructions for starting to build a 
> Seaside-aware app in Squeak (what do you do first? what do you subclass? 
> what do you need installed?) through deployment on a typical server 
> configuration. The focus should be on setting up for and deploying an 
> app rather than on the "how do you code Seaside" kind of stuff (though 
> that probably comes next).

ah ok, no worries.

There are two parts to this.  The first is confirming that you have got 
Seaside working on your local machine.  The second is to write your own 
app.  For the first, use the counter example:

1. Start with a pre-loaded Seaside image, e.g. from www.seaside.st.
2. Point your browser at the counter example, e.g. 
localhost:9090/seaside/counter

If you see the counter then you can carry on.

3. Subclass WAComponent.

4. Implement the method renderContentOn: e.g.

renderContentOn: html
	html heading: 'Hello'

5. Implement canBeRoot on the class side

canBeRoot
	^true

6. Implement initialize on the class side
initialize
	"self initialize"
	self registerAsApplication: 'test'

7. Highlight the expression in the comment and do-it.

8. Point your web browser at /seaside/test and you should see 'hello'.

At this point you have your running Seaside app.  You have made a root 
component, initialized it and rendered something.  That's it really.

In terms of deploying Seaside on a server I would bow to the more 
experienced on this list.  A good starting point would be to run your 
image behind a web proxy, e.g Apache, to hide the port from your 
clients.  If you read the mailing list archives and tutorials you can 
use a rewrite rule or ProxyPass/ProxyReverse to set the proxing up. 
Apache isn't the only way of doing it but it's a good start if you 
already have Apache on your server host.

What's a typical server configuration?  I don't know.  Do you mean in 
terms of software or hardware?  I can't really comment on hardware but a 
stack of RAM is clearly going to help.  As for software then you need to 
install a VM and drop your seaside image on the box.  Use Monticello to 
manage your source code.  Take care of your images. etc.

There are many directions you can take for deployment but I'd 
concentrate on writing your app and having fun.

Cheers,

Mike


More information about the Seaside mailing list