Dynamic Web Development with Seaside


To deploy an application on a public server, Seaside-Hosting (http://www.seasidehosting.st) is undoubtedly the easiest way to get started. Seaside-Hosting is a free hosting service for Seaside applications sponsored by netstyle.ch GmbH and ESUG. The highest-profile example of a website running on Seaside-Hosting is www.seaside.st itself. Furthermore the portal and management application of Seaside-Hosting is hosted in itself.

Seaside-Hosting Portal

Before getting started you need to be aware of some key conditions that apply when using Seaside-Hosting:

  • Seaside-Hosting is for non-commercial applications only. If you plan to make money with your application, you need to look somewhere else.
  • Seaside-Hosting only provides hosting for Seaside applications that are developed in Pharo.
  • Seaside-Hosting does not provide access to any external databases or to the underlying operating system. Many sites are hosted on the same machine and therefore there are some restrictions to avoid people harming the servers and other hosted applications.

The advantage, on the other hand, is that you can put your application online within minutes. There is no need for you to worry about the server, about installing a web server, about serving static files or about getting a domain name. You upload the application and you are online instantly. For up-to-date information on Seaside-Hosting, please check out the FAQ on the web-site.

Get an account. To get started with Seaside-Hosting register for a free account. In the process you will be able to choose a domain name of the form yourname.seasidehosting.st, where you can choose yourname freely. Click on the link in the confirmation mail to validate your e-mail address.

Upload an image. Next, upload your required image and changes files through the web interface or use FTP as described in the Filesystem section of the portal. When using the file upload through the web, you are also able to upload a zip archive of your files and automatically decompress them on the server.

If you have static files to serve, such as style sheets, javascript files, images or other resources that are not part of the uploaded image, you can put these into the folder /resources. Make sure to set the setting Resource Base Path to http://yourname.seasidehosting.st/resources so that you can easily refer to these files from within your application.

Starting your application. To start your application go to Status, select the image you uploaded, choose the server adapter and click on Start. This will launch a new Squeak VM on the server running your image. Your application should now be reachable from the world wide web. Point your browser to http://yourname.seasidehosting.st/<your_appname> to test the application. Note that even if you started a server on a different port in your image (for example port 8080), Seaside-Hosting conveniently serves your application on the default port. So when browsing your application there is no need to type a port number.

Configure Path. As a last step you might want to make your application be served from the root of your domain-name, so that people only have to type http://yourname.seasidehosting.st/. In the Seaside configuration interface select your preferred application as default entry point. Then go to the configuration of this application and change the base-path to /. The application is now reachable without typing a path.

Getting your own domain. It is possible to use your own top level domain name on Seaside-Hosting. Go to Status and select Server Alias from the toolbar. You’ll be asked for the new domain name and then instructions are given on how to update the DNS entry to point to Seaside-Hosting. This can be done through the registrar of the domain name. The Seaside application is now reachable through seasidehosting.st and your own personal domain.

An annoyance of Seaside-Hosting is that whenever you want to update your web-application you need to upload an image. This is especially an issue if you have a slow internet connection and your images are relatively big. To avoid this issue you might want to look at the class WAVersionUploader that is normally installed at /tools/versionuploader. It is a simple web interface to the Monticello versioning system and allows one to remotely update and load packages into a running image. Try it out locally first, to see if it suits your needs. Again, make sure to password protect the application, if you plan to use it in a public deployment.

Copyright © 18 April 2024 Stéphane Ducasse, Lukas Renggli, C. David Shaffer, Rick Zaccone
This book is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 license.

This book is published using Seaside, Magritte and the Pier book publishing engine.