|
Seaside30Configuration
Seaside 3.0 GLASS Support
Seaside 3.0Seaside3.0 on GLASS requires Gemstone/S 64 2.4.4.1 which is available on the GLASS downloads page. For info on setting up web servers (lighttpd, apache, or nginx) or using Hyper and FastCGI, see the Seaside page. It is possible to load all of the Seaside 3.0 packages into GLASS using the following expression: MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [
ConfigurationOfMetacello project updateProject.
ConfigurationOfMetacello loadLatestVersion.
Gofer project load: 'Seaside30'.
].Beginning with Seaside 3.0.0-alpha5.15 groups have been defined to make it possible to easily load bits and pieces and more importantly the configurations for the Magritte2 and Pier2 projects have been changed so that they take advantage of the new organization, so it is worth reading through the following section to get a feel for the changes and new possibilities. Base groupThe base group for Seaside 3.0.0-alpha5.15 includes the following packages:
LoadingTo load the Seaside 3.0 'Base' group into GLASS, evaluate the following expression: Gofer project load: 'Seaside30' group: 'Base'. At this point in time there are no applications registered and there are no web server adaptors loaded. The 'Base' group does form a nice dependency for a Seaside application. Magritte2 and Pier2Magritte2 and Pier2 are two Seaside applications that are built on top of Seaside 3.0. When you load Magritte2 or Pier2 into GLASS, only the 'Base' Seaside3.0 group is loaded so you will need to load a web adaptor at a minimum. LoadingTo load the Seaside3.0 support for Magritte2 into GLASS, evaluate the following expression: MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [ ConfigurationOfMetacello project updateProject. ConfigurationOfMetacello loadLatestVersion. Gofer project load: 'Magritte2' group: 'Magritte-Seaside'. ]. As part of the Magritte-Seaside target, a Magritte example application is registered. To load the Pier2 into GLASS, evaluate the following expression: MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [ ConfigurationOfMetacello project updateProject. ConfigurationOfMetacello loadLatestVersion. Gofer project load: 'Pier2'. Gofer project load: 'PierAddOns2'. PRDistribution new register. "create and register the Pier Seaside3.0 application" ]. The PierAddOns2 project includes the Pier-Setup mcz package simplifies the creation of a new Pier instance (defining PRDistribution). Server AdaptorsNow is the time to think about which adaptor you will use to server your web pages. For GLASS you can choose the Swazoo Adaptor or the FastCGI Adaptor. To install evaluate one of the following expressions: MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [
ConfigurationOfMetacello project updateProject.
ConfigurationOfMetacello loadLatestVersion.
Gofer project load: 'Seaside30' group: 'Seaside-Adaptors-FastCGI'.
Gofer project load: 'Seaside30' group: 'Seaside-Adaptors-Swazoo'.
Gofer project load: 'Seaside30' group: #('Seaside-Adaptors-FastCGI' 'Seaside-Adaptors-Swazoo').
].While we're talk about adaptors don't forget to take a look at: Development groupThe development group for Seaside 3.0.0-alpha5.15 includes the following targets:
MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [ ConfigurationOfMetacello project updateProject. ConfigurationOfMetacello loadLatestVersion. Gofer project load: 'Seaside30' group: 'Development'. ]. Note: if you intend to load the 'Development' group, there is no need load the 'Base' group separately. Loading Additional Seaside 3.0 packagesThe remaining Seaside 3.0.0-alpha5.15 packages can be loaded independently into GLASS if desired:
MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [ ConfigurationOfMetacello project updateProject. ConfigurationOfMetacello loadLatestVersion. Gofer project load: 'Seaside30' group: 'RSS-Core'. Gofer project load: 'Seaside30' group: 'RSS-Examples'. Gofer project load: 'Seaside30' group: 'Javascript-Core'. Gofer project load: 'Seaside30' group: 'JQuery-Core'. Gofer project load: 'Seaside30' group: 'JQuery-UI'. Gofer project load: 'Seaside30' group: 'Prototype-Core'. Gofer project load: 'Seaside30' group: 'Scriptaculous-Core'. Gofer project load: 'Seaside30' group: 'Scriptaculous-Components'. Gofer project load: 'Seaside30' group: 'Seaside-Email'. Gofer project load: 'Seaside30' group: 'Seaside-Examples'. Gofer project load: 'Seaside30' group: 'Seaside-HTML5'. Gofer project load: 'Seaside30' group: 'Seaside-InternetExplorer'. Gofer project load: 'Seaside30' group: 'Seaside-Tools-OmniBrowser'. Gofer project load: 'Seaside30' group: 'Seaside-Tools-Web'. Gofer project load: 'Seaside30' group: 'Seaside-Welcome'. ]. If you are installing more than one package you may combine the package names into a single expression like the following: MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [
ConfigurationOfMetacello project updateProject.
ConfigurationOfMetacello loadLatestVersion.
Gofer project
load: 'Seaside30'
group: #('RSS-Core' 'Prototype-Core' 'Seaside-Tools-OmniBrowser').
].Load Pier, Magritte, and Seaside Avoiding Out of Memory ConditionsIf you'd like to install Seaside3.0, Pier and Magritte, the following expression should be used:
| autoCommit|
autoCommit := MCPlatformSupport autoCommit.
MCPlatformSupport autoCommit: true. "needed if loading from Topaz"
MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [[
ConfigurationOfMetacello project updateProject.
ConfigurationOfMetacello loadLatestVersion.
Gofer project load: 'Seaside30'group: #( 'ALL').
Gofer project load: 'Pier2' group: 'ALL'.
Gofer project load: 'PierAddOns2' group: 'ALL'.
]
on: Warning
do: [:ex |
Transcript cr; show: ex description.
ex resume ]].
MCPlatformSupport autoCommit: autoCommit.Note the use of MCPlatformSupport commitOnAlmostOutOfMemoryDuring: that avoids most out-f-memory situations. | |