Since the 1.0-beta.0 bootstrapping post I’ve released a handful of minor beta versions. 1.0-beta.4 release is targeted at providing an early alpha release of Seaside 3.0 for GLASS. If you are interested in dancing on the absolute bleeding edge of Seaside 3.0.0-alpha5.1 in GLASS, let me know (join the GLASS Beta Mailing list) and I’ll provide you with installation instructions. BTW, those of you who have already expressed interest will be hearing from me tomorrow:)

Seaside 3.0.0-alpha5.1

The 1.0-beta.4 release, marks the point at which the initial phase of the Seaside 3.0 port is complete. All of the unit tests for Seaside 3.0.0-alpha5.1 are passing and most of the functional tests are passing. The remaining functional test problems are not GemStone-specific (Seaside 3.0 is still in alpha:).

At this moment, the GemStone-specific remote debugger, object log tool and profiler have not been ported to Seaside 3.0. I have written an adaptor for FastCGI and the adaptor does a commit per request, but I have not tried running Seaside 3.0 against multiple gems and there are no start* scripts.

There is a Seaside 3.0 workspace that has an expression for starting the FastCGI adaptor (blocking) and an expression for installing breakpoints in useful spots (internal error methods).

If you’re going to work with Seaside 3.0.0-alpha5.1, then you should review this section and this section. It isn’t necessary to manually kill the FastCGI listener every time you restart the server, but if you have trouble starting the server, then it’s worth looking for and killing off any spare FastCGI threads that my be lurking around.

Seaside 3.0.0-alpha5.1 is not yet usable with GemStone/S 2.3. While I have split out the packages (using Metacello) that rely on partial continuations, there are a couple of other issues that cause problems in 2.3.

The early alpha will be based upon GemStone/S 2.4.

Release Features

GLASS 1.0-beta.1 features:

  • fix a bug in ExceptionA class>>raiseSignal
  • need a commit in server update code
  • tweak PRDistribution class>>workspaceText with GLASS info

GLASS 1.0-beta.2 features:

  • pick up improved #currentVersion algorithm from Metacello 1.0-beta.13
  • fix update server logic to use #lastMetacelloVersionLoad
  • add in Seaside 3.0.0-alpha5

GLASS 1.0-beta.3 features:

  • Seaside 3.0.0-alpha5.1 (2.4 only)
  • add #clickIconAt: support [OB]
  • fix an XMLTokenizer bug [Misc/XML-Parser]
  • add #should:raise:withExceptionDo: to TestCase [Core/Bootstrap]
  • eliminate use of #_class for 3.0 compatibility [Core/GemStone-Indexing-Extensions]

GLASS 1.0-beta.4 features:

  • fix a ChangeList>>parseSelector: bug (from Hernan Wilkinson) [Monticello/Monticello]
  • fix for a problem when HyURI has a space or quote in the URL [Hyper/Hyper]
  • use version 1.0-beta.16 of Metacello
  • pick up Gofer package from Metacello repository

Bootstrapping Instructions

See the discussion on the 1.0-beta Configuration Structure, so you can decide which packages/groups you would like to load after bootstrapping 1.0-beta.4.

Please comment to this post or send mail to the GLASS Beta Mailing List if you have trouble. The bootstrap should work for the appliance or any version of GemStone/S 2.3 or greater.

  1. Start a stone using a virgin extent copied from $GEMSTONE/bin/extent0.dbf into $GEMSTONE/seaside/data. Don’t forget to shut the stone down before copying extents around and don’t forget to make the extent writable using ‘chmod +w extent0.dbf’.
  2. Download and unzip bootstrap_1.0-beta.4.zip.
  3. cd to the bootstrap_1.0-beta.4 directory
  4. Edit the .topazini file to match your stone.
  5. Launch topaz: ‘topaz -l -T50000′
  6. ‘login’ and ‘input installMaster.topaz’
  7. Exit topaz. The ‘installMaster.topaz’ script installs the Dev Group which includes the GemTools.
  8. Launch a GemTools Client 1.0-beta.2 image (see the instructions for creating a 1.0-beta.2 GemTools Client image) and login.
  9. Choose a configuration to load by executing one of the following expressions:
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Magritte Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'SOAP Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Seaside Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Seaside Testing Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Scaffolding Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Pier Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Pier Testing Dev'.
    "use 'topaz -l -T100000' to load 'ALL', since the load
     requires more temp memory"
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'ALL'.
    "in GemStone/S 2.4 only"
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Seaside3.0 Dev'.
  10. Make a backup and have fun!

[1]http://www.flickr.com/photos/bombeador/2391650475/ / CC BY-NC-SA 2.0