You are currently browsing the monthly archive for October 2011.
GLASS 1.0-beta.8.7 has been released. I’ve been pretty busy since the last GLASS release in March: there are almost 50 bugfixes included in this release.
GLASS 1.0-beta.8.7 has been tested against GemStone/S 2.3.1, GemStone/S 2.4.4.1 and the forthcoming GemStone/S 3.0.1 release.
I plan a series of blog posts over the next few weeks to cover some of the more interesting changes and new features included in and enabled by GLASS 1.0-beta.8.7.
GemStone/S 2.3.1 Upgrade
If you’ve downloaded the GLASS appliance, you will be running on GemStone/S 64 Version 2.3 and GLASS.230-dkh.164. The good news is that you can upgrade from GLASS.230-dkh.164 to GLASS 1.0-beta.8.7:
- Update your GemTools image to GemTools 1.0-beta.8.5.
- Update GLASS to 1.0-beta.8 which gets you to the point where Metacello is installed. This step can take awhile, so be patient.
- Update GLASS to 1.0-beta.8.7.
- Update the rest of the projects that were part of GLASS.230-dkh.164, most notably:
- Seaside 2.8.5
- Magritte 1.2.1.5
- Pier 1.2.1.6
As always don’t forget to make a backup before and after the upgrade.
GemStone/S 2.4.4.1 Upgrade
GemStone/S 2.4.4.1 and the subsequent 2.4.x releases have all shipped with GLASS 1.0-beta.8.1 pre-installed in the seaside extent ($GEMSTONE/bin/extent0.seaside.dbf). The upcoming GemStone/S 2.4.5 release will be shipped with GLASS 1.0-beta.8.7 pre-installed.
To upgrade to GLASS 1.0-beta.8.7:
- Update your GemTools image to GemTools 1.0-beta.8.5.
- Update GLASS to 1.0-beta.8.7.
- Make a backup.
—–
http://www.flickr.com/photos/mcbridejc/6165651180 / CC BY-NC-SA 2.0
GemTools 1.0-beta.8.5 has been released. With this release there have been several bugfixes:
- Issue 132 : Use System class>>#”cacheName:” to make session recognizable in vsd
- Issue 250 : order and size of args asociated with #halt changed in Gci3xErrStype64 (GemStone 3.0)
- Issue 280: GemTools login error: ”Network error – text follows”, does not follow with error message…
- Issue 291: Maintenance Gem Topaz Exit 3.0 / GemStone 3.0
as well as some tweaks to the GLASS upgrade process.
Upgrades
I always recommend that you update GemTools before upgrading GLASS, because the GLASS upgrade process is driven by code included in GemTools. When you select the Update GLASS menu item, the class OGUpgradeJadeServer (included in the GemTools distribution) is compiled on the server and is then used to control the upgrade process.
Speaking of upgrading GLASS… If you are interested in doing a GLASS upgrade from a topaz script take a look at this page on the glassdb wiki has the most up-to-date instructions.
Help
Don’t forget that when you load GemTools into Pharo and Squeak, a set of Help Browser pages are created to provide the most up-to-date information on getting started with GemStone and the GemTools image.
Pharo
Before releasing 1.0-beta.8.5, I tried loading GemTools into some of the more recent Pharo releases, like Pharo 1.3 and Pharo 1.2, but unfortunately the OmniBrowser implementation in those images is incompatible with the OmniBrowser required for GemTools. The latest version of Pharo that I found that works with GemTools is Pharo1.1.2-11422.
Squeak VM versions
While we’re on the subject, you should also be aware that in order to connect to GemStone, you must use an older version of the Squeak vms (4.2.2 or older) to avoid an FFI bug. For more details, see Issue 258.
—–
http://www.flickr.com/photos/nhankamer/5616046050 / CC BY-NC 2.0
Kaliningrad oblast (sometimes called Yantarny krai which means “The amber region”) is located on the coast of the Baltic sea and is the site of the world’s largest amber deposits.
Kaliningrad Project
I created the Kaliningrad project because I want to use Monticello to manage the code that I write in Amber.
Kaliningrad automatically maps Amber package names to Monticello package names, so Kaliningrad is pretty easy to use.
Kaliningrad is based on Seaside 3.0 and uses the Seaside File Library and the Seaside-REST package to serve and store the Amber .js and .st files.
To load Kaliningrad execute the following expression:
Gofer new url: 'http://ss3.gemstone.com/ss/Kaliningrad'; package: 'ConfigurationOfKaliningrad'; load. ((Smalltalk at: #ConfigurationOfKaliningrad) project version: '0.1') load.
The Kaliningrad configuration loads only the most basic packages for Seaside 3.0, so you’ll need to load up one of the adaptors (Swazoo, Comanche, or Zinc) before you can connect.
Using Kaliningrad
Once you’ve got the Seaside server running, hit (user/password : admin/tool):
http://localhost:8080/tools/amber-browser
to bring up the Amber Browser:
If you want save your Amber code into a Monticello package follow these steps:
- Create an Amber package (‘tODE-AmberClient’) in the Amber Browser.
- Create a Monticello package with the same name (‘tODE-AmberClient’) using the Monticello Browser in your image.
- Register the Monticello package with the KOAmberBrowser class:
KOAmberBrowser addMonticelloPackage: 'tODE-AmberClient'
Thereafter, when you hit the Commit package button for ‘tODE-AmberClient’ in the Amber Browser, the .js and .st source will be saved in the ‘tODE-AmberClient’ Monticello package.
Thats it!
The class KOAmberBrowser is also a good example for how to integrate Amber code into a Seaside component.
Importing classes into Amber
If you want to import a class from your Smalltalk image into Amber, you can evaluate an expression like the following in an Amber workspace:
KOImporter importClass: 'TOSession' intoModule: 'tODE-Amber'
Be aware that there are differences between Amber Smalltalk and other Smalltalk implementations (see the section entitled Differences with other Smalltalk implementations on the Amber documentation page). KOImporter does not check for correctness.
Summary
Kaliningrad 0.1 is based on Amber 0.9.
I’ve been using Kaliningrad with Pharo for a couple of weeks now, but the code should run in GemStone and Squeak.
If you run into problems, let me know.
—–
[1] Photo by http://www.flickr.com/photos/paul_garland/5133520694 / CC BY-SA 2.0