You are currently browsing the category archive for the ‘beta update’ category.

Laker Departing[1]

GemStone/S 64 is the first version in the 2.4.x series for which GLASS is officially supported. GemStone/S 64 2.4 originally shipped in September of 2009, but I delayed announcing GLASS support for 2.4 until I had the configuration issues firmly in hand and Seaside 3.0 support was up to snuff. That day has finally come!

If you are interested in finding out what new and wonderful things are available in at the server level then you should read the 2.4 series of release notes (at a minimum, you should scan the Table of Contents for topics that might interest you):

At the server level and 2.4.4 are identical. The only changes are for GLASS:

Server Documentation

The full set of 2.4.x GemStone server documentation can be found here.

Server Download

You can find downloads for Mac and Linux on the Glass Downloads page.

Server Installation

Installation instructions (via shell script – RECOMMENDED) are also available on the downloads page.

Alternatively you can follow the instructions in the Linux install guide for 2.4. There is no install guide for the Macintosh – use he installation shell script on the downloads page.

Jame’s instructions for installing GemStone on SliceHost (Ubuntu 9.10 (Karmic)) should still be valid, just download the file instead of 2.4.1

Server Upgrade from GemStone/S 64 2.3.1

If you have an existing GLASS installation running on GemStone/S 64 2.3.1 or an earlier version of GemStone/S 64 2.4 you can upgrade your repository to use the new executables by following the upgrade instructions in Chapter 2 of the Linux install guide for 2.4 after finishing your installation. The upgrade instructions in the Linux install guide for 2.4 are valid for Mac users as well.

If you are new to GLASS, you might want to take a look at the Getting Started with GLASS page for additional information about installing and setting up your GLASS installation.

GemTools 1.0-beta.8

With GemStone/S 64 you should use GemTools 1.0-beta.8.

If you already have a GemTools 1.0-beta.6 image, then you should update to 1.0-beta.8. Otherwise, I recommend that you download the GemTools 1.0-beta.8 for 244 One-Click image.

You may also build your own GemTools 1.0-beta.8 image.

GLASS 1.0-beta.8.1

The extent0.seaside.dbf that ships with has GLASS 1.0-beta.8.1 pre-installed. GLASS 1.0-beta.8.1 does not have Seaside or any of the other GLASS add on projects loaded. The following projects are loaded by default:

For more information on what optional projects are available and instructions for loading them in GLASS, see the Optional GLASS Projects page.

Seaside, Pier, Magritte

For information about loading Seaside2.8, Pier and Magritte into GLASS 1.0beta.8.1 please see the Seaside 2.8 GLASS support page.

For information about loading Seaside3.0, Pier2 and Magritte2 into GLASS 1.0beta.8.1 please see the Seaside 3.0 GLASS support page.

—– / CC BY 2.0


With GLASS 1.0-beta.8. I am finally providing an upgrade path for GLASS.230-dkh.231, the GLASS Appliance 1.0beta11 (GLASS.230-dkh.164), and GemStone/S 64 2.3.1.


There are a number of changes that take effect with the 1.0-beta.8 release (part of the reason that the release has taken so long):

There are outstanding tasks that need to be completed before the entire 1.0-beta.8 release process is complete and you should keep an eye on the 1.0-beta.8 Release tasks for monitoring progress towards completion. Here is a list of the major milestones that are pending:

With all of that said, 1.0-beta.8 is ready to be used:

So have at it and let me know if you have problems.

1.0-beta.8 Upgrade Instructions

If you have an existing instance of GLASS including:

Upgrade your installation by following these steps:

  1. Create a GemTools client image (Steps 3 through 8 on the Getting started with GLASS page) based upon Pharo or Squeak
  2. Make a backup of your starting extent (Step 9 on the Getting started with GLASS page)
  3. Update GLASS to 1.0-beta.8 (Steps 10 and 11 on the Getting started with GLASS page)

If you have upgraded from a version earlier than 1.0-beta.0, then you are done! The upgrade for optional projects was performed as part of the GLASS update.

If you are upgrading from 1.0-beta.0 or later, then you are not quite done with the upgrade process.

Upgrade Optional Projects for 1.0-beta.0 and later

The 1.0-beta.8 GLASS configuration no longer manages all of the GLASS projects directly. Only a handful of fundamental GLASS projects are being managed. To finish the upgrade process you will need to individually upgrade the optional projects like Seaside28Seaside30 or SOAP.

For post 1.0-beta.0 upgrades, you should pick and choose from the projects and load only those projects that you are using or want in your repository.

The implication of having optional projects is that the fundamental GLASS projects and the optional projects can now be upgraded independently, so monolithic releases are no longer necessary.

The MetacelloRepository on GemSource is where the configuration for projects that are known to work in GLASS are stored:

  • ConfigurationOfGLASS
  • ConfigurationOfGofer
  • ConfigurationOfGoferProjectLoader
  • ConfigurationOfGrease
  • ConfigurationOfGsCore
  • ConfigurationOfGsFastCGI
  • ConfigurationOfGsHyper
  • ConfigurationOfGsMisc
  • ConfigurationOfGsMonticello
  • ConfigurationOfGsOB
  • ConfigurationOfGsScaffolding
  • ConfigurationOfGsSeasideTesting28
  • ConfigurationOfGsSOAP
  • ConfigurationOfGsSqueakSource
  • ConfigurationOfMagritte
  • ConfigurationOfMetacello
  • ConfigurationOfPier
  • ConfigurationOfPierAddOns
  • ConfigurationOfSeaside
  • ConfigurationOfSeaside28
  • ConfigurationOfSeaside28Examples
  • ConfigurationOfSeaside30
  • ConfigurationOfSwazoo2
  • ConfigurationOfXMLSupport

Any one of the above configurations can be loaded on top of GLASS 1.0-beta.8.

Using Gofer one can load the latest version of Magritte using the following expressions:

Gofer new
	gemsource: 'MetacelloRepository';
	package: 'ConfigurationOfMagritte';
(Smalltalk at:#ConfigurationOfMagritte) project latestVersion load.

Even though Gofer drastically reduces the complexity of the load expressions involving Monticello, there is still room for improvement when loading configurations and that’s where Gofer Project Loader comes into play.

Using Gofer Project Loader the following expression is equivalent to the previous Gofer expression:

Gofer project load: 'Magritte'.

With Gofer Project Loader you can specify a default repository (for GLASS: Gofer Project Loader is also aware of the ‘ConfigurationOf’ convention, so it isn’t necessary to type the leading ‘ConfigurationOf’.

The Gofer Project Loader expression:

Gofer project load: 'Magritte' version: ''.

loads version ‘’ from ConfigurationOfMagritte and:

Gofer project
    load: 'Magritte' 
    version: '' 
    group: 'Magritte-Seaside'.

loads the ‘Magritte-Seaside’ package (along with the dependent packages of ‘Magritte-Seaside’) from version ‘’ of ConfigurationOfMagritte.

The following Gofer expression is useful if you would like to just load the ConfigurationOfMagritte without loading the Magritte project itself:

Gofer new
	gemsource: 'MetacelloRepository';
	package: 'ConfigurationOfMagritte';

It should be obvious by now that it will be worthwhile spending some time learning about Metacello (take the Metacello Tutorial), Gofer and Gofer Project Loader. I think you will find Metacello it very useful to build a Metacello configuration to manage the packages in your own project. / CC BY-NC-ND 2.0


GemTools 1.0-beta.6 is a prerequisite for GLASS 1.0-beta.8.

GemTools 1.0-beta.6 features:

  • fixed highlighting for class definition/creation template
  • enabled syntax highlighting in workspaces
  • double click includes leading $_. In package GemTools-Overrides that is not loaded by default, because it stomps on a method in Character.
  • GsOBColumnPanel>>currentNode sends #currentNode to server-side, fixing a couple of ancient bugs
  • reset GLASS version after doing a Server update
  • exclude #baseline versions from update glass client version list
  • add proportional splitters to inspectors (resize panes vertically)
  • Use Help System instead of ProfStef
  • fix Issue 54 “Typos and unclear instructions in GemTools ProfStef tutorial”
  • add ”Admin>>Doit…>>Version Report” menu item (included in bug report template) that shows versions of all installed configs
  • add toggle ”Admin>>Commit on Almost Out of Memory” command
  • upgrade path from 0.231, 0.232.2 and 1.0-beta.0 through 1.0-beta.7 to 1.0-beta.8

The Terse Guide to the (new) GLASS Tools has been transferred (and updated) to the glassdb wiki see the GemTools Launcher Guide page.

For GemTools  installation instructions see the Getting started with GLASS page (steps 3 through 6).

For GemTools update instructions see the Update GemTools Launcher page.

GemTools Client 1.0-beta.6 has been tested with:

  • Pharo 1.0
  • Squeak 4.1

Let me know if you run into problems.

—– / CC BY-NC-ND 2.0


Well the time has finally come, or nearly come.

It’s been nearly a year since I’ve released a GLASS Beta Update. Last April, when I released the SOAP Preview for GLASS, it was obvious to me that the days were numbered for the GLASS.230-dkh umbrella package and that I would have to find a better solution for making releases in Smalltalk. I just didn’t realize that the number would top 300:)

In my defense, starting in November of last year I did initiate a series of Bootstrap releases (1.0-beta.0, 1.0-beta.4, and 1.0-beta.5), but over the last 10 months I’ve really focussed on getting Metacello up to snuff.

The good news is that I am in the final steps of the year long release cha cha.

Metacello 1.0-beta.25

Metacello is nearly ready for 1.0, but there are a handful of things that have to be done before release. I’ve outlined most of them in The road to 1.0. I will release 1.0-beta.25 later today (fingers crossed) and will spend a day or so writing up additional documentation on some of the new Metacello features.

GemTools 1.0-beta.6

Once Metacello 1.0-beta.25 is out the door, I will polish up GemTools 1.0-beta.6.

The big news with GemTools 1.0-beta.6 is that I have transitioned to using the Help System for documenting the update steps for GemTools and GLASS. I will continue to announce releases on my blog, but the details for doing an update will be included in a Help System browser available via GemTools. This means that you won’t have to try to cross reference the versions of GemTools and GLASS with ancient blog posts to figure out how to upgrade to later versions.

Continuing the process started over a year ago, you will need to update to GemTools 1.0-beta.6 in order to update to GLASS 1.0-beta.8.

BTW, when Pharo releases version 1.0, we’ll release a new one-click for GemTools.

GLASS 1.0-beta.8

I plan to push GemTools 1.0-beta.6 out right before I release GLASS 1.0-beta.8. At this point I’ve got most of the major port and testing load behind me:

There are a few more details that I need to cover and quite a bit of documentation to write about for 1.0-beta.8 before release, but I thought it was worth letting you know that I am in the final approach for releasing 1.0-beta.8

[1]Photo by / CC BY-NC-ND 2.0


GemTools 1.0-beta.3 features:

  • improve ”Show Object log” output format
  • add ”List backup files” command
  • add some missing icon definitions for Squeak
  • load OB/Shout if not present
  • ProfStef tutorials (Pharo only for the moment)

The major change with this version is that the installation instructions are included as part of GemTools release. The last statement in install expression opens an interactive tutorial (created with ProfStef) in the Smalltalk image to guide you through the necessary steps to finish the GemTools install. The tutorial provides guidance for several different tasks from installing GemStone/S to opening the GemTools Launcher. A How To… button has been added to the GemTools Launcher with step by step tutorials for the following topics (so far):

  • How to finish the GemTools installation
  • How to define a GemTools session to log into your GemStone server
  • How to update your GemStone server code (GLASS.230-dkh.164 through GLASS.230-dkh.231)
  • How to open GemTools Launcher
  • How to install and start a GemStone Server
  • How to build a custom extent (GLASS 1.0-beta.4 and later)
  • How to update your GLASS software after building a custom extent (GLASS 1.0-beta.4 and later)
  • How to update your GemTools client software

Here’s a sample screen from the ‘How to finish the GemTools installation’:

What this means for you is that the installation instructions will match the version of GemTools that you are installing and you won’t have to guess which blog post has the right instructions for your situation. I will be updating the tutorials to cover more subjects and I welcome the contributions of tutorials from others (just let me know and I’ll add you as a developer to GemTools repository).

Wiki and Bug Reports

In the last week or so, I created a Google Code project for GLASS called glassdb. The project provides a public wiki and a public issue reporting system. I encourage you to submit a bug if you run into issues using GemTools or GLASS.

With a public bug reporting system it is now possible for you to contribute bugfixes as well as bug reports. If you want to contribute let me know and I’ll you to the glassdb project and add you to the GLASS DEVS group on GemSource.

Update GemTools

Execute the following code in a Squeak or Pharo workspace:

ConfigurationOfGemTools loadLatestVersion

Or click on  the Update… button in the GemTools Launcher and select Update GemTools Client menu item.

Install GemTools

Execute the following code in a Pharo workspace after downloading a recent version of Pharo (tested with Pharo1.0-10508-rc2dev10.01.2 and PharoCore-1.0-10508rc2 images):

Gofer new
        squeaksource: 'MetacelloRepository';
        package: 'ConfigurationOfGemTools';
(Smalltalk at: #ConfigurationOfGemTools) perform: #loadLatestVersion.
(Smalltalk at: #ProfStef) perform: #goOn: with: (Smalltalk at: #OGFinishGemToolsInstall)

Until ProfStef  is ported to Squeak and Gofer is installed in the trunk, you’ll have to follow these instructions (tested with Squeak3.10.2-Trunk-090912).


[1] / CC BY-NC-ND 2.0


The big news with GLASS 1.0-beta.5 is the support of Swazoo2 as a web server option in GLASS for Seaside 3.0. I ported the Swazoo2 server from Squeak to GemStone and there is ConfigurationOfSwazoo2 (a Metacello configuration) in the Metacello Repository which can be used to load Swazoo2 into Squeak, Pharo, or GLASS.

As part of the effort, I created Metacello configurations for Kom (ConfigurationOfKomHttpServer) and SPort2 (ConfigurationOfSPort2) also located in the Metacello Repository. These two configurations should load into Squeak or Pharo (Kom has not been ported to GemStone).

Seaside 3.0.0-alpha5.2

  • pick up recent changes from Seaside developers (12/9/2009 11:16)
  • fix a GemStone compile error in JSStream class>>initializeEncoding [Javascript-Core]
  • merge changes from JQuery-Core-lr.90 into JQuery-Core.gemstone-dkh.91
  • move Kom, Sport and Swazoo packages to their own configurations

Seaside 3.0.0-alpha5.3

GLASS 1.0-beta.5 features

  • pick up version 3.0.0-alpha5.3 of Seaside 3.0
  • porting Swazoo2 to GemStone for Seaside 3.0, Seaside2.8 (possibly), and Aida
  • better version of SpFilename>>delete [Core/Sport]
  • additional FileDirectory methods needed by Swazoo2 [Core/Bootstrap]
  • pick up fix for FastCGI so we persist an Exception description
  • use Metacello 1.0-beta.17

Bootstrapping Instructions

Follow the 1.0-beta.4 instructions through Step 8 (i.e., start by bootstrapping 1.0-beta.4). Load the latest version of the ConfigurationOfGLASS package from the GLASS Project repository and follow the instructions in Step 9 replacing ‘1.0-beta.4’ with ‘1.0-beta.5’.

Updating Instructions

If you have previously bootstrapped 1.0-beta4, then you can update to to 1.0-beta.5 by loading the latest version of the ConfigurationOfGLASS package from the GLASS Project repository and executing the expression in Step 9 that you used in your original bootstrap, replacing ‘1.0-beta.4’ with ‘1.0-beta.5’. The newer packages will be loaded.

Don’t forget to make a backup before and after updating!

[1] / CC BY-NC 2.0


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
  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] / CC BY-NC-SA 2.0


GemTools 1.0-beta.2 features:

  • fix update client logic to use #lastMetacelloVersionLoad
  • change annotation pane and make more room for useful info
  • inspect undefined and inspect sent but not implemented menu items available only when tests are installed
  • clean up preferences problems
  • Admin>>Seaside submenu available only when Seaside2.8 installed
  • improve session window label (include the session name) when working with multiple stones


To install the GemTools Client in a virgin Squeak or Pharo image jump to the Install instructions.


For version 1.0-beta.0 of the GemTools Client,  follow these Update instructions.

For version 1.0-beta.1:

  1. Logout of your GemStone session(s).
  2. Click on the Update Client button and select ‘1.0-beta.2’.
  3. Save your client image.

[1] / CC BY-NC 2.0


Not long after shipping the SOAP update for GLASS, I started working on Metacello. With the SOAP update, it became obvious that the GLASS ‘umbrella’ package was going to have to be replaced, and soon. Well, 7 months later I am reaching the point were I am finally ready to replace the GLASS package with a Metacello configuration .

I’m going to phase in the use of Metacello with GLASS. With the initial release, we’ll use Metacello for bootstrapping GLASS into a virgin extent. This way folks starting a greenfield project can use Seaside 2.8.4 or Pier 1.2 right away. Other releases that are in the pipeline:

  • GemStone/S 64 2.4.x with partial continuations for Seaside3.0.
  • Metacello configuration for bootstrapping Seaside 3.0 (ConfigurationOfSeaside30). A Squeak/Pharo version of this configuration is available now.
  • final release of GLASS.230 package that will boot Metacello into an existing GLASS installation and allow for upgrading to GLASS 1.0-beta.0 and beyond.

GLASS 1.0-beta.0

ConfigurationOfGLASS version 1.0-beta.0 is based upon GLASS.230-dkh.231, with the following additions:

  • Seaside 2.8.4
  • Pier 1.2
  • Metacello support
  • VB-Regex loaded as part of ‘core’
  • Scriptaculous updates from Ken Treis
  • GemTools updates from Gerhard Obermann
    • optional auto abort performed before commands
    • add remove method (without any checks) renamed “remove method …” to “safe remove method …”
    • add command “browse class history”
    • add class history index to class browser title
  • browse changes fixed … reversed comparison direction so that ”Install” will install repository version. the strike-out text is what is in current image.
  • supports bootstrapping of code into virgin extent (see Bootstrapping Instructions).

Read the following sections to gain an understanding of the 1.0-beta configuration structure. If you are impatient and just want to load and go, then you can skip to the Bootstrapping Instructions.

1.0-beta Configuration Structure

With release 1.0-beta.0 there are 9 different loadable configurations defined in ConfigurationOfGLASS. If you read the code in the method ConfigurationOfGlass>>baseline10beta00:, you can see the Metacello specification summarized in the following sections.

Primary GLASS Projects

Any one (or combination) of the following projects and groups may be used as a load configuration for bootstrapping

Each of these projects is managed by it’s own ConfigurationOfxxx class.

  • Core project. ConfigurationOfGsCore manages the Core, Base-Bootstrap, Bootstrap, GemStone-Exceptions (2.x only), GemStone-Indexing-Extensions, GsRandom, Sport, Squeak and VB-Regex packages. The Core packages are fundamental to the operation of GLASS and is always loaded.
  • FastCGI project. ConfigurationOfGsFastCGI manages the FastCGIPool and FastCGI packages. The FastCGI packages are optional and are used to support FastCGI packages for Seaside2.8 and Seaside3.0.
  • Hyper project. ConfigurationOfGsHyper manages the OpenSkills and Hyper packages. The Hyper packages are optional and are used to support the Hyper packages for Seaside2.8 and Seaside3.0.
  • Magritte project. ConfigurationOfGsMagritte manages the Magritte-Model, Magritte-Tests and Magritte-Seaside packages. The Magritte packages are optional and represent the GemStone/S port of Magritte. By default only Magritte-Model and Magritte-Tests packages are loaded. To load Magritte-Seaside, it must be explicitly referenced.
  • Metacello project. ConfigurationOfMetacello manages the Metacello packages and is imported from the Metacello project. By default the Metacello-Core, Metacello-MC and Metacello-Platform packages are loaded. The Metacello packages are fundamental to the operation of GLASS.
  • Misc project. ConfigurationOfGsMisc manages the MockGemStone, SMTPMail, Utf8Encoding, Announcements, XML-Parser, SIXX, SmaCC, System-Digital-Signatures, and GemStone-Release-Support packages. The Misc packages are represent useful pieces of functionality that are contained in a single package and depend only upon the Core project. The Misc project is rarely loaded in it’s entirety. Typically individual packages are loaded from the project.
  • Monticello project. ConfigurationOfGsMonticello manages the Change-Notification, PackageInfo-Base, and Monticello packages. The Monticello packages are fundamental to the operation of GLASS.
  • OB project. ConfigurationOfGsOB manages the OmniBrower, OB-GemStone-Platfrom, OB-Monticello, OB-SUnitIntegration, OB-SUnitGUI, OB-Stanadard, OB-Tools and JadeServer packages. The OB packages are optional and provide the implementation for the GemTools.
  • Pier project. ConfigurationOfGSPier manages the Pier-Model, Pier-Blog, Pier-DesignChooser, Pier-Design, Pier-Documents, Pier-EditorEnh, Pier-Google, Pier-Links, Pier-Randomizer, Pier-Slideshow, Pier-TagCloud, and Pier-Twitter packages. The Pier packages are optional and represent the GemStone/S port of Pier.
  • Scaffolding project. ConfigurationOfGsScaffolding manages the GemStone-Scaffolding package. The Scaffolding packages are optional and representing the implementation of Scaffolding for GemStone. Even though this project consists of a single primary package, the fact that it depends upon Magritte and Scriptaculous warrants the creation of separate Metacello configuration.
  • Seaside2.8 project. ConfigurationOfGsSeaside28 manages the Seaside2.8, SeasideAsync, Scriptaculous, RSRSS2, CallDemo, CheckboxExample, CSSDock, ErrorHandler, HelloWorld, ImageDemo, LogoutDemo, MarqueeDemo, menuDemo, ScreenResolution, Store, GemStone-Store, GemStone-Examples, FastCGISeaside and HyperSeaside packages. The Seaside2.8 packages are optional and represent the GemStone/S port of Seaside. By default only the Seaside2.8 pacakge is loaded. All of the other packages must be explicitly referenced.
  • Seaside2.8 Testing project. ConfigurationOfGsSeasideTesting28 manages the SeasideTesting and PierTesting packages.
  • SOAP project. ConfigurationOfGsSoap manages the SoXML, SOAP-CORE, SOAP-Client SOAP-Server, SOAP-Example and SOAP-TestCases packages. The SOAP packages are optional and represent the GemStone/S port of SoapCore.

Convenience GLASS Projects


The following groups have been defined for the common load configurations.

As you become familiar with Metacello and the GLASS configurations, you can define your load configuration. although you probably want to become more familiar with Metacello first.

Bootstrapping Instructions

Please comment to this post or send mail to the GLASS Beta Mailing List if you have trouble or the instrcutions are not clear. 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
  3. cd to the bootstrap_1.0-beta.0 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.1 image and login.
  9. [Updated: later that day] Due to some bugs discovered in 1.0-beta.0, it is recommended that you update to 1.0-beta.1 by executing the following expression:
    ConfigurationOfGLASS project updateProject.
    (ConfigurationOfGLASS project version: '1.0-beta.1')
        load: 'Dev'.
    System commitTransaction.
  10. Choose a configuration to load by executing one of the following expressions:
    (ConfigurationOfGLASS project version: '1.0-beta.1')
        load: 'Magritte Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.1')
        load: 'SOAP Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.1')
        load: 'Seaside Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.1')
        load: 'Seaside Testing Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.1')
        load: 'Scaffolding Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.1')
        load: 'Pier Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.1')
        load: 'Pier Testing Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.1')
        load: 'ALL'.
  11. Make a backup and have fun!

[1] / CC BY-NC-ND 2.0


With the 1.0-beta.1 release of the GemTools Client, we’re doing two things:

  1. Conforming to the new Metacello configuration naming convention.
  2. Getting ready for the imminent GLASS 1.0-beta.0 release.

GemTools 1.0-beta.1 features:

  • Convert to using ConfigurationOfGemTools.
  • Nicer info dialog when Undefined symbols and Unsent messages are clean
  • Support for GemStone/S 3.0 GciErrSType
  • Change restore from backup done message … do not prompt to start Seaside gems if Seaside is not installed
  • Replace dialogs that are calling “ifNotEmpty:” with: “isEmptyOrNil” (from Gerhard)
  • autoAbort _before_ commands is now optional (off by default)

If you’ve already installed the GemTools Client 1.0-beta.0, then you want to follow the Update instructions. To install the GemTools Client in a virgin Squeak or Pharo image jump to the Install instructions.


With GemTools Client 1.0-beta.0 already installed, we need to update to using ConfigurationOfMetacello as well as ConfigurationOfGemTools:

  1. Load the latest version of the ConfigurationOfMetacello package  from
  2. Load the latest version of the ConfigurationOfGemTools package  from
  3. Execute the following expression in a workspace:
    ConfigurationOfMetacello loadLatestVersion.
    ConfigurationOfGemTools loadLatestVersion.

Then continue with Step 3 of the installation instructions.


If you haven’t already been using the GemTools 2.3.1 Preview for all platforms (which is based on Pharo), then you should download the preview GemTools client and follow the instructions for setting up your session to verify that you can connect to your stone. You’ll need the session information and the gci files from the Preview to get things running with the either Squeak or Pharo.

I’ve tested the installation procedure using Squeak3.10.2-Trunk-090912 and pharo1.0-10492-rc1dev09.11.1.

To load GemTools into a client image:

  1. Load the latest version of the ConfigurationOfGemTools package  from
  2. Execute the following expression in a workspace:
    ConfigurationOfGemTools loadLatestVersion.
  3. Execute the following expression to open the GemTools launcher:
    OGLauncher open
  4. Copy the session information from your old GemTools Client to the new GemTools Client in your image. Use the Edit session menu item on the Session Menu in the launchers.
  5. Save the image.
  6. Copy the gci files (gciForWindows.dll,, and from in the one-click into the directory containing your image and changes files. On the Macintosh, the needs to be copied to both the image directory and the directory (thanks Mark and Ken).
  7. Press the Login button on the GemTools Launcher and you should be in business.

[1] / CC BY-NC-ND 2.0

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 446 other subscribers


RSS GLASS updates

  • An error has occurred; the feed is probably down. Try again later.

RSS Metacello Updates

  • An error has occurred; the feed is probably down. Try again later.

RSS Twitterings

  • An error has occurred; the feed is probably down. Try again later.
February 2023