You are currently browsing the daily archive for September 25, 2008.


On Tuesday, Tudor Girba announced the release of Pier 1.0.17 and the creation of a new Pier website. Today (Thursday), I am pleased to announce that Pier 1.0.17 is available on GLASS. I suggest that you keep an eye on the Pier blog for ongoing developments.

If you don’t already have GLASS installed, go on over to the GLASS downloads page for options and instructions. Then follow the instructions here to install the code that includes Pier 1.0.17.

When the final release of GemStone/S 64 version 2.3 is available ([updated 10-06-2008]real soon now) Pier 1.0.17 will be pre-installed. When the appliance based on the final release is made available ([updated 10-21-2008]probably version 1.0 beta 11), it will make a very nice little Pier-in-a-box with built-in persistence and a ready-to-run Pier instance.

Developer Details

When I ported Pier to GLASS I only made one (intentional) change in the feature set (changing PRFile to use MAMemoryFileModel instead of MAExternalFileModel). I didn’t port the package Pier-Squeak-Persistency either for obvious reasons.

By default PRFiles are created using MAExternalFileModel, however, for GLASS, I changed PRFile class>>descriptionFile to use MAMemoryFileModel instead. The rationale is that the GLASS repository is created and initialized on a build machine here at GemStone and any directory structures created during Pier initialization will not be propogated to the final installation. By using MAMemoryFileModel all of the PRFile data is stored in the repository (which happens to be on disk in the final analysis). When you get around to deploying Pier, you will most likely want to use MAExternalFileModel so that you can use Apache or Lighttpd to serve the static files, so you will need to change PRFile class>>descriptionFile to use MAExternalFileModel when you are ready to deploy.

Note – This was my first post using the ‘Blog It!’ feature on Flickr, so some of you may have seen a premature feed in your RSS reader.

[1] Photo: Pier Glass Studio, Uploaded by artfull281 on 19 Aug 07, 5.43AM PDT.

For the last month or so since the International Smalltalk Developers Conference, I have been busy working on the Single Session per VM project trying to get to the point were I can validate the approach. It was straightforward to make the necessary changes to Seaside, but I literally spent more time trying to figure out how to get session affinity to work with FastCGI in lighttpd.

Once I had the basic prototype working I needed to really hammer the server, but neither siege nor jcrawler does a good enough job (siege doesn’t crawl a site and jcrawler sends concurrent requests for the same Seaside session) so I started work on a Seaside-aware load testing tool called scrawler. Scrawler needs a a real good HTTP client and the HTTP client (HyHTTPClient) in the latest version of Hyper from Bruce Badger is perfect – which explains why I was porting the latest versions of Sport and Hyper to GLASS last week.

Over the weekend Dario Trussardi reported a problem with MAFileDescription which turned into Bug39648 and a few other GemStone-specific issues related to MAExternalFile model. By Monday, I’d resolved Dario’s problem and I figured what the heck, while I was in the neighborhood I might as well merge in the latest Magritte code from Lukas. And while I’m merging code from Lukas, I might as well pick up the latest code for Scriptaculous and Pier.

The ink wasn’t even dry on my Pier merge, when I received mail from Doru, announcing Pier 1.0.17. Talk about synchronicity. Had events (spanning the globe) been conspiring all month long to converge at this moment in time?….Nope, but we do have a pending final release for GemStone/S 64 version 2.3, so I got my giddy up on and updated to Pier 1.0.17.

After the smoke cleared, I ended up including a number of new packages in the GLASS package:

  • Pier-Design-tg.5, Pier-Documents-lr.7, Pier-Google-lr.5, Pier-LightBox-dc.6, Pier-Randomizer-lr.4, Pier-TagCloud-lr.11, Pier-Titles-tg.1, Pier-Twitter-lr.7 Pier-Setup-tg.30 to conform with Pier 1.0.17.
  • XML-Parser.g-dkh.14 for Pier-Twitter support.

The following bug fixes are also included in this update:

  • Bug39648 – FileDirectory>>forceNewFileNamed: doesn’t ensure creation of subdirectories.
  • Bug39357 – appliance 1.0 beta10 gems get commit conflicts on first startup.
  • Bug39413 – ‘Magritte implements #description: which interferes with subclass creation’.
  • fixed duration string generation (RSRSS2) from Philippe Marschall.
  • MAFileDescription upload problem reported by Dario Trussardi.

The update is published as GLASS-dkh.122 (2.2.5) and GLASS.230-dkh.162 (2.3 beta 2 or 1.0beta10). These two versions can be used with GemStone-jgf.291 (Squeak client) or later. All of the versions can be found in the GLASS project on GemSource. If you are running with a version of the GLASS package that is earlier than GLASS-dkh.118 or GLASS.230-dkh.146, then you need to follow these instructions first. After loading the GLASS package you should evaluate the following two expressions in a workspace:

  1. MADescriptionBuilder initialize.
  2. PRDistribution new register.

The first expression picks up some new initialization code and the second expression installs Pier 1.0.17 as a Seaside application.

In GemStone-obi.293 Gerhard Obermann changed the layout of the Transcript Window to allow more buttons, added a Find Substring button, and arranaged for SHIFT-click on the Debug button to empty the Object Log. Personally, I’ve moved to this version of the Squeak client as I think it is an improvement.

If you are running in 2.3 beta 2 or 1.0beta10 then you only need to load GemStone-obi.293 into your Squeak client, save the Squeak image and you are done.

If you are running in a 2.2.5 repository then you have a couple of options:

  1. Download the single-click Squeak client for 2.2 (download) from GLASS downloads and then load GemStone-obi.293. RECOMMENDED.
  2. Update your existing Squeak image (presumably using GemStone-dkh.283)
    1. start the Squeak client image.
    2. load GemStone-obi.293.
    3. save the image and exit.
    4. copy (or use a symbolic link) the GCI library (location in top pane of the Login Window) to a file named, or gciForWindows.dll, depending upon your client platform.
    5. restart the image and log in to GLASS.

Keep an eye out for the announcement of the final release of GemStone/S 64 version 2.3 [update 10-25-2008] which should be coming soon.

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

Join 446 other followers


Top Posts

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.
September 2008