PharoThis morning, Adrian Leinhard announced the first Pharo 1.0 beta release.

As most of you are aware, I’ve been heads down on Metacello going on several months now. I’m making very good progress.

In the last couple of weeks, I’ve been reworking the internal GLASS build procedures to use Metacello. I’ve also had a couple of GLASS users using Metacello for creating their own custom extents (i.e., loading only the projects that they are interested in, rather than the whole enchilada you get with the GLASS package).

When I read Adrian’s announcement, I thought this was a perfect time to kill two birds with one stone: release a version of GemTools that runs on the latest Pharo image and get a little more real world exposure for Metacello by using Metacello in the install/update procedure for the GemTools Client.

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 and 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 Pharo 1.0 beta.

Installing GemTools Client in Pharo 1.0 beta

[Updated: 10/17/2009] Updated instructions for installing the GemTools Client in Pharo and Squeak can be found here.

If you’ve already been using Pharo as a GemTools client, then follow these instructions to get cooking:

  1. Download and install the Pharo 1.0 beta. Don’t forget to get the latest Pharo vm for your platform (also available on the downloads page).
  2. Load Metacello-All-dkh.6 from http://seaside.gemstone.com/ss/metacello (loads Metacello-Core, Metacello-MC, MetacelloProject and OB-Metacello).
  3. Delete the Metacello-All working copy. Once you’ve got Metacello loaded, you don’t need Metacello-All anymore.
  4. Execute the following expression to load the GemTools Client Metacello project (project meta-information):
    (MetacelloMCProject instance packageSpec
      file: 'GemStone-MetacelloProject-dkh.116';
      repositoryName:
        'http://seaside.gemstone.com/ss/GLASSproject';
      yourself) load
  5. Execute the following expression to load the GemTools Client code:
    (GemToolsClientMetacelloProject version: '0.9') load
  6. Execute the following expression to open the GemTools launcher:
    OGLauncher open
  7. Copy the session information from your old GemTools Client to the new GemTools Client in your Pharo 1.0 beta image. Use the Edit session menu item on the Session Menu in the launchers.
  8. Save the image.
  9. Copy the gci files (gciForWindows.dll, gciForLinux.so, and gciForMacintosh.so) from GemTools-2.3.1-preview.app/Contents/Resources in the one-click into the directory containing your Pharo 1.0 beta image and changes files.
  10. Press the Login button on the GemTools Launcher and you should be in business.

[Update 8/1/2009: Use the Update Client and load version 0.9.1, to get a bugfix for interrupt handling].

newUpdateClient

Moving forward, you’ll use the Update Client button or Update… menu item to get newer versions of the GemTools client.

The ink is barely dry on version 0.9 of the GemTools Client, so if you run into issues, send mail to the GLASS Beta Mailing List (subscription required).

Next GLASS Beta Update

If things go smoothly, I expect to have a new GLASS version (using Metacello of course) available in a couple of weeks. The new update will include Seaside 2.8.4Pier 1.2 and a handful of bugfixes.

Metacello

My priorities at the moment are to:

  1. Use Metacello to replace the old GLASS package system for communicating software updates and package dependencies.
  2. Finish implementing the features that are planned for 1.0 so that I can go into beta with Metacello. I hope to have gone beta with Metacello prior to ESUG.
  3. Finish up the Metacello tutorials so that other folks can start using Metacello for their own projects.
  4. Define a Metacello project for Swazoo 2 and Aida to make it possible for folks to track the ongoing development of GLASS while using Aida.

Seaside 2.9

We plan to release GemStone/S Version 2.4 within the next couple of months. 2.4 includes VM support for partial continuations, so it will be feasible to run Seaside 2.9 on top of GLASS.