My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
SeasideInPharo  
How to load Seaside into Pharo images
Updated Feb 16, 2011 by m...@mjr104.co.uk

Installing Seaside into Pharo images is described here for common cases.

Pharo Images

The manual installation instructions are copied below:

Gofer new
    squeaksource: 'MetacelloRepository';
    package: 'ConfigurationOfSeaside30';
    load.
(Smalltalk at: #ConfigurationOfSeaside30) load.

Pharo Core Images

Installation in Pharo Core Images requires a bit more work. You can use the Metacello API to load exactly what you need. The following help contributed by Dale:

Work on Seaside 3.0.4 is in progress which will correctly load into Pharo1.2, but you should be aware that there a number of test failures will remain and that (speaking unofficialy), Seaside3.0 isn't yet supported on Pharo1.2.

The following load expression will load the 'default' group for a project:

(ConfigurationOfSeaside30 project version: '3.0.3') load.

By default the 'default' group is all of the packages and project references defined in a configuration. A developer may explicitly define the packages/project refs that are included in the 'default' group. A developer may also define groups that are specific to the project. A common group name is 'Core'. The 'Core' group typically defines the basic unit that the developers expect you to load.

To find out which groups are defined in a project, you can execute the following expression:

 (ConfigurationOfSeaside30 project version: '3.0.3') groups
    collect: [:each | each name ]

You can name a group in a load expression along with package names. Here are the list of groups for Seaside 3.0:

- 'Base' - 'Base Tests' - 'Development' - 'Development Tests' - 'Core' - 'Tests' - 'OneClick'

You will note that there aren't a lot of options for partitioning a Seaside3.0 load:

- 'Base' is the absolute minimum set of packages that should be
loaded to get expected Seaside3.0 functionality
- 'Development' adds in the Seaside30 development tools. It should be
noted that it is recommended that the Seaside30 development tools be loaded in a production image, because the tools are considered essential
- 'Core' includes "optional" packages like javascript support,
adaptors, etc.
- 'OneClick' is the subset of 'Core' that is shipped in the one-click
image

It is recommended that you load the 'Core' group, if you want to exclude the tests and load the 'default' group (i.e., everything) if you want to include the tests.

Here's the list of packages in the 'Core' group:

- 'Comet-Core' 'Seaside-Examples' 'Scriptaculous-Core'
'Seaside-Tools-Core' 'Seaside-Tools-OmniBrowser' 'Seaside-HTML5' 'Seaside-Environment' 'Seaside-Core' 'Seaside-Adaptors-Swazoo' 'Seaside-Widgets' 'Seaside-Flow' 'Seaside-InternetExplorer' 'Javascript-Core' 'JQuery-UI' 'Seaside-Adaptors-Comanche' 'Seaside-Development' 'Seaside-Component' 'Seaside-Canvas' 'RSS-Examples' 'RSS-Core' 'Scriptaculous-Components' 'JQuery-Core' 'Seaside-FileSystem' 'Seaside-Session' 'Seaside-Email' 'Seaside-Tools-Web' 'Comet-Examples' 'Seaside-RenderLoop' 'Seaside-Welcome' 'Prototype-Core' 'Seaside-Swazoo' 'Seaside-Slime'

You must choose at least one adaptor (from the 'Core; group), so in theory the absolute minimum loadable unit for Seaside30 would be:

 (ConfigurationOfSeaside30 project version: '3.0.3')
   load: #('Base' 'Seaside-Adaptors-Comanche').

Note that there are no pre-defined components registered in this case, so even if you manually start WAKom:

WAKom startOn: 8080

the only page you can hit is the files page:

http://localhost:8080/files

You could load the example packages:

 (ConfigurationOfSeaside30 project version: '3.0.3')
   load: #('Seaside-Examples').

to have a few more pages to hit:

 http://localhost:8080/examples/examplebrowser

but without the familiar development tools you might not have an enjoyable experience. You can add in the development tools with the following expression:

 (ConfigurationOfSeaside30 project version: '3.0.3')
   load: #('Development').

Only then will you see the familiar Dispatcher page when you hit:

 http://localhost:8080/

At this point in time, the only things that you won't have loaded (because of package dependencies) are:

- Comet - Swazoo - RSS support - javascript support - HTML5 support - EMail - Welcome page

To add the remaining pieces you'd now have to list the individual packages ...


Sign in to add a comment
Powered by Google Project Hosting